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
@@ -16,6 +16,7 @@
          callback_eval,
          callback_finalize,
          callback_get_forward,
+         callback_get_forward_new,
          callback_get_jacobian,
          callback_get_n_forward,
          callback_get_n_in,
@@ -24,6 +25,7 @@
          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_jacobian,
@@ -252,6 +254,43 @@
 
 
 -- 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
+  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_forward_new 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
+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)
+
+
+-- 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')
 
@@ -479,6 +518,43 @@
 -- classy wrapper
 callback_get_reverse :: CallbackClass a => a -> String -> Int -> 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')
+
+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
+  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'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  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
+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)
 
 
 -- direct wrapper
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
@@ -15,8 +15,7 @@
          codeGenerator_addInclude__0,
          codeGenerator_addInclude__1,
          codeGenerator_addInclude__2,
-         codeGenerator_compile__0,
-         codeGenerator_compile__1,
+         codeGenerator_dump,
          codeGenerator_generate__0,
          codeGenerator_generate__1,
        ) where
@@ -41,55 +40,57 @@
 import Casadi.Core.Enums
 -- direct wrapper
 foreign import ccall unsafe "casadi__CodeGenerator__CONSTRUCTOR__0" c_casadi__CodeGenerator__CONSTRUCTOR__0
-  :: Ptr (Ptr StdString) -> IO (Ptr CodeGenerator')
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr CodeGenerator')
 
 casadi__CodeGenerator__CONSTRUCTOR__0
-  :: IO CodeGenerator
-casadi__CodeGenerator__CONSTRUCTOR__0  = do
-
+  :: String -> IO CodeGenerator
+casadi__CodeGenerator__CONSTRUCTOR__0 x0 = do
+  x0' <- marshal x0
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__CodeGenerator__CONSTRUCTOR__0 errStrPtrP 
+  ret0 <- c_casadi__CodeGenerator__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
-codeGenerator__0 :: IO CodeGenerator
+codeGenerator__0 :: String -> IO CodeGenerator
 codeGenerator__0 = casadi__CodeGenerator__CONSTRUCTOR__0
 
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__CodeGenerator__CONSTRUCTOR__1" c_casadi__CodeGenerator__CONSTRUCTOR__1
-  :: Ptr (Ptr StdString) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr CodeGenerator')
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr CodeGenerator')
 
 casadi__CodeGenerator__CONSTRUCTOR__1
-  :: M.Map String GenericType -> IO CodeGenerator
-casadi__CodeGenerator__CONSTRUCTOR__1 x0 = do
+  :: String -> M.Map String GenericType -> IO CodeGenerator
+casadi__CodeGenerator__CONSTRUCTOR__1 x0 x1 = do
   x0' <- marshal x0
+  x1' <- marshal x1
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__CodeGenerator__CONSTRUCTOR__1 errStrPtrP x0'
+  ret0 <- c_casadi__CodeGenerator__CONSTRUCTOR__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
-codeGenerator__1 :: M.Map String GenericType -> IO CodeGenerator
+codeGenerator__1 :: String -> M.Map String GenericType -> IO CodeGenerator
 codeGenerator__1 = casadi__CodeGenerator__CONSTRUCTOR__1
 
 
@@ -216,63 +217,30 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__CodeGenerator__compile__0" c_casadi__CodeGenerator__compile__0
-  :: Ptr (Ptr StdString) -> Ptr CodeGenerator' -> Ptr StdString -> IO (Ptr StdString)
+foreign import ccall unsafe "casadi__CodeGenerator__dump" c_casadi__CodeGenerator__dump
+  :: Ptr (Ptr StdString) -> Ptr CodeGenerator' -> IO (Ptr StdString)
 
-casadi__CodeGenerator__compile__0
-  :: CodeGenerator -> String -> IO String
-casadi__CodeGenerator__compile__0 x0 x1 = do
+casadi__CodeGenerator__dump
+  :: CodeGenerator -> IO String
+casadi__CodeGenerator__dump x0 = do
   x0' <- marshal x0
-  x1' <- marshal x1
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__CodeGenerator__compile__0 errStrPtrP x0' x1'
+  ret0 <- c_casadi__CodeGenerator__dump errStrPtrP x0'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
   ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
 
   marshalFree x0 x0'
-  marshalFree x1 x1'
 
   return ret
 
 
 
 -- classy wrapper
-codeGenerator_compile__0 :: CodeGeneratorClass a => a -> String -> IO String
-codeGenerator_compile__0 x = casadi__CodeGenerator__compile__0 (castCodeGenerator x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__CodeGenerator__compile__1" c_casadi__CodeGenerator__compile__1
-  :: Ptr (Ptr StdString) -> Ptr CodeGenerator' -> Ptr StdString -> Ptr StdString -> IO (Ptr StdString)
-
-casadi__CodeGenerator__compile__1
-  :: CodeGenerator -> String -> String -> IO String
-casadi__CodeGenerator__compile__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__CodeGenerator__compile__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
-codeGenerator_compile__1 :: CodeGeneratorClass a => a -> String -> String -> IO String
-codeGenerator_compile__1 x = casadi__CodeGenerator__compile__1 (castCodeGenerator x)
+codeGenerator_dump :: CodeGeneratorClass a => a -> IO String
+codeGenerator_dump x = casadi__CodeGenerator__dump (castCodeGenerator x)
 
 
 -- direct wrapper
@@ -304,10 +272,10 @@
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__CodeGenerator__generate__1" c_casadi__CodeGenerator__generate__1
-  :: Ptr (Ptr StdString) -> Ptr CodeGenerator' -> Ptr StdString -> IO ()
+  :: Ptr (Ptr StdString) -> Ptr CodeGenerator' -> Ptr StdString -> IO (Ptr StdString)
 
 casadi__CodeGenerator__generate__1
-  :: CodeGenerator -> String -> IO ()
+  :: CodeGenerator -> String -> IO String
 casadi__CodeGenerator__generate__1 x0 x1 = do
   x0' <- marshal x0
   x1' <- marshal x1
@@ -317,16 +285,16 @@
   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
-codeGenerator_generate__1 :: CodeGeneratorClass a => a -> String -> IO ()
+codeGenerator_generate__1 :: CodeGeneratorClass a => a -> String -> IO String
 codeGenerator_generate__1 x = casadi__CodeGenerator__generate__1 (castCodeGenerator x)
 
diff --git a/Casadi/Core/Classes/Compiler.hs b/Casadi/Core/Classes/Compiler.hs
deleted file mode 100644
--- a/Casadi/Core/Classes/Compiler.hs
+++ /dev/null
@@ -1,232 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Core.Classes.Compiler
-       (
-         Compiler,
-         CompilerClass(..),
-         compiler__0,
-         compiler__1,
-         compiler__2,
-         compiler_doc,
-         compiler_hasPlugin,
-         compiler_loadPlugin,
-         compiler_plugin_name,
-       ) 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__Compiler__CONSTRUCTOR__0" c_casadi__Compiler__CONSTRUCTOR__0
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> IO (Ptr Compiler')
-
-casadi__Compiler__CONSTRUCTOR__0
-  :: String -> String -> IO Compiler
-casadi__Compiler__CONSTRUCTOR__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Compiler__CONSTRUCTOR__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
-compiler__0 :: String -> String -> IO Compiler
-compiler__0 = casadi__Compiler__CONSTRUCTOR__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Compiler__CONSTRUCTOR__1" c_casadi__Compiler__CONSTRUCTOR__1
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Compiler')
-
-casadi__Compiler__CONSTRUCTOR__1
-  :: String -> String -> M.Map String GenericType -> IO Compiler
-casadi__Compiler__CONSTRUCTOR__1 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Compiler__CONSTRUCTOR__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
-compiler__1 :: String -> String -> M.Map String GenericType -> IO Compiler
-compiler__1 = casadi__Compiler__CONSTRUCTOR__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Compiler__CONSTRUCTOR__2" c_casadi__Compiler__CONSTRUCTOR__2
-  :: Ptr (Ptr StdString) -> IO (Ptr Compiler')
-
-casadi__Compiler__CONSTRUCTOR__2
-  :: IO Compiler
-casadi__Compiler__CONSTRUCTOR__2  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Compiler__CONSTRUCTOR__2 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-compiler__2 :: IO Compiler
-compiler__2 = casadi__Compiler__CONSTRUCTOR__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Compiler__doc" c_casadi__Compiler__doc
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr StdString)
-
-casadi__Compiler__doc
-  :: String -> IO String
-casadi__Compiler__doc x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Compiler__doc errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-compiler_doc :: String -> IO String
-compiler_doc = casadi__Compiler__doc
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Compiler__hasPlugin" c_casadi__Compiler__hasPlugin
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
-
-casadi__Compiler__hasPlugin
-  :: String -> IO Bool
-casadi__Compiler__hasPlugin x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Compiler__hasPlugin errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ret
-
-
-
--- classy wrapper
-compiler_hasPlugin :: String -> IO Bool
-compiler_hasPlugin = casadi__Compiler__hasPlugin
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Compiler__loadPlugin" c_casadi__Compiler__loadPlugin
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO ()
-
-casadi__Compiler__loadPlugin
-  :: String -> IO ()
-casadi__Compiler__loadPlugin x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Compiler__loadPlugin errStrPtrP x0'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-compiler_loadPlugin :: String -> IO ()
-compiler_loadPlugin = casadi__Compiler__loadPlugin
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Compiler__plugin_name" c_casadi__Compiler__plugin_name
-  :: Ptr (Ptr StdString) -> Ptr Compiler' -> IO (Ptr StdString)
-
-casadi__Compiler__plugin_name
-  :: Compiler -> IO String
-casadi__Compiler__plugin_name x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Compiler__plugin_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
-compiler_plugin_name :: CompilerClass a => a -> IO String
-compiler_plugin_name x = casadi__Compiler__plugin_name (castCompiler x)
-
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
@@ -47,6 +47,7 @@
          dm_get__5,
          dm_get__6,
          dm_get_colind,
+         dm_get_free,
          dm_get_input,
          dm_get_nonzeros,
          dm_get_nz__0,
@@ -219,10 +220,10 @@
 import Casadi.Core.Enums
 -- direct wrapper
 foreign import ccall unsafe "casadi__DM__CONSTRUCTOR__0" c_casadi__DM__CONSTRUCTOR__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SXElem')) -> IO (Ptr DM')
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr DM')
 
 casadi__DM__CONSTRUCTOR__0
-  :: Vector SXElem -> IO DM
+  :: SX -> IO DM
 casadi__DM__CONSTRUCTOR__0 x0 = do
   x0' <- marshal x0
 
@@ -240,16 +241,16 @@
 
 
 -- classy wrapper
-dm__0 :: Vector SXElem -> IO DM
+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 SX' -> IO (Ptr DM')
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SXElem')) -> IO (Ptr DM')
 
 casadi__DM__CONSTRUCTOR__1
-  :: SX -> IO DM
+  :: Vector SXElem -> IO DM
 casadi__DM__CONSTRUCTOR__1 x0 = do
   x0' <- marshal x0
 
@@ -267,16 +268,16 @@
 
 
 -- classy wrapper
-dm__1 :: SX -> IO DM
+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 (StdVec CInt) -> IO (Ptr DM')
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr DM')
 
 casadi__DM__CONSTRUCTOR__2
-  :: Vector Int -> IO DM
+  :: IM -> IO DM
 casadi__DM__CONSTRUCTOR__2 x0 = do
   x0' <- marshal x0
 
@@ -294,16 +295,16 @@
 
 
 -- classy wrapper
-dm__2 :: Vector Int -> IO DM
+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 IM' -> IO (Ptr DM')
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO (Ptr DM')
 
 casadi__DM__CONSTRUCTOR__3
-  :: IM -> IO DM
+  :: Vector Int -> IO DM
 casadi__DM__CONSTRUCTOR__3 x0 = do
   x0' <- marshal x0
 
@@ -321,7 +322,7 @@
 
 
 -- classy wrapper
-dm__3 :: IM -> IO DM
+dm__3 :: Vector Int -> IO DM
 dm__3 = casadi__DM__CONSTRUCTOR__3
 
 
@@ -1297,6 +1298,33 @@
 -- 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
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
@@ -23,8332 +23,7906 @@
          function__7,
          function__8,
          function__9,
-         function_addMonitor,
-         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_default_in,
-         function_derivative__0,
-         function_derivative__1,
-         function_derivative__2,
-         function_derivative__3,
-         function_derivative__4,
-         function_derivative__5,
-         function_derivative__6,
-         function_derivative__7,
-         function_derivative__8,
-         function_derivative__9,
-         function_expand__0,
-         function_expand__1,
-         function_expand__2,
-         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_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_gradient__0,
-         function_gradient__1,
-         function_gradient__2,
-         function_gradient__3,
-         function_gradient__4,
-         function_gradient__5,
-         function_gradient__6,
-         function_has_free,
-         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_integrator_dae,
-         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_kernel_sum__0,
-         function_kernel_sum__1,
-         function_linsol_cholesky__0,
-         function_linsol_cholesky__1,
-         function_linsol_cholesky__2,
-         function_linsol_cholesky_sparsity__0,
-         function_linsol_cholesky_sparsity__1,
-         function_linsol_cholesky_sparsity__2,
-         function_linsol_solve__0,
-         function_linsol_solve__1,
-         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_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_printDimensions,
-         function_printOption,
-         function_printOptions,
-         function_qpsol_debug,
-         function_release,
-         function_removeMonitor,
-         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_rootfinder_fun,
-         function_rootfinder_jac,
-         function_rootfinder_linsol,
-         function_setFullJacobian,
-         function_setJacobian__0,
-         function_setJacobian__1,
-         function_setJacobian__2,
-         function_setJacobian__3,
-         function_set_forward,
-         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_set_reverse,
-         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,
-       ) 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__addMonitor" c_casadi__Function__addMonitor
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO ()
-
-casadi__Function__addMonitor
-  :: Function -> String -> IO ()
-casadi__Function__addMonitor x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__addMonitor 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_addMonitor :: FunctionClass a => a -> String -> IO ()
-function_addMonitor x = casadi__Function__addMonitor (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__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 safe "casadi__Function__derivative__0" c_casadi__Function__derivative__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> IO (Ptr Function')
-
-casadi__Function__derivative__0
-  :: Function -> Int -> Int -> IO Function
-casadi__Function__derivative__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__derivative__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_derivative__0 :: FunctionClass a => a -> Int -> Int -> IO Function
-function_derivative__0 x = casadi__Function__derivative__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__derivative__1" c_casadi__Function__derivative__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr MX')) -> Ptr (Ptr (StdVec (Ptr MX'))) -> Ptr (StdVec (Ptr (StdVec (Ptr MX')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr MX'))))) -> Ptr (StdVec (Ptr (StdVec (Ptr MX')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr MX'))))) -> IO ()
-
-casadi__Function__derivative__1
-  :: Function -> Vector MX -> Vector (Vector MX) -> Vector (Vector MX) -> IO (Vector MX, Vector (Vector MX), Vector (Vector MX))
-casadi__Function__derivative__1 x0 x1 x3 x5 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  o2' <- new nullPtr
-  x3' <- marshal x3
-  o4' <- new nullPtr
-  x5' <- marshal x5
-  o6' <- new nullPtr
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__derivative__1 errStrPtrP x0' x1' o2' x3' o4' x5' o6'
-  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__derivative__1/c_casadi__Function__derivative__1" else wrapReturn o2''
-  marshalFree x3 x3'
-  o4'' <- peek o4'
-  free o4'
-  o4''' <- if o4'' == nullPtr then error "swig output o4' was not set in casadi__Function__derivative__1/c_casadi__Function__derivative__1" else wrapReturn o4''
-  marshalFree x5 x5'
-  o6'' <- peek o6'
-  free o6'
-  o6''' <- if o6'' == nullPtr then error "swig output o6' was not set in casadi__Function__derivative__1/c_casadi__Function__derivative__1" else wrapReturn o6''
-
-  return (o2''', o4''', o6''')
-
-
-
--- classy wrapper
-function_derivative__1 :: FunctionClass a => a -> Vector MX -> Vector (Vector MX) -> Vector (Vector MX) -> IO (Vector MX, Vector (Vector MX), Vector (Vector MX))
-function_derivative__1 x = casadi__Function__derivative__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__derivative__2" c_casadi__Function__derivative__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr MX')) -> Ptr (Ptr (StdVec (Ptr MX'))) -> Ptr (StdVec (Ptr (StdVec (Ptr MX')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr MX'))))) -> Ptr (StdVec (Ptr (StdVec (Ptr MX')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr MX'))))) -> CInt -> IO ()
-
-casadi__Function__derivative__2
-  :: Function -> Vector MX -> Vector (Vector MX) -> Vector (Vector MX) -> Bool -> IO (Vector MX, Vector (Vector MX), Vector (Vector MX))
-casadi__Function__derivative__2 x0 x1 x3 x5 x7 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  o2' <- new nullPtr
-  x3' <- marshal x3
-  o4' <- new nullPtr
-  x5' <- marshal x5
-  o6' <- new nullPtr
-  x7' <- marshal x7
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__derivative__2 errStrPtrP x0' x1' o2' x3' o4' x5' o6' x7'
-  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__derivative__2/c_casadi__Function__derivative__2" else wrapReturn o2''
-  marshalFree x3 x3'
-  o4'' <- peek o4'
-  free o4'
-  o4''' <- if o4'' == nullPtr then error "swig output o4' was not set in casadi__Function__derivative__2/c_casadi__Function__derivative__2" else wrapReturn o4''
-  marshalFree x5 x5'
-  o6'' <- peek o6'
-  free o6'
-  o6''' <- if o6'' == nullPtr then error "swig output o6' was not set in casadi__Function__derivative__2/c_casadi__Function__derivative__2" else wrapReturn o6''
-  marshalFree x7 x7'
-
-  return (o2''', o4''', o6''')
-
-
-
--- classy wrapper
-function_derivative__2 :: FunctionClass a => a -> Vector MX -> Vector (Vector MX) -> Vector (Vector MX) -> Bool -> IO (Vector MX, Vector (Vector MX), Vector (Vector MX))
-function_derivative__2 x = casadi__Function__derivative__2 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__derivative__3" c_casadi__Function__derivative__3
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr MX')) -> Ptr (Ptr (StdVec (Ptr MX'))) -> Ptr (StdVec (Ptr (StdVec (Ptr MX')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr MX'))))) -> Ptr (StdVec (Ptr (StdVec (Ptr MX')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr MX'))))) -> CInt -> CInt -> IO ()
-
-casadi__Function__derivative__3
-  :: Function -> Vector MX -> Vector (Vector MX) -> Vector (Vector MX) -> Bool -> Bool -> IO (Vector MX, Vector (Vector MX), Vector (Vector MX))
-casadi__Function__derivative__3 x0 x1 x3 x5 x7 x8 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  o2' <- new nullPtr
-  x3' <- marshal x3
-  o4' <- new nullPtr
-  x5' <- marshal x5
-  o6' <- new nullPtr
-  x7' <- marshal x7
-  x8' <- marshal x8
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__derivative__3 errStrPtrP x0' x1' o2' x3' o4' x5' o6' x7' x8'
-  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__derivative__3/c_casadi__Function__derivative__3" else wrapReturn o2''
-  marshalFree x3 x3'
-  o4'' <- peek o4'
-  free o4'
-  o4''' <- if o4'' == nullPtr then error "swig output o4' was not set in casadi__Function__derivative__3/c_casadi__Function__derivative__3" else wrapReturn o4''
-  marshalFree x5 x5'
-  o6'' <- peek o6'
-  free o6'
-  o6''' <- if o6'' == nullPtr then error "swig output o6' was not set in casadi__Function__derivative__3/c_casadi__Function__derivative__3" else wrapReturn o6''
-  marshalFree x7 x7'
-  marshalFree x8 x8'
-
-  return (o2''', o4''', o6''')
-
-
-
--- classy wrapper
-function_derivative__3 :: FunctionClass a => a -> Vector MX -> Vector (Vector MX) -> Vector (Vector MX) -> Bool -> Bool -> IO (Vector MX, Vector (Vector MX), Vector (Vector MX))
-function_derivative__3 x = casadi__Function__derivative__3 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__derivative__4" c_casadi__Function__derivative__4
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr SX')) -> Ptr (Ptr (StdVec (Ptr SX'))) -> Ptr (StdVec (Ptr (StdVec (Ptr SX')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr SX'))))) -> Ptr (StdVec (Ptr (StdVec (Ptr SX')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr SX'))))) -> IO ()
-
-casadi__Function__derivative__4
-  :: Function -> Vector SX -> Vector (Vector SX) -> Vector (Vector SX) -> IO (Vector SX, Vector (Vector SX), Vector (Vector SX))
-casadi__Function__derivative__4 x0 x1 x3 x5 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  o2' <- new nullPtr
-  x3' <- marshal x3
-  o4' <- new nullPtr
-  x5' <- marshal x5
-  o6' <- new nullPtr
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__derivative__4 errStrPtrP x0' x1' o2' x3' o4' x5' o6'
-  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__derivative__4/c_casadi__Function__derivative__4" else wrapReturn o2''
-  marshalFree x3 x3'
-  o4'' <- peek o4'
-  free o4'
-  o4''' <- if o4'' == nullPtr then error "swig output o4' was not set in casadi__Function__derivative__4/c_casadi__Function__derivative__4" else wrapReturn o4''
-  marshalFree x5 x5'
-  o6'' <- peek o6'
-  free o6'
-  o6''' <- if o6'' == nullPtr then error "swig output o6' was not set in casadi__Function__derivative__4/c_casadi__Function__derivative__4" else wrapReturn o6''
-
-  return (o2''', o4''', o6''')
-
-
-
--- classy wrapper
-function_derivative__4 :: FunctionClass a => a -> Vector SX -> Vector (Vector SX) -> Vector (Vector SX) -> IO (Vector SX, Vector (Vector SX), Vector (Vector SX))
-function_derivative__4 x = casadi__Function__derivative__4 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__derivative__5" c_casadi__Function__derivative__5
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr SX')) -> Ptr (Ptr (StdVec (Ptr SX'))) -> Ptr (StdVec (Ptr (StdVec (Ptr SX')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr SX'))))) -> Ptr (StdVec (Ptr (StdVec (Ptr SX')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr SX'))))) -> CInt -> IO ()
-
-casadi__Function__derivative__5
-  :: Function -> Vector SX -> Vector (Vector SX) -> Vector (Vector SX) -> Bool -> IO (Vector SX, Vector (Vector SX), Vector (Vector SX))
-casadi__Function__derivative__5 x0 x1 x3 x5 x7 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  o2' <- new nullPtr
-  x3' <- marshal x3
-  o4' <- new nullPtr
-  x5' <- marshal x5
-  o6' <- new nullPtr
-  x7' <- marshal x7
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__derivative__5 errStrPtrP x0' x1' o2' x3' o4' x5' o6' x7'
-  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__derivative__5/c_casadi__Function__derivative__5" else wrapReturn o2''
-  marshalFree x3 x3'
-  o4'' <- peek o4'
-  free o4'
-  o4''' <- if o4'' == nullPtr then error "swig output o4' was not set in casadi__Function__derivative__5/c_casadi__Function__derivative__5" else wrapReturn o4''
-  marshalFree x5 x5'
-  o6'' <- peek o6'
-  free o6'
-  o6''' <- if o6'' == nullPtr then error "swig output o6' was not set in casadi__Function__derivative__5/c_casadi__Function__derivative__5" else wrapReturn o6''
-  marshalFree x7 x7'
-
-  return (o2''', o4''', o6''')
-
-
-
--- classy wrapper
-function_derivative__5 :: FunctionClass a => a -> Vector SX -> Vector (Vector SX) -> Vector (Vector SX) -> Bool -> IO (Vector SX, Vector (Vector SX), Vector (Vector SX))
-function_derivative__5 x = casadi__Function__derivative__5 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__derivative__6" c_casadi__Function__derivative__6
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr SX')) -> Ptr (Ptr (StdVec (Ptr SX'))) -> Ptr (StdVec (Ptr (StdVec (Ptr SX')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr SX'))))) -> Ptr (StdVec (Ptr (StdVec (Ptr SX')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr SX'))))) -> CInt -> CInt -> IO ()
-
-casadi__Function__derivative__6
-  :: Function -> Vector SX -> Vector (Vector SX) -> Vector (Vector SX) -> Bool -> Bool -> IO (Vector SX, Vector (Vector SX), Vector (Vector SX))
-casadi__Function__derivative__6 x0 x1 x3 x5 x7 x8 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  o2' <- new nullPtr
-  x3' <- marshal x3
-  o4' <- new nullPtr
-  x5' <- marshal x5
-  o6' <- new nullPtr
-  x7' <- marshal x7
-  x8' <- marshal x8
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__derivative__6 errStrPtrP x0' x1' o2' x3' o4' x5' o6' x7' x8'
-  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__derivative__6/c_casadi__Function__derivative__6" else wrapReturn o2''
-  marshalFree x3 x3'
-  o4'' <- peek o4'
-  free o4'
-  o4''' <- if o4'' == nullPtr then error "swig output o4' was not set in casadi__Function__derivative__6/c_casadi__Function__derivative__6" else wrapReturn o4''
-  marshalFree x5 x5'
-  o6'' <- peek o6'
-  free o6'
-  o6''' <- if o6'' == nullPtr then error "swig output o6' was not set in casadi__Function__derivative__6/c_casadi__Function__derivative__6" else wrapReturn o6''
-  marshalFree x7 x7'
-  marshalFree x8 x8'
-
-  return (o2''', o4''', o6''')
-
-
-
--- classy wrapper
-function_derivative__6 :: FunctionClass a => a -> Vector SX -> Vector (Vector SX) -> Vector (Vector SX) -> Bool -> Bool -> IO (Vector SX, Vector (Vector SX), Vector (Vector SX))
-function_derivative__6 x = casadi__Function__derivative__6 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__derivative__7" c_casadi__Function__derivative__7
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr DM')) -> Ptr (Ptr (StdVec (Ptr DM'))) -> Ptr (StdVec (Ptr (StdVec (Ptr DM')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr DM'))))) -> Ptr (StdVec (Ptr (StdVec (Ptr DM')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr DM'))))) -> IO ()
-
-casadi__Function__derivative__7
-  :: Function -> Vector DM -> Vector (Vector DM) -> Vector (Vector DM) -> IO (Vector DM, Vector (Vector DM), Vector (Vector DM))
-casadi__Function__derivative__7 x0 x1 x3 x5 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  o2' <- new nullPtr
-  x3' <- marshal x3
-  o4' <- new nullPtr
-  x5' <- marshal x5
-  o6' <- new nullPtr
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__derivative__7 errStrPtrP x0' x1' o2' x3' o4' x5' o6'
-  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__derivative__7/c_casadi__Function__derivative__7" else wrapReturn o2''
-  marshalFree x3 x3'
-  o4'' <- peek o4'
-  free o4'
-  o4''' <- if o4'' == nullPtr then error "swig output o4' was not set in casadi__Function__derivative__7/c_casadi__Function__derivative__7" else wrapReturn o4''
-  marshalFree x5 x5'
-  o6'' <- peek o6'
-  free o6'
-  o6''' <- if o6'' == nullPtr then error "swig output o6' was not set in casadi__Function__derivative__7/c_casadi__Function__derivative__7" else wrapReturn o6''
-
-  return (o2''', o4''', o6''')
-
-
-
--- classy wrapper
-function_derivative__7 :: FunctionClass a => a -> Vector DM -> Vector (Vector DM) -> Vector (Vector DM) -> IO (Vector DM, Vector (Vector DM), Vector (Vector DM))
-function_derivative__7 x = casadi__Function__derivative__7 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__derivative__8" c_casadi__Function__derivative__8
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr DM')) -> Ptr (Ptr (StdVec (Ptr DM'))) -> Ptr (StdVec (Ptr (StdVec (Ptr DM')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr DM'))))) -> Ptr (StdVec (Ptr (StdVec (Ptr DM')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr DM'))))) -> CInt -> IO ()
-
-casadi__Function__derivative__8
-  :: Function -> Vector DM -> Vector (Vector DM) -> Vector (Vector DM) -> Bool -> IO (Vector DM, Vector (Vector DM), Vector (Vector DM))
-casadi__Function__derivative__8 x0 x1 x3 x5 x7 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  o2' <- new nullPtr
-  x3' <- marshal x3
-  o4' <- new nullPtr
-  x5' <- marshal x5
-  o6' <- new nullPtr
-  x7' <- marshal x7
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__derivative__8 errStrPtrP x0' x1' o2' x3' o4' x5' o6' x7'
-  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__derivative__8/c_casadi__Function__derivative__8" else wrapReturn o2''
-  marshalFree x3 x3'
-  o4'' <- peek o4'
-  free o4'
-  o4''' <- if o4'' == nullPtr then error "swig output o4' was not set in casadi__Function__derivative__8/c_casadi__Function__derivative__8" else wrapReturn o4''
-  marshalFree x5 x5'
-  o6'' <- peek o6'
-  free o6'
-  o6''' <- if o6'' == nullPtr then error "swig output o6' was not set in casadi__Function__derivative__8/c_casadi__Function__derivative__8" else wrapReturn o6''
-  marshalFree x7 x7'
-
-  return (o2''', o4''', o6''')
-
-
-
--- classy wrapper
-function_derivative__8 :: FunctionClass a => a -> Vector DM -> Vector (Vector DM) -> Vector (Vector DM) -> Bool -> IO (Vector DM, Vector (Vector DM), Vector (Vector DM))
-function_derivative__8 x = casadi__Function__derivative__8 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall safe "casadi__Function__derivative__9" c_casadi__Function__derivative__9
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr (StdVec (Ptr DM')) -> Ptr (Ptr (StdVec (Ptr DM'))) -> Ptr (StdVec (Ptr (StdVec (Ptr DM')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr DM'))))) -> Ptr (StdVec (Ptr (StdVec (Ptr DM')))) -> Ptr (Ptr (StdVec (Ptr (StdVec (Ptr DM'))))) -> CInt -> CInt -> IO ()
-
-casadi__Function__derivative__9
-  :: Function -> Vector DM -> Vector (Vector DM) -> Vector (Vector DM) -> Bool -> Bool -> IO (Vector DM, Vector (Vector DM), Vector (Vector DM))
-casadi__Function__derivative__9 x0 x1 x3 x5 x7 x8 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  o2' <- new nullPtr
-  x3' <- marshal x3
-  o4' <- new nullPtr
-  x5' <- marshal x5
-  o6' <- new nullPtr
-  x7' <- marshal x7
-  x8' <- marshal x8
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__derivative__9 errStrPtrP x0' x1' o2' x3' o4' x5' o6' x7' x8'
-  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__derivative__9/c_casadi__Function__derivative__9" else wrapReturn o2''
-  marshalFree x3 x3'
-  o4'' <- peek o4'
-  free o4'
-  o4''' <- if o4'' == nullPtr then error "swig output o4' was not set in casadi__Function__derivative__9/c_casadi__Function__derivative__9" else wrapReturn o4''
-  marshalFree x5 x5'
-  o6'' <- peek o6'
-  free o6'
-  o6''' <- if o6'' == nullPtr then error "swig output o6' was not set in casadi__Function__derivative__9/c_casadi__Function__derivative__9" else wrapReturn o6''
-  marshalFree x7 x7'
-  marshalFree x8 x8'
-
-  return (o2''', o4''', o6''')
-
-
-
--- classy wrapper
-function_derivative__9 :: FunctionClass a => a -> Vector DM -> Vector (Vector DM) -> Vector (Vector DM) -> Bool -> Bool -> IO (Vector DM, Vector (Vector DM), Vector (Vector DM))
-function_derivative__9 x = casadi__Function__derivative__9 (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__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__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 SX')
-
-casadi__Function__free_sx
-  :: Function -> IO 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 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 ()
-
-casadi__Function__generate__0
-  :: Function -> IO ()
-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
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-
-  return ()
-
-
-
--- classy wrapper
-function_generate__0 :: FunctionClass a => a -> IO ()
-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 ()
-
-casadi__Function__generate__1
-  :: Function -> M.Map String GenericType -> IO ()
-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
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ()
-
-
-
--- classy wrapper
-function_generate__1 :: FunctionClass a => a -> M.Map String GenericType -> IO ()
-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 ()
-
-casadi__Function__generate__2
-  :: Function -> String -> IO ()
-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
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ()
-
-
-
--- classy wrapper
-function_generate__2 :: FunctionClass a => a -> String -> IO ()
-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 ()
-
-casadi__Function__generate__3
-  :: Function -> String -> M.Map String GenericType -> IO ()
-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
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ()
-
-
-
--- classy wrapper
-function_generate__3 :: FunctionClass a => a -> String -> M.Map String GenericType -> IO ()
-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 ()
-
-casadi__Function__generate_dependencies__0
-  :: Function -> String -> IO ()
-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
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ()
-
-
-
--- classy wrapper
-function_generate_dependencies__0 :: FunctionClass a => a -> String -> IO ()
-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 ()
-
-casadi__Function__generate_dependencies__1
-  :: Function -> String -> M.Map String GenericType -> IO ()
-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
-
-  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-  marshalFree x2 x2'
-
-  return ()
-
-
-
--- classy wrapper
-function_generate_dependencies__1 :: FunctionClass a => a -> String -> M.Map String GenericType -> IO ()
-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 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 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__integrator_dae" c_casadi__Function__integrator_dae
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr Function')
-
-casadi__Function__integrator_dae
-  :: Function -> IO Function
-casadi__Function__integrator_dae x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__integrator_dae errStrPtrP x0'
-  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_integrator_dae :: FunctionClass a => a -> IO Function
-function_integrator_dae x = casadi__Function__integrator_dae (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__kernel_sum__0" c_casadi__Function__kernel_sum__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr (StdPair CInt CInt) -> CDouble -> CInt -> IO (Ptr Function')
-
-casadi__Function__kernel_sum__0
-  :: Function -> String -> (Int, Int) -> Double -> Int -> IO Function
-casadi__Function__kernel_sum__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__kernel_sum__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_kernel_sum__0 :: FunctionClass a => a -> String -> (Int, Int) -> Double -> Int -> IO Function
-function_kernel_sum__0 x = casadi__Function__kernel_sum__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__kernel_sum__1" c_casadi__Function__kernel_sum__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> Ptr (StdPair CInt CInt) -> CDouble -> CInt -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-casadi__Function__kernel_sum__1
-  :: Function -> String -> (Int, Int) -> Double -> Int -> M.Map String GenericType -> IO Function
-casadi__Function__kernel_sum__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__kernel_sum__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_kernel_sum__1 :: FunctionClass a => a -> String -> (Int, Int) -> Double -> Int -> M.Map String GenericType -> IO Function
-function_kernel_sum__1 x = casadi__Function__kernel_sum__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__linsol_cholesky__0" c_casadi__Function__linsol_cholesky__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr DM')
-
-casadi__Function__linsol_cholesky__0
-  :: Function -> IO DM
-casadi__Function__linsol_cholesky__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__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
-function_linsol_cholesky__0 :: FunctionClass a => a -> IO DM
-function_linsol_cholesky__0 x = casadi__Function__linsol_cholesky__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__linsol_cholesky__1" c_casadi__Function__linsol_cholesky__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr DM')
-
-casadi__Function__linsol_cholesky__1
-  :: Function -> Bool -> IO DM
-casadi__Function__linsol_cholesky__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__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
-function_linsol_cholesky__1 :: FunctionClass a => a -> Bool -> IO DM
-function_linsol_cholesky__1 x = casadi__Function__linsol_cholesky__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__linsol_cholesky__2" c_casadi__Function__linsol_cholesky__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> IO (Ptr DM')
-
-casadi__Function__linsol_cholesky__2
-  :: Function -> Bool -> Int -> IO DM
-casadi__Function__linsol_cholesky__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__linsol_cholesky__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
-function_linsol_cholesky__2 :: FunctionClass a => a -> Bool -> Int -> IO DM
-function_linsol_cholesky__2 x = casadi__Function__linsol_cholesky__2 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__linsol_cholesky_sparsity__0" c_casadi__Function__linsol_cholesky_sparsity__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr Sparsity')
-
-casadi__Function__linsol_cholesky_sparsity__0
-  :: Function -> IO Sparsity
-casadi__Function__linsol_cholesky_sparsity__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__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
-function_linsol_cholesky_sparsity__0 :: FunctionClass a => a -> IO Sparsity
-function_linsol_cholesky_sparsity__0 x = casadi__Function__linsol_cholesky_sparsity__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__linsol_cholesky_sparsity__1" c_casadi__Function__linsol_cholesky_sparsity__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> IO (Ptr Sparsity')
-
-casadi__Function__linsol_cholesky_sparsity__1
-  :: Function -> Bool -> IO Sparsity
-casadi__Function__linsol_cholesky_sparsity__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__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
-function_linsol_cholesky_sparsity__1 :: FunctionClass a => a -> Bool -> IO Sparsity
-function_linsol_cholesky_sparsity__1 x = casadi__Function__linsol_cholesky_sparsity__1 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__linsol_cholesky_sparsity__2" c_casadi__Function__linsol_cholesky_sparsity__2
-  :: Ptr (Ptr StdString) -> Ptr Function' -> CInt -> CInt -> IO (Ptr Sparsity')
-
-casadi__Function__linsol_cholesky_sparsity__2
-  :: Function -> Bool -> Int -> IO Sparsity
-casadi__Function__linsol_cholesky_sparsity__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__linsol_cholesky_sparsity__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
-function_linsol_cholesky_sparsity__2 :: FunctionClass a => a -> Bool -> Int -> IO Sparsity
-function_linsol_cholesky_sparsity__2 x = casadi__Function__linsol_cholesky_sparsity__2 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__linsol_solve__0" c_casadi__Function__linsol_solve__0
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr MX' -> Ptr MX' -> IO (Ptr MX')
-
-casadi__Function__linsol_solve__0
-  :: Function -> MX -> MX -> IO MX
-casadi__Function__linsol_solve__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__linsol_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
-
-
-
--- classy wrapper
-function_linsol_solve__0 :: FunctionClass a => a -> MX -> MX -> IO MX
-function_linsol_solve__0 x = casadi__Function__linsol_solve__0 (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__linsol_solve__1" c_casadi__Function__linsol_solve__1
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr MX' -> Ptr MX' -> CInt -> IO (Ptr MX')
-
-casadi__Function__linsol_solve__1
-  :: Function -> MX -> MX -> Bool -> IO MX
-casadi__Function__linsol_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__Function__linsol_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
-
-
-
--- classy wrapper
-function_linsol_solve__1 :: FunctionClass a => a -> MX -> MX -> Bool -> IO MX
-function_linsol_solve__1 x = casadi__Function__linsol_solve__1 (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 -> IO (Ptr Function')
-
-casadi__Function__map__0
-  :: Function -> String -> String -> Int -> IO Function
-casadi__Function__map__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__map__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_map__0 :: FunctionClass a => a -> String -> String -> Int -> 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 (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-casadi__Function__map__1
-  :: Function -> String -> String -> Int -> M.Map String GenericType -> IO Function
-casadi__Function__map__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__map__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_map__1 :: FunctionClass a => a -> String -> String -> Int -> 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 (StdMap StdString (Ptr MX')) -> IO (Ptr (StdMap StdString (Ptr MX')))
-
-casadi__Function__map__4
-  :: Function -> M.Map String MX -> IO (M.Map String MX)
-casadi__Function__map__4 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__map__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
-function_map__4 :: FunctionClass a => a -> M.Map String MX -> IO (M.Map String MX)
-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 (StdMap StdString (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdMap StdString (Ptr MX')))
-
-casadi__Function__map__5
-  :: Function -> M.Map String MX -> String -> IO (M.Map String MX)
-casadi__Function__map__5 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__map__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
-function_map__5 :: FunctionClass a => a -> M.Map String MX -> String -> IO (M.Map String MX)
-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' -> Ptr (StdVec (Ptr MX')) -> IO (Ptr (StdVec (Ptr MX')))
-
-casadi__Function__map__6
-  :: Function -> Vector MX -> IO (Vector MX)
-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 -> Vector MX -> IO (Vector MX)
-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' -> Ptr (StdVec (Ptr MX')) -> Ptr StdString -> IO (Ptr (StdVec (Ptr MX')))
-
-casadi__Function__map__7
-  :: Function -> Vector MX -> String -> IO (Vector MX)
-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 -> Vector MX -> String -> IO (Vector MX)
-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 CInt) -> Ptr (StdVec CInt) -> IO (Ptr Function')
-
-casadi__Function__mapaccum__0
-  :: Function -> String -> Int -> Vector Int -> Vector Int -> 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 Int -> Vector 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' -> Ptr StdString -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-casadi__Function__mapaccum__1
-  :: Function -> String -> Int -> Vector Int -> Vector Int -> 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 Int -> Vector 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 -> CInt -> IO (Ptr Function')
-
-casadi__Function__mapaccum__2
-  :: Function -> String -> Int -> IO Function
-casadi__Function__mapaccum__2 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__mapaccum__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
-function_mapaccum__2 :: FunctionClass a => a -> String -> 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 (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-casadi__Function__mapaccum__3
-  :: Function -> String -> Int -> M.Map String GenericType -> IO Function
-casadi__Function__mapaccum__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__mapaccum__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
-function_mapaccum__3 :: FunctionClass a => a -> String -> 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__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__printDimensions" c_casadi__Function__printDimensions
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO ()
-
-casadi__Function__printDimensions
-  :: Function -> IO ()
-casadi__Function__printDimensions x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__printDimensions 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_printDimensions :: FunctionClass a => a -> IO ()
-function_printDimensions x = casadi__Function__printDimensions (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__printOption" c_casadi__Function__printOption
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO ()
-
-casadi__Function__printOption
-  :: Function -> String -> IO ()
-casadi__Function__printOption x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__printOption 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_printOption :: FunctionClass a => a -> String -> IO ()
-function_printOption x = casadi__Function__printOption (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__printOptions" c_casadi__Function__printOptions
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO ()
-
-casadi__Function__printOptions
-  :: Function -> IO ()
-casadi__Function__printOptions x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__printOptions 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_printOptions :: FunctionClass a => a -> IO ()
-function_printOptions x = casadi__Function__printOptions (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__qpsol_debug" c_casadi__Function__qpsol_debug
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO ()
-
-casadi__Function__qpsol_debug
-  :: Function -> String -> IO ()
-casadi__Function__qpsol_debug x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__qpsol_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_qpsol_debug :: FunctionClass a => a -> String -> IO ()
-function_qpsol_debug x = casadi__Function__qpsol_debug (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__removeMonitor" c_casadi__Function__removeMonitor
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr StdString -> IO ()
-
-casadi__Function__removeMonitor
-  :: Function -> String -> IO ()
-casadi__Function__removeMonitor x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__removeMonitor 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_removeMonitor :: FunctionClass a => a -> String -> IO ()
-function_removeMonitor x = casadi__Function__removeMonitor (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__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__rootfinder_jac" c_casadi__Function__rootfinder_jac
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr Function')
-
-casadi__Function__rootfinder_jac
-  :: Function -> IO Function
-casadi__Function__rootfinder_jac x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__rootfinder_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_rootfinder_jac :: FunctionClass a => a -> IO Function
-function_rootfinder_jac x = casadi__Function__rootfinder_jac (castFunction x)
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Function__rootfinder_linsol" c_casadi__Function__rootfinder_linsol
-  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr Function')
-
-casadi__Function__rootfinder_linsol
-  :: Function -> IO Function
-casadi__Function__rootfinder_linsol x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__rootfinder_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
-
-
-
--- classy wrapper
-function_rootfinder_linsol :: FunctionClass a => a -> IO Function
-function_rootfinder_linsol x = casadi__Function__rootfinder_linsol (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_forward" c_casadi__Function__set_forward
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr Function' -> CInt -> IO ()
-
-casadi__Function__set_forward
-  :: Function -> Function -> Int -> IO ()
-casadi__Function__set_forward x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__set_forward 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_set_forward :: FunctionClass a => a -> Function -> Int -> IO ()
-function_set_forward x = casadi__Function__set_forward (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__set_reverse" c_casadi__Function__set_reverse
-  :: Ptr (Ptr StdString) -> Ptr Function' -> Ptr Function' -> CInt -> IO ()
-
-casadi__Function__set_reverse
-  :: Function -> Function -> Int -> IO ()
-casadi__Function__set_reverse x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__set_reverse 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_set_reverse :: FunctionClass a => a -> Function -> Int -> IO ()
-function_set_reverse x = casadi__Function__set_reverse (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 (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr Function')
-
-casadi__Function__slice__0
-  :: Function -> Vector Int -> Vector Int -> IO Function
-casadi__Function__slice__0 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Function__slice__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_slice__0 :: FunctionClass a => a -> 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 (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-casadi__Function__slice__1
-  :: Function -> Vector Int -> Vector Int -> M.Map String GenericType -> IO Function
-casadi__Function__slice__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__slice__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_slice__1 :: FunctionClass a => a -> 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)
+         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))
+
+casadi__Function__which_depends__2
+  :: Function -> String -> Vector String -> Int -> Bool -> IO (Vector Bool)
+casadi__Function__which_depends__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__which_depends__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_which_depends__2 :: FunctionClass a => a -> String -> Vector String -> Int -> Bool -> IO (Vector Bool)
+function_which_depends__2 x = casadi__Function__which_depends__2 (castFunction x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Function__wrap" c_casadi__Function__wrap
+  :: Ptr (Ptr StdString) -> Ptr Function' -> IO (Ptr Function')
+
+casadi__Function__wrap
+  :: Function -> IO Function
+casadi__Function__wrap x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Function__wrap errStrPtrP x0'
+  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_wrap :: FunctionClass a => a -> IO Function
+function_wrap x = casadi__Function__wrap (castFunction x)
 
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
@@ -22,6 +22,7 @@
          genericType__8,
          genericType__9,
          genericType_as_bool,
+         genericType_as_bool_vector,
          genericType_as_dict,
          genericType_as_double,
          genericType_as_double_vector,
@@ -35,6 +36,7 @@
          genericType_getType,
          genericType_get_description,
          genericType_is_bool,
+         genericType_is_bool_vector,
          genericType_is_dict,
          genericType_is_double,
          genericType_is_double_vector,
@@ -432,6 +434,33 @@
 
 
 -- 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))
+
+casadi__GenericType__as_bool_vector
+  :: GenericType -> IO (Vector Int)
+casadi__GenericType__as_bool_vector x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__GenericType__as_bool_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_bool_vector :: GenericTypeClass a => a -> IO (Vector Int)
+genericType_as_bool_vector x = casadi__GenericType__as_bool_vector (castGenericType x)
+
+
+-- direct wrapper
 foreign import ccall unsafe "casadi__GenericType__as_dict" c_casadi__GenericType__as_dict
   :: Ptr (Ptr StdString) -> Ptr GenericType' -> IO (Ptr (StdMap StdString (Ptr GenericType')))
 
@@ -780,6 +809,33 @@
 -- classy wrapper
 genericType_is_bool :: GenericTypeClass a => a -> IO Bool
 genericType_is_bool x = casadi__GenericType__is_bool (castGenericType x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__GenericType__is_bool_vector" c_casadi__GenericType__is_bool_vector
+  :: Ptr (Ptr StdString) -> Ptr GenericType' -> IO CInt
+
+casadi__GenericType__is_bool_vector
+  :: GenericType -> IO Bool
+casadi__GenericType__is_bool_vector x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__GenericType__is_bool_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_bool_vector :: GenericTypeClass a => a -> IO Bool
+genericType_is_bool_vector x = casadi__GenericType__is_bool_vector (castGenericType x)
 
 
 -- 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
@@ -47,6 +47,7 @@
          im_get__5,
          im_get__6,
          im_get_colind,
+         im_get_free,
          im_get_input,
          im_get_nonzeros,
          im_get_nz__0,
@@ -219,10 +220,10 @@
 import Casadi.Core.Enums
 -- direct wrapper
 foreign import ccall unsafe "casadi__IM__CONSTRUCTOR__0" c_casadi__IM__CONSTRUCTOR__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SXElem')) -> IO (Ptr IM')
+  :: Ptr (Ptr StdString) -> Ptr SX' -> IO (Ptr IM')
 
 casadi__IM__CONSTRUCTOR__0
-  :: Vector SXElem -> IO IM
+  :: SX -> IO IM
 casadi__IM__CONSTRUCTOR__0 x0 = do
   x0' <- marshal x0
 
@@ -240,16 +241,16 @@
 
 
 -- classy wrapper
-im__0 :: Vector SXElem -> IO IM
+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 SX' -> IO (Ptr IM')
+  :: Ptr (Ptr StdString) -> Ptr (StdVec (Ptr SXElem')) -> IO (Ptr IM')
 
 casadi__IM__CONSTRUCTOR__1
-  :: SX -> IO IM
+  :: Vector SXElem -> IO IM
 casadi__IM__CONSTRUCTOR__1 x0 = do
   x0' <- marshal x0
 
@@ -267,16 +268,16 @@
 
 
 -- classy wrapper
-im__1 :: SX -> IO IM
+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 (StdVec CDouble) -> IO (Ptr IM')
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr IM')
 
 casadi__IM__CONSTRUCTOR__2
-  :: Vector Double -> IO IM
+  :: DM -> IO IM
 casadi__IM__CONSTRUCTOR__2 x0 = do
   x0' <- marshal x0
 
@@ -294,16 +295,16 @@
 
 
 -- classy wrapper
-im__2 :: Vector Double -> IO IM
+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 DM' -> IO (Ptr IM')
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> IO (Ptr IM')
 
 casadi__IM__CONSTRUCTOR__3
-  :: DM -> IO IM
+  :: Vector Double -> IO IM
 casadi__IM__CONSTRUCTOR__3 x0 = do
   x0' <- marshal x0
 
@@ -321,7 +322,7 @@
 
 
 -- classy wrapper
-im__3 :: DM -> IO IM
+im__3 :: Vector Double -> IO IM
 im__3 = casadi__IM__CONSTRUCTOR__3
 
 
@@ -1297,6 +1298,33 @@
 -- 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
diff --git a/Casadi/Core/Classes/Importer.hs b/Casadi/Core/Classes/Importer.hs
new file mode 100644
--- /dev/null
+++ b/Casadi/Core/Classes/Importer.hs
@@ -0,0 +1,446 @@
+{-# OPTIONS_GHC -Wall #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# Language ForeignFunctionInterface #-}
+{-# Language FlexibleInstances #-}
+{-# Language MultiParamTypeClasses #-}
+
+module Casadi.Core.Classes.Importer
+       (
+         Importer,
+         ImporterClass(..),
+         importer__0,
+         importer__1,
+         importer__2,
+         importer_body,
+         importer_doc,
+         importer_get_meta__0,
+         importer_get_meta__1,
+         importer_has_function,
+         importer_has_meta__0,
+         importer_has_meta__1,
+         importer_has_plugin,
+         importer_inlined,
+         importer_load_plugin,
+         importer_plugin_name,
+       ) 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__Importer__CONSTRUCTOR__0" c_casadi__Importer__CONSTRUCTOR__0
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> IO (Ptr Importer')
+
+casadi__Importer__CONSTRUCTOR__0
+  :: String -> String -> IO Importer
+casadi__Importer__CONSTRUCTOR__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Importer__CONSTRUCTOR__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
+importer__0 :: String -> String -> IO Importer
+importer__0 = casadi__Importer__CONSTRUCTOR__0
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Importer__CONSTRUCTOR__1" c_casadi__Importer__CONSTRUCTOR__1
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Importer')
+
+casadi__Importer__CONSTRUCTOR__1
+  :: String -> String -> M.Map String GenericType -> IO Importer
+casadi__Importer__CONSTRUCTOR__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Importer__CONSTRUCTOR__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
+importer__1 :: String -> String -> M.Map String GenericType -> IO Importer
+importer__1 = casadi__Importer__CONSTRUCTOR__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Importer__CONSTRUCTOR__2" c_casadi__Importer__CONSTRUCTOR__2
+  :: Ptr (Ptr StdString) -> IO (Ptr Importer')
+
+casadi__Importer__CONSTRUCTOR__2
+  :: IO Importer
+casadi__Importer__CONSTRUCTOR__2  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Importer__CONSTRUCTOR__2 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+importer__2 :: IO Importer
+importer__2 = casadi__Importer__CONSTRUCTOR__2
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Importer__body" c_casadi__Importer__body
+  :: Ptr (Ptr StdString) -> Ptr Importer' -> Ptr StdString -> IO (Ptr StdString)
+
+casadi__Importer__body
+  :: Importer -> String -> IO String
+casadi__Importer__body x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Importer__body errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+importer_body :: ImporterClass a => a -> String -> IO String
+importer_body x = casadi__Importer__body (castImporter x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Importer__doc" c_casadi__Importer__doc
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr StdString)
+
+casadi__Importer__doc
+  :: String -> IO String
+casadi__Importer__doc x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Importer__doc errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+importer_doc :: String -> IO String
+importer_doc = casadi__Importer__doc
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Importer__get_meta__0" c_casadi__Importer__get_meta__0
+  :: Ptr (Ptr StdString) -> Ptr Importer' -> Ptr StdString -> IO (Ptr StdString)
+
+casadi__Importer__get_meta__0
+  :: Importer -> String -> IO String
+casadi__Importer__get_meta__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Importer__get_meta__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
+importer_get_meta__0 :: ImporterClass a => a -> String -> IO String
+importer_get_meta__0 x = casadi__Importer__get_meta__0 (castImporter x)
+
+
+-- 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)
+
+casadi__Importer__get_meta__1
+  :: Importer -> String -> Int -> IO String
+casadi__Importer__get_meta__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Importer__get_meta__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
+importer_get_meta__1 :: ImporterClass a => a -> String -> Int -> IO String
+importer_get_meta__1 x = casadi__Importer__get_meta__1 (castImporter x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Importer__has_function" c_casadi__Importer__has_function
+  :: Ptr (Ptr StdString) -> Ptr Importer' -> Ptr StdString -> IO CInt
+
+casadi__Importer__has_function
+  :: Importer -> String -> IO Bool
+casadi__Importer__has_function x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Importer__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
+importer_has_function :: ImporterClass a => a -> String -> IO Bool
+importer_has_function x = casadi__Importer__has_function (castImporter x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Importer__has_meta__0" c_casadi__Importer__has_meta__0
+  :: Ptr (Ptr StdString) -> Ptr Importer' -> Ptr StdString -> IO CInt
+
+casadi__Importer__has_meta__0
+  :: Importer -> String -> IO Bool
+casadi__Importer__has_meta__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Importer__has_meta__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
+importer_has_meta__0 :: ImporterClass a => a -> String -> IO Bool
+importer_has_meta__0 x = casadi__Importer__has_meta__0 (castImporter x)
+
+
+-- 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
+
+casadi__Importer__has_meta__1
+  :: Importer -> String -> Int -> IO Bool
+casadi__Importer__has_meta__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Importer__has_meta__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
+importer_has_meta__1 :: ImporterClass a => a -> String -> Int -> IO Bool
+importer_has_meta__1 x = casadi__Importer__has_meta__1 (castImporter x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Importer__has_plugin" c_casadi__Importer__has_plugin
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
+
+casadi__Importer__has_plugin
+  :: String -> IO Bool
+casadi__Importer__has_plugin x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Importer__has_plugin errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ret
+
+
+
+-- classy wrapper
+importer_has_plugin :: String -> IO Bool
+importer_has_plugin = casadi__Importer__has_plugin
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Importer__inlined" c_casadi__Importer__inlined
+  :: Ptr (Ptr StdString) -> Ptr Importer' -> Ptr StdString -> IO CInt
+
+casadi__Importer__inlined
+  :: Importer -> String -> IO Bool
+casadi__Importer__inlined x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Importer__inlined errStrPtrP x0' x1'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+  marshalFree x1 x1'
+
+  return ret
+
+
+
+-- classy wrapper
+importer_inlined :: ImporterClass a => a -> String -> IO Bool
+importer_inlined x = casadi__Importer__inlined (castImporter x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Importer__load_plugin" c_casadi__Importer__load_plugin
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO ()
+
+casadi__Importer__load_plugin
+  :: String -> IO ()
+casadi__Importer__load_plugin x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Importer__load_plugin errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+importer_load_plugin :: String -> IO ()
+importer_load_plugin = casadi__Importer__load_plugin
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Importer__plugin_name" c_casadi__Importer__plugin_name
+  :: Ptr (Ptr StdString) -> Ptr Importer' -> IO (Ptr StdString)
+
+casadi__Importer__plugin_name
+  :: Importer -> IO String
+casadi__Importer__plugin_name x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Importer__plugin_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
+importer_plugin_name :: ImporterClass a => a -> IO String
+importer_plugin_name x = casadi__Importer__plugin_name (castImporter x)
+
diff --git a/Casadi/Core/Classes/Library.hs b/Casadi/Core/Classes/Library.hs
deleted file mode 100644
--- a/Casadi/Core/Classes/Library.hs
+++ /dev/null
@@ -1,144 +0,0 @@
-{-# OPTIONS_GHC -Wall #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
-{-# Language ForeignFunctionInterface #-}
-{-# Language FlexibleInstances #-}
-{-# Language MultiParamTypeClasses #-}
-
-module Casadi.Core.Classes.Library
-       (
-         Library,
-         LibraryClass(..),
-         library__0,
-         library__1,
-         library__2,
-         library_has,
-       ) 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__Library__CONSTRUCTOR__0" c_casadi__Library__CONSTRUCTOR__0
-  :: Ptr (Ptr StdString) -> Ptr Compiler' -> IO (Ptr Library')
-
-casadi__Library__CONSTRUCTOR__0
-  :: Compiler -> IO Library
-casadi__Library__CONSTRUCTOR__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Library__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
-library__0 :: Compiler -> IO Library
-library__0 = casadi__Library__CONSTRUCTOR__0
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Library__CONSTRUCTOR__1" c_casadi__Library__CONSTRUCTOR__1
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr Library')
-
-casadi__Library__CONSTRUCTOR__1
-  :: String -> IO Library
-casadi__Library__CONSTRUCTOR__1 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Library__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
-library__1 :: String -> IO Library
-library__1 = casadi__Library__CONSTRUCTOR__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Library__CONSTRUCTOR__2" c_casadi__Library__CONSTRUCTOR__2
-  :: Ptr (Ptr StdString) -> IO (Ptr Library')
-
-casadi__Library__CONSTRUCTOR__2
-  :: IO Library
-casadi__Library__CONSTRUCTOR__2  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Library__CONSTRUCTOR__2 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
-
-  return ret
-
-
-
--- classy wrapper
-library__2 :: IO Library
-library__2 = casadi__Library__CONSTRUCTOR__2
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Library__has" c_casadi__Library__has
-  :: Ptr (Ptr StdString) -> Ptr Library' -> Ptr StdString -> IO CInt
-
-casadi__Library__has
-  :: Library -> String -> IO Bool
-casadi__Library__has x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Library__has errStrPtrP x0' x1'
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-  marshalFree x0 x0'
-  marshalFree x1 x1'
-
-  return ret
-
-
-
--- classy wrapper
-library_has :: LibraryClass a => a -> String -> IO Bool
-library_has x = casadi__Library__has (castLibrary x)
-
diff --git a/Casadi/Core/Classes/Linsol.hs b/Casadi/Core/Classes/Linsol.hs
new file mode 100644
--- /dev/null
+++ b/Casadi/Core/Classes/Linsol.hs
@@ -0,0 +1,536 @@
+{-# OPTIONS_GHC -Wall #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-orphans #-}
+{-# Language ForeignFunctionInterface #-}
+{-# Language FlexibleInstances #-}
+{-# Language MultiParamTypeClasses #-}
+
+module Casadi.Core.Classes.Linsol
+       (
+         Linsol,
+         LinsolClass(..),
+         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_plugin_name,
+         linsol_rank,
+         linsol_solve__0,
+         linsol_solve__1,
+         linsol_solve__2,
+         linsol_solve__3,
+       ) 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__Linsol__CONSTRUCTOR__0" c_casadi__Linsol__CONSTRUCTOR__0
+  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> IO (Ptr Linsol')
+
+casadi__Linsol__CONSTRUCTOR__0
+  :: String -> String -> IO Linsol
+casadi__Linsol__CONSTRUCTOR__0 x0 x1 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Linsol__CONSTRUCTOR__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
+linsol__0 :: String -> String -> 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')
+
+casadi__Linsol__CONSTRUCTOR__1
+  :: String -> String -> M.Map String GenericType -> IO Linsol
+casadi__Linsol__CONSTRUCTOR__1 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Linsol__CONSTRUCTOR__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
+linsol__1 :: String -> String -> M.Map String GenericType -> IO Linsol
+linsol__1 = casadi__Linsol__CONSTRUCTOR__1
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Linsol__CONSTRUCTOR__2" c_casadi__Linsol__CONSTRUCTOR__2
+  :: Ptr (Ptr StdString) -> IO (Ptr Linsol')
+
+casadi__Linsol__CONSTRUCTOR__2
+  :: IO Linsol
+casadi__Linsol__CONSTRUCTOR__2  = do
+
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Linsol__CONSTRUCTOR__2 errStrPtrP 
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+
+
+  return ret
+
+
+
+-- classy wrapper
+linsol__2 :: IO Linsol
+linsol__2 = casadi__Linsol__CONSTRUCTOR__2
+
+
+-- 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)
+
+casadi__Linsol__doc
+  :: String -> IO String
+casadi__Linsol__doc x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Linsol__doc errStrPtrP x0'
+  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_doc :: String -> IO String
+linsol_doc = casadi__Linsol__doc
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Linsol__has_plugin" c_casadi__Linsol__has_plugin
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
+
+casadi__Linsol__has_plugin
+  :: String -> IO Bool
+casadi__Linsol__has_plugin x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Linsol__has_plugin errStrPtrP x0'
+  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_has_plugin :: String -> IO Bool
+linsol_has_plugin = casadi__Linsol__has_plugin
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Linsol__load_plugin" c_casadi__Linsol__load_plugin
+  :: Ptr (Ptr StdString) -> Ptr StdString -> IO ()
+
+casadi__Linsol__load_plugin
+  :: String -> IO ()
+casadi__Linsol__load_plugin x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Linsol__load_plugin errStrPtrP x0'
+  errStrPtr <- peek errStrPtrP
+  free errStrPtrP
+
+  () <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
+
+  marshalFree x0 x0'
+
+  return ()
+
+
+
+-- classy wrapper
+linsol_load_plugin :: String -> IO ()
+linsol_load_plugin = casadi__Linsol__load_plugin
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Linsol__neig" c_casadi__Linsol__neig
+  :: Ptr (Ptr StdString) -> Ptr Linsol' -> IO CInt
+
+casadi__Linsol__neig
+  :: Linsol -> IO Int
+casadi__Linsol__neig x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Linsol__neig errStrPtrP x0'
+  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_neig :: LinsolClass a => a -> IO Int
+linsol_neig x = casadi__Linsol__neig (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)
+
+casadi__Linsol__plugin_name
+  :: Linsol -> IO String
+casadi__Linsol__plugin_name x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Linsol__plugin_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
+linsol_plugin_name :: LinsolClass a => a -> IO String
+linsol_plugin_name x = casadi__Linsol__plugin_name (castLinsol x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Linsol__rank" c_casadi__Linsol__rank
+  :: Ptr (Ptr StdString) -> Ptr Linsol' -> IO CInt
+
+casadi__Linsol__rank
+  :: Linsol -> IO Int
+casadi__Linsol__rank x0 = do
+  x0' <- marshal x0
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Linsol__rank errStrPtrP x0'
+  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_rank :: LinsolClass a => a -> IO Int
+linsol_rank x = casadi__Linsol__rank (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')
+
+casadi__Linsol__solve__0
+  :: Linsol -> MX -> MX -> IO MX
+casadi__Linsol__solve__0 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Linsol__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
+
+
+
+-- classy wrapper
+linsol_solve__0 :: LinsolClass a => a -> MX -> MX -> IO MX
+linsol_solve__0 x = casadi__Linsol__solve__0 (castLinsol x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Linsol__solve__1" c_casadi__Linsol__solve__1
+  :: Ptr (Ptr StdString) -> Ptr Linsol' -> Ptr MX' -> Ptr MX' -> CInt -> IO (Ptr MX')
+
+casadi__Linsol__solve__1
+  :: Linsol -> MX -> MX -> Bool -> IO MX
+casadi__Linsol__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__Linsol__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
+
+
+
+-- classy wrapper
+linsol_solve__1 :: LinsolClass a => a -> MX -> MX -> Bool -> IO MX
+linsol_solve__1 x = casadi__Linsol__solve__1 (castLinsol x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Linsol__solve__2" c_casadi__Linsol__solve__2
+  :: Ptr (Ptr StdString) -> Ptr Linsol' -> Ptr DM' -> Ptr DM' -> IO (Ptr DM')
+
+casadi__Linsol__solve__2
+  :: Linsol -> DM -> DM -> IO DM
+casadi__Linsol__solve__2 x0 x1 x2 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Linsol__solve__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
+linsol_solve__2 :: LinsolClass a => a -> DM -> DM -> IO DM
+linsol_solve__2 x = casadi__Linsol__solve__2 (castLinsol x)
+
+
+-- direct wrapper
+foreign import ccall unsafe "casadi__Linsol__solve__3" c_casadi__Linsol__solve__3
+  :: Ptr (Ptr StdString) -> Ptr Linsol' -> Ptr DM' -> Ptr DM' -> CInt -> IO (Ptr DM')
+
+casadi__Linsol__solve__3
+  :: Linsol -> DM -> DM -> Bool -> IO DM
+casadi__Linsol__solve__3 x0 x1 x2 x3 = do
+  x0' <- marshal x0
+  x1' <- marshal x1
+  x2' <- marshal x2
+  x3' <- marshal x3
+
+  errStrPtrP <- new nullPtr
+  ret0 <- c_casadi__Linsol__solve__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
+linsol_solve__3 :: LinsolClass a => a -> DM -> DM -> Bool -> IO DM
+linsol_solve__3 x = casadi__Linsol__solve__3 (castLinsol x)
+
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
@@ -47,6 +47,7 @@
          mx_get__5,
          mx_get__6,
          mx_get_colind,
+         mx_get_free,
          mx_get_input,
          mx_get_nz__0,
          mx_get_nz__1,
@@ -1346,6 +1347,33 @@
 -- 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
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
@@ -11,8 +11,8 @@
          NlpBuilderClass(..),
          nlpBuilder_getDescription,
          nlpBuilder_getRepresentation,
-         nlpBuilder_parse_nl__0,
-         nlpBuilder_parse_nl__1,
+         nlpBuilder_import_nl__0,
+         nlpBuilder_import_nl__1,
        ) where
 
 
@@ -34,17 +34,17 @@
 import Casadi.Core.Data
 import Casadi.Core.Enums
 -- direct wrapper
-foreign import ccall unsafe "casadi__NlpBuilder__parse_nl__0" c_casadi__NlpBuilder__parse_nl__0
+foreign import ccall unsafe "casadi__NlpBuilder__import_nl__0" c_casadi__NlpBuilder__import_nl__0
   :: Ptr (Ptr StdString) -> Ptr NlpBuilder' -> Ptr StdString -> IO ()
 
-casadi__NlpBuilder__parse_nl__0
+casadi__NlpBuilder__import_nl__0
   :: NlpBuilder -> String -> IO ()
-casadi__NlpBuilder__parse_nl__0 x0 x1 = do
+casadi__NlpBuilder__import_nl__0 x0 x1 = do
   x0' <- marshal x0
   x1' <- marshal x1
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__NlpBuilder__parse_nl__0 errStrPtrP x0' x1'
+  ret0 <- c_casadi__NlpBuilder__import_nl__0 errStrPtrP x0' x1'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -58,23 +58,23 @@
 
 
 -- classy wrapper
-nlpBuilder_parse_nl__0 :: NlpBuilderClass a => a -> String -> IO ()
-nlpBuilder_parse_nl__0 x = casadi__NlpBuilder__parse_nl__0 (castNlpBuilder x)
+nlpBuilder_import_nl__0 :: NlpBuilderClass a => a -> String -> IO ()
+nlpBuilder_import_nl__0 x = casadi__NlpBuilder__import_nl__0 (castNlpBuilder x)
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__NlpBuilder__parse_nl__1" c_casadi__NlpBuilder__parse_nl__1
+foreign import ccall unsafe "casadi__NlpBuilder__import_nl__1" c_casadi__NlpBuilder__import_nl__1
   :: Ptr (Ptr StdString) -> Ptr NlpBuilder' -> Ptr StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO ()
 
-casadi__NlpBuilder__parse_nl__1
+casadi__NlpBuilder__import_nl__1
   :: NlpBuilder -> String -> M.Map String GenericType -> IO ()
-casadi__NlpBuilder__parse_nl__1 x0 x1 x2 = do
+casadi__NlpBuilder__import_nl__1 x0 x1 x2 = do
   x0' <- marshal x0
   x1' <- marshal x1
   x2' <- marshal x2
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__NlpBuilder__parse_nl__1 errStrPtrP x0' x1' x2'
+  ret0 <- c_casadi__NlpBuilder__import_nl__1 errStrPtrP x0' x1' x2'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -89,8 +89,8 @@
 
 
 -- classy wrapper
-nlpBuilder_parse_nl__1 :: NlpBuilderClass a => a -> String -> M.Map String GenericType -> IO ()
-nlpBuilder_parse_nl__1 x = casadi__NlpBuilder__parse_nl__1 (castNlpBuilder x)
+nlpBuilder_import_nl__1 :: NlpBuilderClass a => a -> String -> M.Map String GenericType -> IO ()
+nlpBuilder_import_nl__1 x = casadi__NlpBuilder__import_nl__1 (castNlpBuilder x)
 
 
 -- direct wrapper
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
@@ -47,6 +47,7 @@
          sx_get__5,
          sx_get__6,
          sx_get_colind,
+         sx_get_free,
          sx_get_input,
          sx_get_nonzeros,
          sx_get_nz__0,
@@ -219,10 +220,10 @@
 import Casadi.Core.Enums
 -- direct wrapper
 foreign import ccall unsafe "casadi__SX__CONSTRUCTOR__0" c_casadi__SX__CONSTRUCTOR__0
-  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> IO (Ptr SX')
+  :: Ptr (Ptr StdString) -> Ptr DM' -> IO (Ptr SX')
 
 casadi__SX__CONSTRUCTOR__0
-  :: Vector Double -> IO SX
+  :: DM -> IO SX
 casadi__SX__CONSTRUCTOR__0 x0 = do
   x0' <- marshal x0
 
@@ -240,16 +241,16 @@
 
 
 -- classy wrapper
-sx__0 :: Vector Double -> IO SX
+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 DM' -> IO (Ptr SX')
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CDouble) -> IO (Ptr SX')
 
 casadi__SX__CONSTRUCTOR__1
-  :: DM -> IO SX
+  :: Vector Double -> IO SX
 casadi__SX__CONSTRUCTOR__1 x0 = do
   x0' <- marshal x0
 
@@ -267,16 +268,16 @@
 
 
 -- classy wrapper
-sx__1 :: DM -> IO SX
+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 (StdVec CInt) -> IO (Ptr SX')
+  :: Ptr (Ptr StdString) -> Ptr IM' -> IO (Ptr SX')
 
 casadi__SX__CONSTRUCTOR__2
-  :: Vector Int -> IO SX
+  :: IM -> IO SX
 casadi__SX__CONSTRUCTOR__2 x0 = do
   x0' <- marshal x0
 
@@ -294,16 +295,16 @@
 
 
 -- classy wrapper
-sx__2 :: Vector Int -> IO SX
+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 IM' -> IO (Ptr SX')
+  :: Ptr (Ptr StdString) -> Ptr (StdVec CInt) -> IO (Ptr SX')
 
 casadi__SX__CONSTRUCTOR__3
-  :: IM -> IO SX
+  :: Vector Int -> IO SX
 casadi__SX__CONSTRUCTOR__3 x0 = do
   x0' <- marshal x0
 
@@ -321,7 +322,7 @@
 
 
 -- classy wrapper
-sx__3 :: IM -> IO SX
+sx__3 :: Vector Int -> IO SX
 sx__3 = casadi__SX__CONSTRUCTOR__3
 
 
@@ -1297,6 +1298,33 @@
 -- 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
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
@@ -14,6 +14,7 @@
          sparsity__1,
          sparsity__2,
          sparsity__3,
+         sparsity__4,
          sparsity_add_nz,
          sparsity_append,
          sparsity_appendColumns,
@@ -133,7 +134,6 @@
          sparsity_transpose__1,
          sparsity_triplet__0,
          sparsity_triplet__1,
-         sparsity_triplet__2,
          sparsity_uni_coloring__0,
          sparsity_uni_coloring__1,
          sparsity_uni_coloring__2,
@@ -162,18 +162,45 @@
 import Casadi.Core.Enums
 -- direct wrapper
 foreign import ccall unsafe "casadi__Sparsity__CONSTRUCTOR__0" c_casadi__Sparsity__CONSTRUCTOR__0
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> IO (Ptr Sparsity')
+  :: 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__0 x0 x1 x2 x3 = do
+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__0 errStrPtrP x0' x1' x2' x3'
+  ret0 <- c_casadi__Sparsity__CONSTRUCTOR__1 errStrPtrP x0' x1' x2' x3'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -189,22 +216,22 @@
 
 
 -- classy wrapper
-sparsity__0 :: Int -> Int -> Vector Int -> Vector Int -> IO Sparsity
-sparsity__0 = casadi__Sparsity__CONSTRUCTOR__0
+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__1" c_casadi__Sparsity__CONSTRUCTOR__1
+foreign import ccall unsafe "casadi__Sparsity__CONSTRUCTOR__2" c_casadi__Sparsity__CONSTRUCTOR__2
   :: Ptr (Ptr StdString) -> CInt -> CInt -> IO (Ptr Sparsity')
 
-casadi__Sparsity__CONSTRUCTOR__1
+casadi__Sparsity__CONSTRUCTOR__2
   :: Int -> Int -> IO Sparsity
-casadi__Sparsity__CONSTRUCTOR__1 x0 x1 = do
+casadi__Sparsity__CONSTRUCTOR__2 x0 x1 = do
   x0' <- marshal x0
   x1' <- marshal x1
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__CONSTRUCTOR__1 errStrPtrP x0' x1'
+  ret0 <- c_casadi__Sparsity__CONSTRUCTOR__2 errStrPtrP x0' x1'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -218,21 +245,21 @@
 
 
 -- classy wrapper
-sparsity__1 :: Int -> Int -> IO Sparsity
-sparsity__1 = casadi__Sparsity__CONSTRUCTOR__1
+sparsity__2 :: Int -> Int -> IO Sparsity
+sparsity__2 = casadi__Sparsity__CONSTRUCTOR__2
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__CONSTRUCTOR__2" c_casadi__Sparsity__CONSTRUCTOR__2
+foreign import ccall unsafe "casadi__Sparsity__CONSTRUCTOR__3" c_casadi__Sparsity__CONSTRUCTOR__3
   :: Ptr (Ptr StdString) -> IO (Ptr Sparsity')
 
-casadi__Sparsity__CONSTRUCTOR__2
+casadi__Sparsity__CONSTRUCTOR__3
   :: IO Sparsity
-casadi__Sparsity__CONSTRUCTOR__2  = do
+casadi__Sparsity__CONSTRUCTOR__3  = do
 
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__CONSTRUCTOR__2 errStrPtrP 
+  ret0 <- c_casadi__Sparsity__CONSTRUCTOR__3 errStrPtrP 
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -245,21 +272,21 @@
 
 
 -- classy wrapper
-sparsity__2 :: IO Sparsity
-sparsity__2 = casadi__Sparsity__CONSTRUCTOR__2
+sparsity__3 :: IO Sparsity
+sparsity__3 = casadi__Sparsity__CONSTRUCTOR__3
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__CONSTRUCTOR__3" c_casadi__Sparsity__CONSTRUCTOR__3
+foreign import ccall unsafe "casadi__Sparsity__CONSTRUCTOR__4" c_casadi__Sparsity__CONSTRUCTOR__4
   :: Ptr (Ptr StdString) -> CInt -> IO (Ptr Sparsity')
 
-casadi__Sparsity__CONSTRUCTOR__3
+casadi__Sparsity__CONSTRUCTOR__4
   :: Int -> IO Sparsity
-casadi__Sparsity__CONSTRUCTOR__3 x0 = do
+casadi__Sparsity__CONSTRUCTOR__4 x0 = do
   x0' <- marshal x0
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__CONSTRUCTOR__3 errStrPtrP x0'
+  ret0 <- c_casadi__Sparsity__CONSTRUCTOR__4 errStrPtrP x0'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -272,8 +299,8 @@
 
 
 -- classy wrapper
-sparsity__3 :: Int -> IO Sparsity
-sparsity__3 = casadi__Sparsity__CONSTRUCTOR__3
+sparsity__4 :: Int -> IO Sparsity
+sparsity__4 = casadi__Sparsity__CONSTRUCTOR__4
 
 
 -- direct wrapper
@@ -2401,30 +2428,32 @@
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__Sparsity__makeDense" c_casadi__Sparsity__makeDense
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> IO (Ptr Sparsity')
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (Ptr (StdVec CInt)) -> IO (Ptr Sparsity')
 
 casadi__Sparsity__makeDense
-  :: Sparsity -> Vector Int -> IO Sparsity
-casadi__Sparsity__makeDense x0 x1 = do
+  :: Sparsity -> IO (Sparsity, Vector Int)
+casadi__Sparsity__makeDense x0 = do
   x0' <- marshal x0
-  x1' <- marshal x1
+  o1' <- new nullPtr
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__makeDense errStrPtrP x0' x1'
+  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'
-  marshalFree x1 x1'
+  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
+  return (ret, o1''')
 
 
 
 -- classy wrapper
-sparsity_makeDense :: SparsityClass a => a -> Vector Int -> IO Sparsity
+sparsity_makeDense :: SparsityClass a => a -> IO (Sparsity, Vector Int)
 sparsity_makeDense x = casadi__Sparsity__makeDense (castSparsity x)
 
 
@@ -3728,61 +3757,65 @@
 
 -- direct wrapper
 foreign import ccall unsafe "casadi__Sparsity__transpose__0" c_casadi__Sparsity__transpose__0
-  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (StdVec CInt) -> IO (Ptr Sparsity')
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (Ptr (StdVec CInt)) -> IO (Ptr Sparsity')
 
 casadi__Sparsity__transpose__0
-  :: Sparsity -> Vector Int -> IO Sparsity
-casadi__Sparsity__transpose__0 x0 x1 = do
+  :: Sparsity -> IO (Sparsity, Vector Int)
+casadi__Sparsity__transpose__0 x0 = do
   x0' <- marshal x0
-  x1' <- marshal x1
+  o1' <- new nullPtr
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__transpose__0 errStrPtrP x0' x1'
+  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'
-  marshalFree x1 x1'
+  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
+  return (ret, o1''')
 
 
 
 -- classy wrapper
-sparsity_transpose__0 :: SparsityClass a => a -> Vector Int -> IO Sparsity
+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 (StdVec CInt) -> CInt -> IO (Ptr Sparsity')
+  :: Ptr (Ptr StdString) -> Ptr Sparsity' -> Ptr (Ptr (StdVec CInt)) -> CInt -> IO (Ptr Sparsity')
 
 casadi__Sparsity__transpose__1
-  :: Sparsity -> Vector Int -> Bool -> IO Sparsity
-casadi__Sparsity__transpose__1 x0 x1 x2 = do
+  :: Sparsity -> Bool -> IO (Sparsity, Vector Int)
+casadi__Sparsity__transpose__1 x0 x2 = do
   x0' <- marshal x0
-  x1' <- marshal x1
+  o1' <- new nullPtr
   x2' <- marshal x2
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__transpose__1 errStrPtrP x0' x1' x2'
+  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'
-  marshalFree x1 x1'
+  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
+  return (ret, o1''')
 
 
 
 -- classy wrapper
-sparsity_transpose__1 :: SparsityClass a => a -> Vector Int -> Bool -> IO Sparsity
+sparsity_transpose__1 :: SparsityClass a => a -> Bool -> IO (Sparsity, Vector Int)
 sparsity_transpose__1 x = casadi__Sparsity__transpose__1 (castSparsity x)
 
 
@@ -3821,55 +3854,20 @@
 
 -- 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 (StdVec CInt) -> IO (Ptr Sparsity')
+  :: 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 -> Vector Int -> IO Sparsity
-casadi__Sparsity__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__Sparsity__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
-sparsity_triplet__1 :: Int -> Int -> Vector Int -> Vector Int -> Vector Int -> IO Sparsity
-sparsity_triplet__1 = casadi__Sparsity__triplet__1
-
-
--- direct wrapper
-foreign import ccall unsafe "casadi__Sparsity__triplet__2" c_casadi__Sparsity__triplet__2
-  :: Ptr (Ptr StdString) -> CInt -> CInt -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> Ptr (StdVec CInt) -> CInt -> IO (Ptr Sparsity')
-
-casadi__Sparsity__triplet__2
-  :: Int -> Int -> Vector Int -> Vector Int -> Vector Int -> Bool -> IO Sparsity
-casadi__Sparsity__triplet__2 x0 x1 x2 x3 x4 x5 = do
+  :: 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
-  x4' <- marshal x4
+  o4' <- new nullPtr
   x5' <- marshal x5
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__Sparsity__triplet__2 errStrPtrP x0' x1' x2' x3' x4' x5'
+  ret0 <- c_casadi__Sparsity__triplet__1 errStrPtrP x0' x1' x2' x3' o4' x5'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -3879,16 +3877,18 @@
   marshalFree x1 x1'
   marshalFree x2 x2'
   marshalFree x3 x3'
-  marshalFree x4 x4'
+  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
+  return (ret, o4''')
 
 
 
 -- classy wrapper
-sparsity_triplet__2 :: Int -> Int -> Vector Int -> Vector Int -> Vector Int -> Bool -> IO Sparsity
-sparsity_triplet__2 = casadi__Sparsity__triplet__2
+sparsity_triplet__1 :: Int -> Int -> Vector Int -> Vector Int -> Bool -> IO (Sparsity, Vector Int)
+sparsity_triplet__1 = casadi__Sparsity__triplet__1
 
 
 -- direct wrapper
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
@@ -12,7 +12,7 @@
          xmlFile__0,
          xmlFile__1,
          xmlFile_doc,
-         xmlFile_loadPlugin,
+         xmlFile_load_plugin,
        ) where
 
 
@@ -115,16 +115,16 @@
 
 
 -- direct wrapper
-foreign import ccall unsafe "casadi__XmlFile__loadPlugin" c_casadi__XmlFile__loadPlugin
+foreign import ccall unsafe "casadi__XmlFile__load_plugin" c_casadi__XmlFile__load_plugin
   :: Ptr (Ptr StdString) -> Ptr StdString -> IO ()
 
-casadi__XmlFile__loadPlugin
+casadi__XmlFile__load_plugin
   :: String -> IO ()
-casadi__XmlFile__loadPlugin x0 = do
+casadi__XmlFile__load_plugin x0 = do
   x0' <- marshal x0
 
   errStrPtrP <- new nullPtr
-  ret0 <- c_casadi__XmlFile__loadPlugin errStrPtrP x0'
+  ret0 <- c_casadi__XmlFile__load_plugin errStrPtrP x0'
   errStrPtr <- peek errStrPtrP
   free errStrPtrP
 
@@ -137,6 +137,6 @@
 
 
 -- classy wrapper
-xmlFile_loadPlugin :: String -> IO ()
-xmlFile_loadPlugin = casadi__XmlFile__loadPlugin
+xmlFile_load_plugin :: String -> IO ()
+xmlFile_load_plugin = casadi__XmlFile__load_plugin
 
diff --git a/Casadi/Core/Data.hs b/Casadi/Core/Data.hs
--- a/Casadi/Core/Data.hs
+++ b/Casadi/Core/Data.hs
@@ -91,33 +91,6 @@
 
 
 -- raw decl
-data Compiler'
--- data decl
-{-|
--}
-newtype Compiler = Compiler (ForeignPtr Compiler')
--- typeclass decl
-class CompilerClass a where
-  castCompiler :: a -> Compiler
-instance CompilerClass Compiler where
-  castCompiler = id
-
--- baseclass instances
-instance SharedObjectClass Compiler where
-  castSharedObject (Compiler x) = SharedObject (castForeignPtr x)
-
-
--- helper instances
-instance Marshal Compiler (Ptr Compiler') where
-  marshal (Compiler x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (Compiler x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__Compiler" 
-  c_delete_casadi__Compiler :: FunPtr (Ptr Compiler' -> IO ())
-instance WrapReturn (Ptr Compiler') Compiler where
-  wrapReturn = (fmap Compiler) . (newForeignPtr c_delete_casadi__Compiler)
-
-
--- raw decl
 data DM'
 -- data decl
 {-|
@@ -340,30 +313,57 @@
 
 
 -- raw decl
-data Library'
+data Importer'
 -- data decl
 {-|
 -}
-newtype Library = Library (ForeignPtr Library')
+newtype Importer = Importer (ForeignPtr Importer')
 -- typeclass decl
-class LibraryClass a where
-  castLibrary :: a -> Library
-instance LibraryClass Library where
-  castLibrary = id
+class ImporterClass a where
+  castImporter :: a -> Importer
+instance ImporterClass Importer where
+  castImporter = id
 
 -- baseclass instances
-instance SharedObjectClass Library where
-  castSharedObject (Library x) = SharedObject (castForeignPtr x)
+instance SharedObjectClass Importer where
+  castSharedObject (Importer x) = SharedObject (castForeignPtr x)
 
 
 -- helper instances
-instance Marshal Library (Ptr Library') where
-  marshal (Library x) = return (unsafeForeignPtrToPtr x)
-  marshalFree (Library x) _ = touchForeignPtr x
-foreign import ccall unsafe "&delete_casadi__Library" 
-  c_delete_casadi__Library :: FunPtr (Ptr Library' -> IO ())
-instance WrapReturn (Ptr Library') Library where
-  wrapReturn = (fmap Library) . (newForeignPtr c_delete_casadi__Library)
+instance Marshal Importer (Ptr Importer') where
+  marshal (Importer x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (Importer x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__Importer" 
+  c_delete_casadi__Importer :: FunPtr (Ptr Importer' -> IO ())
+instance WrapReturn (Ptr Importer') Importer where
+  wrapReturn = (fmap Importer) . (newForeignPtr c_delete_casadi__Importer)
+
+
+-- raw decl
+data Linsol'
+-- data decl
+{-|
+-}
+newtype Linsol = Linsol (ForeignPtr Linsol')
+-- typeclass decl
+class LinsolClass a where
+  castLinsol :: a -> Linsol
+instance LinsolClass Linsol where
+  castLinsol = id
+
+-- baseclass instances
+instance SharedObjectClass Linsol where
+  castSharedObject (Linsol x) = SharedObject (castForeignPtr x)
+
+
+-- helper instances
+instance Marshal Linsol (Ptr Linsol') where
+  marshal (Linsol x) = return (unsafeForeignPtrToPtr x)
+  marshalFree (Linsol x) _ = touchForeignPtr x
+foreign import ccall unsafe "&delete_casadi__Linsol" 
+  c_delete_casadi__Linsol :: FunPtr (Ptr Linsol' -> IO ())
+instance WrapReturn (Ptr Linsol') Linsol where
+  wrapReturn = (fmap Linsol) . (newForeignPtr c_delete_casadi__Linsol)
 
 
 -- raw decl
diff --git a/Casadi/Core/Tools.hs b/Casadi/Core/Tools.hs
--- a/Casadi/Core/Tools.hs
+++ b/Casadi/Core/Tools.hs
@@ -417,20127 +417,20447 @@
          casadi_ne__2,
          casadi_ne__3,
          casadi_ne__4,
-         casadi_nl_var__0,
-         casadi_nl_var__1,
-         casadi_nl_var__2,
-         casadi_nl_var__3,
-         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_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_points__0,
-         collocation_points__1,
-         complement,
-         doc_integrator,
-         doc_linsol,
-         doc_nlpsol,
-         doc_qpsol,
-         doc_rootfinder,
-         external__0,
-         external__1,
-         external__2,
-         external__3,
-         external__4,
-         external__5,
-         has_integrator,
-         has_linsol,
-         has_nlpsol,
-         has_qpsol,
-         has_rootfinder,
-         hash_combine,
-         hash_sparsity,
-         integrator__0,
-         integrator__1,
-         integrator__2,
-         integrator__3,
-         integrator__4,
-         integrator__5,
-         integrator__6,
-         integrator__7,
-         integrator_in__0,
-         integrator_in__1,
-         integrator_n_in,
-         integrator_n_out,
-         integrator_out__0,
-         integrator_out__1,
-         is_slice2,
-         is_slice__0,
-         is_slice__1,
-         is_slice__2,
-         is_slice__3,
-         jit__0,
-         jit__1,
-         linsol__0,
-         linsol__1,
-         linsol_in__0,
-         linsol_in__1,
-         linsol_n_in,
-         linsol_n_out,
-         linsol_out__0,
-         linsol_out__1,
-         load_integrator,
-         load_linsol,
-         load_nlpsol,
-         load_qpsol,
-         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,
-         qpsol__4,
-         qpsol__5,
-         qpsol_in__0,
-         qpsol_in__1,
-         qpsol_n_in,
-         qpsol_n_out,
-         qpsol_out__0,
-         qpsol_out__1,
-         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_nl_var__0" c_casadi_nl_var__0
-  :: Ptr (Ptr StdString) -> Ptr SX' -> Ptr SX' -> IO (Ptr (StdVec CInt))
-
-casadi_nl_var__0
-  :: SX -> SX -> IO (Vector Bool)
-casadi_nl_var__0 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_nl_var__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_nl_var__1" c_casadi_nl_var__1
-  :: Ptr (Ptr StdString) -> Ptr DM' -> Ptr DM' -> IO (Ptr (StdVec CInt))
-
-casadi_nl_var__1
-  :: DM -> DM -> IO (Vector Bool)
-casadi_nl_var__1 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_nl_var__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_nl_var__2" c_casadi_nl_var__2
-  :: Ptr (Ptr StdString) -> Ptr IM' -> Ptr IM' -> IO (Ptr (StdVec CInt))
-
-casadi_nl_var__2
-  :: IM -> IM -> IO (Vector Bool)
-casadi_nl_var__2 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_nl_var__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_nl_var__3" c_casadi_nl_var__3
-  :: Ptr (Ptr StdString) -> Ptr MX' -> Ptr MX' -> IO (Ptr (StdVec CInt))
-
-casadi_nl_var__3
-  :: MX -> MX -> IO (Vector Bool)
-casadi_nl_var__3 x0 x1 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_casadi_nl_var__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__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_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_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 "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_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_qpsol" c_doc_qpsol
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO (Ptr StdString)
-
-doc_qpsol
-  :: String -> IO String
-doc_qpsol x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_doc_qpsol errStrPtrP x0'
-  errStrPtr <- peek 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 "external__0" c_external__0
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr Compiler' -> IO (Ptr Function')
-
-external__0
-  :: String -> Compiler -> 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 Compiler' -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-external__1
-  :: String -> Compiler -> 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_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_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_qpsol" c_has_qpsol
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO CInt
-
-has_qpsol
-  :: String -> IO Bool
-has_qpsol x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_has_qpsol errStrPtrP x0'
-  errStrPtr <- peek 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 (StdPair (Ptr Function') (Ptr Function')) -> IO (Ptr Function')
-
-integrator__0
-  :: String -> String -> (Function, Function) -> 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 (StdPair (Ptr Function') (Ptr Function')) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-integrator__1
-  :: String -> String -> (Function, Function) -> 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 Function' -> IO (Ptr Function')
-
-integrator__2
-  :: String -> String -> Function -> 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 Function' -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-integrator__3
-  :: String -> String -> Function -> 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__4" c_integrator__4
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr MX')) -> IO (Ptr Function')
-
-integrator__4
-  :: String -> String -> M.Map String MX -> IO Function
-integrator__4 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_integrator__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 "integrator__5" c_integrator__5
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr MX')) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-integrator__5
-  :: String -> String -> M.Map String MX -> M.Map String GenericType -> IO Function
-integrator__5 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_integrator__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 "integrator__6" c_integrator__6
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr SX')) -> IO (Ptr Function')
-
-integrator__6
-  :: String -> String -> M.Map String SX -> IO Function
-integrator__6 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_integrator__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 "integrator__7" c_integrator__7
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr SX')) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-integrator__7
-  :: String -> String -> M.Map String SX -> M.Map String GenericType -> IO Function
-integrator__7 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_integrator__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 "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 "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__0" c_linsol__0
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr Sparsity' -> CInt -> IO (Ptr Function')
-
-linsol__0
-  :: String -> String -> Sparsity -> Int -> IO Function
-linsol__0 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_linsol__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__1" c_linsol__1
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr Sparsity' -> CInt -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-linsol__1
-  :: String -> String -> Sparsity -> Int -> M.Map String GenericType -> IO Function
-linsol__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__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_in__0" c_linsol_in__0
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr StdString)
-
-linsol_in__0
-  :: Int -> IO String
-linsol_in__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_linsol_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 "linsol_in__1" c_linsol_in__1
-  :: Ptr (Ptr StdString) -> IO (Ptr (StdVec (Ptr StdString)))
-
-linsol_in__1
-  :: IO (Vector String)
-linsol_in__1  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_linsol_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 "linsol_n_in" c_linsol_n_in
-  :: Ptr (Ptr StdString) -> IO CInt
-
-linsol_n_in
-  :: IO Int
-linsol_n_in  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_linsol_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 "linsol_n_out" c_linsol_n_out
-  :: Ptr (Ptr StdString) -> IO CInt
-
-linsol_n_out
-  :: IO Int
-linsol_n_out  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_linsol_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 "linsol_out__0" c_linsol_out__0
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr StdString)
-
-linsol_out__0
-  :: Int -> IO String
-linsol_out__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_linsol_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 "linsol_out__1" c_linsol_out__1
-  :: Ptr (Ptr StdString) -> IO (Ptr (StdVec (Ptr StdString)))
-
-linsol_out__1
-  :: IO (Vector String)
-linsol_out__1  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_linsol_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 "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_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_qpsol" c_load_qpsol
-  :: Ptr (Ptr StdString) -> Ptr StdString -> IO ()
-
-load_qpsol
-  :: String -> IO ()
-load_qpsol x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_load_qpsol 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 Compiler' -> IO (Ptr Function')
-
-nlpsol__0
-  :: String -> String -> Compiler -> 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 Compiler' -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-nlpsol__1
-  :: String -> String -> Compiler -> 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 StdString -> IO (Ptr Function')
-
-nlpsol__2
-  :: String -> String -> String -> 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 StdString -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-nlpsol__3
-  :: String -> String -> String -> 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 Function' -> IO (Ptr Function')
-
-nlpsol__4
-  :: String -> String -> Function -> 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 Function' -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-nlpsol__5
-  :: String -> String -> Function -> 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 "qpsol__4" c_qpsol__4
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr Sparsity')) -> IO (Ptr Function')
-
-qpsol__4
-  :: String -> String -> M.Map String Sparsity -> IO Function
-qpsol__4 x0 x1 x2 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_qpsol__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 "qpsol__5" c_qpsol__5
-  :: Ptr (Ptr StdString) -> Ptr StdString -> Ptr StdString -> Ptr (StdMap StdString (Ptr Sparsity')) -> Ptr (StdMap StdString (Ptr GenericType')) -> IO (Ptr Function')
-
-qpsol__5
-  :: String -> String -> M.Map String Sparsity -> M.Map String GenericType -> IO Function
-qpsol__5 x0 x1 x2 x3 = do
-  x0' <- marshal x0
-  x1' <- marshal x1
-  x2' <- marshal x2
-  x3' <- marshal x3
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_qpsol__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 "qpsol_in__0" c_qpsol_in__0
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr StdString)
-
-qpsol_in__0
-  :: Int -> IO String
-qpsol_in__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_qpsol_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 "qpsol_in__1" c_qpsol_in__1
-  :: Ptr (Ptr StdString) -> IO (Ptr (StdVec (Ptr StdString)))
-
-qpsol_in__1
-  :: IO (Vector String)
-qpsol_in__1  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_qpsol_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 "qpsol_n_in" c_qpsol_n_in
-  :: Ptr (Ptr StdString) -> IO CInt
-
-qpsol_n_in
-  :: IO Int
-qpsol_n_in  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_qpsol_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 "qpsol_n_out" c_qpsol_n_out
-  :: Ptr (Ptr StdString) -> IO CInt
-
-qpsol_n_out
-  :: IO Int
-qpsol_n_out  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_qpsol_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 "qpsol_out__0" c_qpsol_out__0
-  :: Ptr (Ptr StdString) -> CInt -> IO (Ptr StdString)
-
-qpsol_out__0
-  :: Int -> IO String
-qpsol_out__0 x0 = do
-  x0' <- marshal x0
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_qpsol_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 "qpsol_out__1" c_qpsol_out__1
-  :: Ptr (Ptr StdString) -> IO (Ptr (StdVec (Ptr StdString)))
-
-qpsol_out__1
-  :: IO (Vector String)
-qpsol_out__1  = do
-
-
-  errStrPtrP <- new nullPtr
-  ret0 <- c_qpsol_out__1 errStrPtrP 
-  errStrPtr <- peek errStrPtrP
-  free errStrPtrP
-
-  ret <- if errStrPtr == nullPtr then wrapReturn ret0 else wrapReturn errStrPtr >>= (error . formatException)
-
-
+         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
 
diff --git a/casadi-bindings-core.cabal b/casadi-bindings-core.cabal
--- a/casadi-bindings-core.cabal
+++ b/casadi-bindings-core.cabal
@@ -1,5 +1,5 @@
 name:                casadi-bindings-core
-version:             3.0.0.0
+version:             3.1.0.0
 license:             LGPL-3
 license-file:        LICENSE
 category:            Numerical, Math
@@ -16,17 +16,15 @@
   build-depends:       base >=4.6 && <5,
                        vector >=0.10,
                        containers >= 0.5,
-                       casadi-bindings-internal == 0.1.4.0
+                       casadi-bindings-internal == 0.1.5.0
 
   default-language:    Haskell2010
 
 
-  extra-libraries:  stdc++
-
-  pkgconfig-depends: casadi
+  extra-libraries:  stdc++ casadi
 
-  ghc-prof-options: -prof -fprof-auto -fprof-cafs -rtsopts
-  ghc-options: 
+  ghc-prof-options: -O2
+  ghc-options:      -O2
   cc-options: -Wall -Wno-sign-compare -std=c++11
 
   C-sources:        cbits/custom_wrappers.cpp
@@ -40,7 +38,6 @@
                     Casadi.Core.Classes.Callback
                     Casadi.Core.Classes.CasadiMeta
                     Casadi.Core.Classes.CodeGenerator
-                    Casadi.Core.Classes.Compiler
                     Casadi.Core.Classes.DM
                     Casadi.Core.Classes.DaeBuilder
                     Casadi.Core.Classes.Function
@@ -49,7 +46,8 @@
                     Casadi.Core.Classes.GenericType
                     Casadi.Core.Classes.GlobalOptions
                     Casadi.Core.Classes.IM
-                    Casadi.Core.Classes.Library
+                    Casadi.Core.Classes.Importer
+                    Casadi.Core.Classes.Linsol
                     Casadi.Core.Classes.MX
                     Casadi.Core.Classes.MatrixCommon
                     Casadi.Core.Classes.NlpBuilder
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
@@ -224,42475 +224,42929 @@
 }
 
 
-// ================== 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_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)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "CodeGenerator")
-// cWrapperRetType: "casadi::CodeGenerator*"
-// proto: "casadi::CodeGenerator*\n    casadi__CodeGenerator__CONSTRUCTOR__0(std::string ** err_msg)"
-// call: "        casadi::CodeGenerator* ret = (casadi::CodeGenerator*)new casadi::CodeGenerator();"
-// params: []
-extern "C"
-casadi::CodeGenerator*
-    casadi__CodeGenerator__CONSTRUCTOR__0(std::string ** err_msg);
-casadi::CodeGenerator*
-    casadi__CodeGenerator__CONSTRUCTOR__0(std::string ** err_msg){
-    try {
-
-        casadi::CodeGenerator* ret = (casadi::CodeGenerator*)new casadi::CodeGenerator();
-
-        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::map< std::string, casadi::GenericType* >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "CodeGenerator")
-// cWrapperRetType: "casadi::CodeGenerator*"
-// proto: "casadi::CodeGenerator*\n    casadi__CodeGenerator__CONSTRUCTOR__1(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0)"
-// call: "        casadi::CodeGenerator* ret = (casadi::CodeGenerator*)new casadi::CodeGenerator(x0_);"
-// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-extern "C"
-casadi::CodeGenerator*
-    casadi__CodeGenerator__CONSTRUCTOR__1(std::string ** err_msg, std::map< std::string, casadi::GenericType* >* x0);
-casadi::CodeGenerator*
-    casadi__CodeGenerator__CONSTRUCTOR__1(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::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;
-    }
-}
-
-
-// ================== 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: "compile" ===============
-// class: "casadi::CodeGenerator"
-// cppName: "casadi::CodeGenerator::compile"
-// cWrapperName: "casadi__CodeGenerator__compile__0"
-// protoArgs: "(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__CodeGenerator__compile__0(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0)"
-// call: "        std::string ret = obj->compile(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-std::string*
-    casadi__CodeGenerator__compile__0(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0);
-std::string*
-    casadi__CodeGenerator__compile__0(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->compile(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: "compile" ===============
-// class: "casadi::CodeGenerator"
-// cppName: "casadi::CodeGenerator::compile"
-// cWrapperName: "casadi__CodeGenerator__compile__1"
-// protoArgs: "(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__CodeGenerator__compile__1(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, std::string* x1)"
-// call: "        std::string ret = obj->compile(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-std::string*
-    casadi__CodeGenerator__compile__1(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0, std::string* x1);
-std::string*
-    casadi__CodeGenerator__compile__1(std::string ** err_msg, casadi::CodeGenerator* 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);
-
-        std::string ret = obj->compile(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" ===============
-// 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: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__CodeGenerator__generate__1(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0)"
-// call: "        obj->generate(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-void
-    casadi__CodeGenerator__generate__1(std::string ** err_msg, casadi::CodeGenerator* obj, std::string* x0);
-void
-    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);
-
-        obj->generate(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 "Compiler")===============
-// classType: UserType (Namespace ["casadi"]) (Name "Compiler")
-extern "C"
-void delete_casadi__Compiler(casadi::Compiler* obj);
-void delete_casadi__Compiler(casadi::Compiler* obj){
-    delete obj;
-}
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Compiler"
-// cppName: "casadi::Compiler"
-// cWrapperName: "casadi__Compiler__CONSTRUCTOR__0"
-// protoArgs: "(std::string ** err_msg, std::string* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Compiler")
-// cWrapperRetType: "casadi::Compiler*"
-// proto: "casadi::Compiler*\n    casadi__Compiler__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1)"
-// call: "        casadi::Compiler* ret = (casadi::Compiler*)new casadi::Compiler(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::Compiler*
-    casadi__Compiler__CONSTRUCTOR__0(std::string ** err_msg, std::string* x0, std::string* x1);
-casadi::Compiler*
-    casadi__Compiler__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::Compiler* ret = (casadi::Compiler*)new casadi::Compiler(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::Compiler"
-// cppName: "casadi::Compiler"
-// cWrapperName: "casadi__Compiler__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 "Compiler")
-// cWrapperRetType: "casadi::Compiler*"
-// proto: "casadi::Compiler*\n    casadi__Compiler__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2)"
-// call: "        casadi::Compiler* ret = (casadi::Compiler*)new casadi::Compiler(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::Compiler*
-    casadi__Compiler__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::GenericType* >* x2);
-casadi::Compiler*
-    casadi__Compiler__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::Compiler* ret = (casadi::Compiler*)new casadi::Compiler(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::Compiler"
-// cppName: "casadi::Compiler"
-// cWrapperName: "casadi__Compiler__CONSTRUCTOR__2"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "Compiler")
-// cWrapperRetType: "casadi::Compiler*"
-// proto: "casadi::Compiler*\n    casadi__Compiler__CONSTRUCTOR__2(std::string ** err_msg)"
-// call: "        casadi::Compiler* ret = (casadi::Compiler*)new casadi::Compiler();"
-// params: []
-extern "C"
-casadi::Compiler*
-    casadi__Compiler__CONSTRUCTOR__2(std::string ** err_msg);
-casadi::Compiler*
-    casadi__Compiler__CONSTRUCTOR__2(std::string ** err_msg){
-    try {
-
-        casadi::Compiler* ret = (casadi::Compiler*)new casadi::Compiler();
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Static method: "doc" ===============
-// class: "casadi::Compiler"
-// cppName: "casadi::Compiler::doc"
-// cWrapperName: "casadi__Compiler__doc"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// args: "(x0_)"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__Compiler__doc(std::string ** err_msg, std::string* x0)"
-// call: "        std::string ret = casadi::Compiler::doc(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-std::string*
-    casadi__Compiler__doc(std::string ** err_msg, std::string* x0);
-std::string*
-    casadi__Compiler__doc(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        std::string ret = casadi::Compiler::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: "hasPlugin" ===============
-// class: "casadi::Compiler"
-// cppName: "casadi::Compiler::hasPlugin"
-// cWrapperName: "casadi__Compiler__hasPlugin"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// args: "(x0_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Compiler__hasPlugin(std::string ** err_msg, std::string* x0)"
-// call: "        bool ret = casadi::Compiler::hasPlugin(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-int
-    casadi__Compiler__hasPlugin(std::string ** err_msg, std::string* x0);
-int
-    casadi__Compiler__hasPlugin(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        bool ret = casadi::Compiler::hasPlugin(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: "loadPlugin" ===============
-// class: "casadi::Compiler"
-// cppName: "casadi::Compiler::loadPlugin"
-// cWrapperName: "casadi__Compiler__loadPlugin"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Compiler__loadPlugin(std::string ** err_msg, std::string* x0)"
-// call: "        casadi::Compiler::loadPlugin(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-void
-    casadi__Compiler__loadPlugin(std::string ** err_msg, std::string* x0);
-void
-    casadi__Compiler__loadPlugin(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::Compiler::loadPlugin(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::Compiler"
-// cppName: "casadi::Compiler::plugin_name"
-// cWrapperName: "casadi__Compiler__plugin_name"
-// protoArgs: "(std::string ** err_msg, casadi::Compiler* obj)"
-// args: "()"
-// rettype: StdString
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    casadi__Compiler__plugin_name(std::string ** err_msg, casadi::Compiler* obj)"
-// call: "        std::string ret = obj->plugin_name();"
-// params: []
-extern "C"
-std::string*
-    casadi__Compiler__plugin_name(std::string ** err_msg, casadi::Compiler* obj);
-std::string*
-    casadi__Compiler__plugin_name(std::string ** err_msg, casadi::Compiler* 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 "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, std::vector< casadi::SXElem* >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__DM__CONSTRUCTOR__0(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__0(std::string ** err_msg, std::vector< casadi::SXElem* >* x0);
-casadi::DM*
-    casadi__DM__CONSTRUCTOR__0(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__1"
-// 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__1(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__1(std::string ** err_msg, casadi::SX* x0);
-casadi::DM*
-    casadi__DM__CONSTRUCTOR__1(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__2"
-// 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__2(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__2(std::string ** err_msg, std::vector< int >* x0);
-casadi::DM*
-    casadi__DM__CONSTRUCTOR__2(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__3"
-// 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__3(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__3(std::string ** err_msg, casadi::IM* x0);
-casadi::DM*
-    casadi__DM__CONSTRUCTOR__3(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__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_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: "addMonitor" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::addMonitor"
-// cWrapperName: "casadi__Function__addMonitor"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__addMonitor(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        obj->addMonitor(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-void
-    casadi__Function__addMonitor(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-void
-    casadi__Function__addMonitor(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        obj->addMonitor(x0_);
-        // x0 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: "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: "derivative" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::derivative"
-// cWrapperName: "casadi__Function__derivative__0"
-// 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__derivative__0(std::string ** err_msg, casadi::Function* obj, int x0, int x1)"
-// call: "        casadi::Function ret = obj->derivative(x0_, x1_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__derivative__0(std::string ** err_msg, casadi::Function* obj, int x0, int x1);
-casadi::Function*
-    casadi__Function__derivative__0(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->derivative(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: "derivative" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::derivative"
-// cWrapperName: "casadi__Function__derivative__1"
-// 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, std::vector< std::vector< casadi::MX* >* >* x4, std::vector< std::vector< casadi::MX* >* >** x5)"
-// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__derivative__1(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, std::vector< std::vector< casadi::MX* >* >* x4, std::vector< std::vector< casadi::MX* >* >** x5)"
-// call: "        obj->derivative(x0_, x1_, x2_, x3_, x4_, x5_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput True),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))),SwigOutput False),(Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput True),(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__derivative__1(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, std::vector< std::vector< casadi::MX* >* >* x4, std::vector< std::vector< casadi::MX* >* >** x5);
-void
-    casadi__Function__derivative__1(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, std::vector< std::vector< casadi::MX* >* >* x4, std::vector< std::vector< casadi::MX* >* >** x5){
-    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
-        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
-        std::vector< std::vector< casadi::MX > > x4_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x4);
-        std::vector< std::vector< casadi::MX > > x5_ = std::vector< std::vector< casadi::MX > >();  // Swig output
-
-        obj->derivative(x0_, x1_, x2_, x3_, x4_, x5_);
-        // 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 = WrapReturn< std::vector< std::vector< casadi::MX* >* >*, std::vector< std::vector< casadi::MX > > >::wrapReturn( x3_ );
-        // x4 is not a swig output
-        *x5 = WrapReturn< std::vector< std::vector< casadi::MX* >* >*, std::vector< std::vector< casadi::MX > > >::wrapReturn( x5_ );
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "derivative" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::derivative"
-// cWrapperName: "casadi__Function__derivative__2"
-// 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, std::vector< std::vector< casadi::MX* >* >* x4, std::vector< std::vector< casadi::MX* >* >** x5, int x6)"
-// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__derivative__2(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, std::vector< std::vector< casadi::MX* >* >* x4, std::vector< std::vector< casadi::MX* >* >** x5, int x6)"
-// call: "        obj->derivative(x0_, x1_, x2_, x3_, x4_, x5_, x6_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput True),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))),SwigOutput False),(Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput True),(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__derivative__2(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, std::vector< std::vector< casadi::MX* >* >* x4, std::vector< std::vector< casadi::MX* >* >** x5, int x6);
-void
-    casadi__Function__derivative__2(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, std::vector< std::vector< casadi::MX* >* >* x4, std::vector< std::vector< casadi::MX* >* >** x5, int x6){
-    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
-        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
-        std::vector< std::vector< casadi::MX > > x4_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x4);
-        std::vector< std::vector< casadi::MX > > x5_ = std::vector< std::vector< casadi::MX > >();  // Swig output
-        bool x6_ = Marshaling<bool,int>::marshal(x6);
-
-        obj->derivative(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
-        // 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 = WrapReturn< std::vector< std::vector< casadi::MX* >* >*, std::vector< std::vector< casadi::MX > > >::wrapReturn( x3_ );
-        // x4 is not a swig output
-        *x5 = WrapReturn< std::vector< std::vector< casadi::MX* >* >*, std::vector< std::vector< casadi::MX > > >::wrapReturn( x5_ );
-        // x6 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "derivative" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::derivative"
-// cWrapperName: "casadi__Function__derivative__3"
-// 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, std::vector< std::vector< casadi::MX* >* >* x4, std::vector< std::vector< casadi::MX* >* >** x5, int x6, int x7)"
-// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__derivative__3(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, std::vector< std::vector< casadi::MX* >* >* x4, std::vector< std::vector< casadi::MX* >* >** x5, int x6, int x7)"
-// call: "        obj->derivative(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))),SwigOutput True),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX"))))),SwigOutput False),(Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput True),(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__derivative__3(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, std::vector< std::vector< casadi::MX* >* >* x4, std::vector< std::vector< casadi::MX* >* >** x5, int x6, int x7);
-void
-    casadi__Function__derivative__3(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, std::vector< std::vector< casadi::MX* >* >* x4, std::vector< std::vector< casadi::MX* >* >** x5, int x6, int x7){
-    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
-        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
-        std::vector< std::vector< casadi::MX > > x4_ = Marshaling<std::vector< std::vector< casadi::MX > >,std::vector< std::vector< casadi::MX* >* >*>::marshal(x4);
-        std::vector< std::vector< casadi::MX > > x5_ = std::vector< std::vector< casadi::MX > >();  // Swig output
-        bool x6_ = Marshaling<bool,int>::marshal(x6);
-        bool x7_ = Marshaling<bool,int>::marshal(x7);
-
-        obj->derivative(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
-        // 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 = WrapReturn< std::vector< std::vector< casadi::MX* >* >*, std::vector< std::vector< casadi::MX > > >::wrapReturn( x3_ );
-        // x4 is not a swig output
-        *x5 = WrapReturn< std::vector< std::vector< casadi::MX* >* >*, std::vector< std::vector< casadi::MX > > >::wrapReturn( x5_ );
-        // x6 is not a swig output
-        // x7 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "derivative" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::derivative"
-// cWrapperName: "casadi__Function__derivative__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, std::vector< std::vector< casadi::SX* >* >* x4, std::vector< std::vector< casadi::SX* >* >** x5)"
-// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__derivative__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, std::vector< std::vector< casadi::SX* >* >* x4, std::vector< std::vector< casadi::SX* >* >** x5)"
-// call: "        obj->derivative(x0_, x1_, x2_, x3_, x4_, x5_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput True),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))),SwigOutput False),(Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput True),(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__derivative__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, std::vector< std::vector< casadi::SX* >* >* x4, std::vector< std::vector< casadi::SX* >* >** x5);
-void
-    casadi__Function__derivative__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, std::vector< std::vector< casadi::SX* >* >* x4, std::vector< std::vector< casadi::SX* >* >** x5){
-    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
-        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
-        std::vector< std::vector< casadi::SX > > x4_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x4);
-        std::vector< std::vector< casadi::SX > > x5_ = std::vector< std::vector< casadi::SX > >();  // Swig output
-
-        obj->derivative(x0_, x1_, x2_, x3_, x4_, x5_);
-        // 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 = WrapReturn< std::vector< std::vector< casadi::SX* >* >*, std::vector< std::vector< casadi::SX > > >::wrapReturn( x3_ );
-        // x4 is not a swig output
-        *x5 = WrapReturn< std::vector< std::vector< casadi::SX* >* >*, std::vector< std::vector< casadi::SX > > >::wrapReturn( x5_ );
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "derivative" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::derivative"
-// cWrapperName: "casadi__Function__derivative__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, std::vector< std::vector< casadi::SX* >* >* x4, std::vector< std::vector< casadi::SX* >* >** x5, int x6)"
-// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__derivative__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, std::vector< std::vector< casadi::SX* >* >* x4, std::vector< std::vector< casadi::SX* >* >** x5, int x6)"
-// call: "        obj->derivative(x0_, x1_, x2_, x3_, x4_, x5_, x6_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput True),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))),SwigOutput False),(Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput True),(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__derivative__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, std::vector< std::vector< casadi::SX* >* >* x4, std::vector< std::vector< casadi::SX* >* >** x5, int x6);
-void
-    casadi__Function__derivative__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, std::vector< std::vector< casadi::SX* >* >* x4, std::vector< std::vector< casadi::SX* >* >** x5, int x6){
-    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
-        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
-        std::vector< std::vector< casadi::SX > > x4_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x4);
-        std::vector< std::vector< casadi::SX > > x5_ = std::vector< std::vector< casadi::SX > >();  // Swig output
-        bool x6_ = Marshaling<bool,int>::marshal(x6);
-
-        obj->derivative(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
-        // 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 = WrapReturn< std::vector< std::vector< casadi::SX* >* >*, std::vector< std::vector< casadi::SX > > >::wrapReturn( x3_ );
-        // x4 is not a swig output
-        *x5 = WrapReturn< std::vector< std::vector< casadi::SX* >* >*, std::vector< std::vector< casadi::SX > > >::wrapReturn( x5_ );
-        // x6 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "derivative" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::derivative"
-// cWrapperName: "casadi__Function__derivative__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, std::vector< std::vector< casadi::SX* >* >* x4, std::vector< std::vector< casadi::SX* >* >** x5, int x6, int x7)"
-// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__derivative__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, std::vector< std::vector< casadi::SX* >* >* x4, std::vector< std::vector< casadi::SX* >* >** x5, int x6, int x7)"
-// call: "        obj->derivative(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))),SwigOutput True),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX"))))),SwigOutput False),(Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "SX")))),SwigOutput True),(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__derivative__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, std::vector< std::vector< casadi::SX* >* >* x4, std::vector< std::vector< casadi::SX* >* >** x5, int x6, int x7);
-void
-    casadi__Function__derivative__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, std::vector< std::vector< casadi::SX* >* >* x4, std::vector< std::vector< casadi::SX* >* >** x5, int x6, int x7){
-    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
-        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
-        std::vector< std::vector< casadi::SX > > x4_ = Marshaling<std::vector< std::vector< casadi::SX > >,std::vector< std::vector< casadi::SX* >* >*>::marshal(x4);
-        std::vector< std::vector< casadi::SX > > x5_ = std::vector< std::vector< casadi::SX > >();  // Swig output
-        bool x6_ = Marshaling<bool,int>::marshal(x6);
-        bool x7_ = Marshaling<bool,int>::marshal(x7);
-
-        obj->derivative(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
-        // 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 = WrapReturn< std::vector< std::vector< casadi::SX* >* >*, std::vector< std::vector< casadi::SX > > >::wrapReturn( x3_ );
-        // x4 is not a swig output
-        *x5 = WrapReturn< std::vector< std::vector< casadi::SX* >* >*, std::vector< std::vector< casadi::SX > > >::wrapReturn( x5_ );
-        // x6 is not a swig output
-        // x7 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "derivative" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::derivative"
-// cWrapperName: "casadi__Function__derivative__7"
-// 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, std::vector< std::vector< casadi::DM* >* >* x4, std::vector< std::vector< casadi::DM* >* >** x5)"
-// args: "(x0_, x1_, x2_, x3_, x4_, x5_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__derivative__7(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, std::vector< std::vector< casadi::DM* >* >* x4, std::vector< std::vector< casadi::DM* >* >** x5)"
-// call: "        obj->derivative(x0_, x1_, x2_, x3_, x4_, x5_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput True),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))))),SwigOutput False),(Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput True),(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__derivative__7(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, std::vector< std::vector< casadi::DM* >* >* x4, std::vector< std::vector< casadi::DM* >* >** x5);
-void
-    casadi__Function__derivative__7(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, std::vector< std::vector< casadi::DM* >* >* x4, std::vector< std::vector< casadi::DM* >* >** x5){
-    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
-        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
-        std::vector< std::vector< casadi::DM > > x4_ = Marshaling<std::vector< std::vector< casadi::DM > >,std::vector< std::vector< casadi::DM* >* >*>::marshal(x4);
-        std::vector< std::vector< casadi::DM > > x5_ = std::vector< std::vector< casadi::DM > >();  // Swig output
-
-        obj->derivative(x0_, x1_, x2_, x3_, x4_, x5_);
-        // 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 = WrapReturn< std::vector< std::vector< casadi::DM* >* >*, std::vector< std::vector< casadi::DM > > >::wrapReturn( x3_ );
-        // x4 is not a swig output
-        *x5 = WrapReturn< std::vector< std::vector< casadi::DM* >* >*, std::vector< std::vector< casadi::DM > > >::wrapReturn( x5_ );
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "derivative" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::derivative"
-// cWrapperName: "casadi__Function__derivative__8"
-// 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, std::vector< std::vector< casadi::DM* >* >* x4, std::vector< std::vector< casadi::DM* >* >** x5, int x6)"
-// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__derivative__8(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, std::vector< std::vector< casadi::DM* >* >* x4, std::vector< std::vector< casadi::DM* >* >** x5, int x6)"
-// call: "        obj->derivative(x0_, x1_, x2_, x3_, x4_, x5_, x6_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput True),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))))),SwigOutput False),(Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput True),(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__derivative__8(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, std::vector< std::vector< casadi::DM* >* >* x4, std::vector< std::vector< casadi::DM* >* >** x5, int x6);
-void
-    casadi__Function__derivative__8(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, std::vector< std::vector< casadi::DM* >* >* x4, std::vector< std::vector< casadi::DM* >* >** x5, int x6){
-    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
-        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
-        std::vector< std::vector< casadi::DM > > x4_ = Marshaling<std::vector< std::vector< casadi::DM > >,std::vector< std::vector< casadi::DM* >* >*>::marshal(x4);
-        std::vector< std::vector< casadi::DM > > x5_ = std::vector< std::vector< casadi::DM > >();  // Swig output
-        bool x6_ = Marshaling<bool,int>::marshal(x6);
-
-        obj->derivative(x0_, x1_, x2_, x3_, x4_, x5_, x6_);
-        // 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 = WrapReturn< std::vector< std::vector< casadi::DM* >* >*, std::vector< std::vector< casadi::DM > > >::wrapReturn( x3_ );
-        // x4 is not a swig output
-        *x5 = WrapReturn< std::vector< std::vector< casadi::DM* >* >*, std::vector< std::vector< casadi::DM > > >::wrapReturn( x5_ );
-        // x6 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "derivative" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::derivative"
-// cWrapperName: "casadi__Function__derivative__9"
-// 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, std::vector< std::vector< casadi::DM* >* >* x4, std::vector< std::vector< casadi::DM* >* >** x5, int x6, int x7)"
-// args: "(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__derivative__9(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, std::vector< std::vector< casadi::DM* >* >* x4, std::vector< std::vector< casadi::DM* >* >** x5, int x6, int x7)"
-// call: "        obj->derivative(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput False),(Ref (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))),SwigOutput True),(Ref (Const (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM"))))),SwigOutput False),(Ref (StdVec (StdVec (UserType (Namespace ["casadi"]) (Name "DM")))),SwigOutput True),(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__derivative__9(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, std::vector< std::vector< casadi::DM* >* >* x4, std::vector< std::vector< casadi::DM* >* >** x5, int x6, int x7);
-void
-    casadi__Function__derivative__9(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, std::vector< std::vector< casadi::DM* >* >* x4, std::vector< std::vector< casadi::DM* >* >** x5, int x6, int x7){
-    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
-        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
-        std::vector< std::vector< casadi::DM > > x4_ = Marshaling<std::vector< std::vector< casadi::DM > >,std::vector< std::vector< casadi::DM* >* >*>::marshal(x4);
-        std::vector< std::vector< casadi::DM > > x5_ = std::vector< std::vector< casadi::DM > >();  // Swig output
-        bool x6_ = Marshaling<bool,int>::marshal(x6);
-        bool x7_ = Marshaling<bool,int>::marshal(x7);
-
-        obj->derivative(x0_, x1_, x2_, x3_, x4_, x5_, x6_, x7_);
-        // 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 = WrapReturn< std::vector< std::vector< casadi::DM* >* >*, std::vector< std::vector< casadi::DM > > >::wrapReturn( x3_ );
-        // x4 is not a swig output
-        *x5 = WrapReturn< std::vector< std::vector< casadi::DM* >* >*, std::vector< std::vector< casadi::DM > > >::wrapReturn( x5_ );
-        // x6 is not a swig output
-        // x7 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== 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;
-    }
-}
-
-
-// ================== 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: "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: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__Function__free_sx(std::string ** err_msg, casadi::Function* obj)"
-// call: "        casadi::SX ret = obj->free_sx();"
-// params: []
-extern "C"
-casadi::SX*
-    casadi__Function__free_sx(std::string ** err_msg, casadi::Function* obj);
-casadi::SX*
-    casadi__Function__free_sx(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        casadi::SX ret = obj->free_sx();
-
-        return WrapReturn< casadi::SX*, 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: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__generate__0(std::string ** err_msg, casadi::Function* obj)"
-// call: "        obj->generate();"
-// params: []
-extern "C"
-void
-    casadi__Function__generate__0(std::string ** err_msg, casadi::Function* obj);
-void
-    casadi__Function__generate__0(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        obj->generate();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== 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: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__generate__1(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::GenericType* >* x0)"
-// call: "        obj->generate(x0_);"
-// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-extern "C"
-void
-    casadi__Function__generate__1(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::GenericType* >* x0);
-void
-    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);
-
-        obj->generate(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== 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: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__generate__2(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        obj->generate(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-void
-    casadi__Function__generate__2(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-void
-    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);
-
-        obj->generate(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== 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: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__generate__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
-// call: "        obj->generate(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-extern "C"
-void
-    casadi__Function__generate__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1);
-void
-    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);
-
-        obj->generate(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: "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: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__generate_dependencies__0(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        obj->generate_dependencies(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-void
-    casadi__Function__generate_dependencies__0(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-void
-    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);
-
-        obj->generate_dependencies(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== 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: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__generate_dependencies__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
-// call: "        obj->generate_dependencies(x0_, x1_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-extern "C"
-void
-    casadi__Function__generate_dependencies__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1);
-void
-    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);
-
-        obj->generate_dependencies(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: "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: "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: "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: "integrator_dae" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::integrator_dae"
-// cWrapperName: "casadi__Function__integrator_dae"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__integrator_dae(std::string ** err_msg, casadi::Function* obj)"
-// call: "        casadi::Function ret = obj->integrator_dae();"
-// params: []
-extern "C"
-casadi::Function*
-    casadi__Function__integrator_dae(std::string ** err_msg, casadi::Function* obj);
-casadi::Function*
-    casadi__Function__integrator_dae(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        casadi::Function ret = obj->integrator_dae();
-
-        return WrapReturn< casadi::Function*, casadi::Function >::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: "kernel_sum" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::kernel_sum"
-// cWrapperName: "casadi__Function__kernel_sum__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::pair< int, int >* x1, double x2, int x3)"
-// args: "(x0_, x1_, x2_, x3_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Function")
-// cWrapperRetType: "casadi::Function*"
-// proto: "casadi::Function*\n    casadi__Function__kernel_sum__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::pair< int, int >* x1, double x2, int x3)"
-// call: "        casadi::Function ret = obj->kernel_sum(x0_, x1_, x2_, x3_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdPair CInt CInt)),SwigOutput False),(CDouble,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__kernel_sum__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::pair< int, int >* x1, double x2, int x3);
-casadi::Function*
-    casadi__Function__kernel_sum__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::pair< int, int >* x1, double x2, int x3){
-    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);
-        double x2_ = Marshaling<double,double>::marshal(x2);
-        int x3_ = Marshaling<int,int>::marshal(x3);
-
-        casadi::Function ret = obj->kernel_sum(x0_, x1_, x2_, x3_);
-        // x0 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: "kernel_sum" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::kernel_sum"
-// cWrapperName: "casadi__Function__kernel_sum__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::pair< int, int >* x1, double x2, 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__kernel_sum__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::pair< int, int >* x1, double x2, int x3, std::map< std::string, casadi::GenericType* >* x4)"
-// call: "        casadi::Function ret = obj->kernel_sum(x0_, x1_, x2_, x3_, x4_);"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (StdPair CInt CInt)),SwigOutput False),(CDouble,SwigOutput False),(CInt,SwigOutput False),(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "GenericType")))),SwigOutput False)]
-extern "C"
-casadi::Function*
-    casadi__Function__kernel_sum__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::pair< int, int >* x1, double x2, int x3, std::map< std::string, casadi::GenericType* >* x4);
-casadi::Function*
-    casadi__Function__kernel_sum__1(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::pair< int, int >* x1, double x2, int x3, std::map< std::string, casadi::GenericType* >* x4){
-    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);
-        double x2_ = Marshaling<double,double>::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 = obj->kernel_sum(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: "linsol_cholesky" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::linsol_cholesky"
-// cWrapperName: "casadi__Function__linsol_cholesky__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__Function__linsol_cholesky__0(std::string ** err_msg, casadi::Function* obj)"
-// call: "        casadi::DM ret = obj->linsol_cholesky();"
-// params: []
-extern "C"
-casadi::DM*
-    casadi__Function__linsol_cholesky__0(std::string ** err_msg, casadi::Function* obj);
-casadi::DM*
-    casadi__Function__linsol_cholesky__0(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        casadi::DM ret = obj->linsol_cholesky();
-
-        return WrapReturn< casadi::DM*, casadi::DM >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "linsol_cholesky" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::linsol_cholesky"
-// cWrapperName: "casadi__Function__linsol_cholesky__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__Function__linsol_cholesky__1(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        casadi::DM ret = obj->linsol_cholesky(x0_);"
-// params: [(CBool,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__Function__linsol_cholesky__1(std::string ** err_msg, casadi::Function* obj, int x0);
-casadi::DM*
-    casadi__Function__linsol_cholesky__1(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        bool x0_ = Marshaling<bool,int>::marshal(x0);
-
-        casadi::DM ret = obj->linsol_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: "linsol_cholesky" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::linsol_cholesky"
-// cWrapperName: "casadi__Function__linsol_cholesky__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "DM")
-// cWrapperRetType: "casadi::DM*"
-// proto: "casadi::DM*\n    casadi__Function__linsol_cholesky__2(std::string ** err_msg, casadi::Function* obj, int x0, int x1)"
-// call: "        casadi::DM ret = obj->linsol_cholesky(x0_, x1_);"
-// params: [(CBool,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::DM*
-    casadi__Function__linsol_cholesky__2(std::string ** err_msg, casadi::Function* obj, int x0, int x1);
-casadi::DM*
-    casadi__Function__linsol_cholesky__2(std::string ** err_msg, casadi::Function* obj, int x0, int x1){
-    try {
-        bool x0_ = Marshaling<bool,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::DM ret = obj->linsol_cholesky(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: "linsol_cholesky_sparsity" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::linsol_cholesky_sparsity"
-// cWrapperName: "casadi__Function__linsol_cholesky_sparsity__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Function__linsol_cholesky_sparsity__0(std::string ** err_msg, casadi::Function* obj)"
-// call: "        casadi::Sparsity ret = obj->linsol_cholesky_sparsity();"
-// params: []
-extern "C"
-casadi::Sparsity*
-    casadi__Function__linsol_cholesky_sparsity__0(std::string ** err_msg, casadi::Function* obj);
-casadi::Sparsity*
-    casadi__Function__linsol_cholesky_sparsity__0(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        casadi::Sparsity ret = obj->linsol_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: "linsol_cholesky_sparsity" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::linsol_cholesky_sparsity"
-// cWrapperName: "casadi__Function__linsol_cholesky_sparsity__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Function__linsol_cholesky_sparsity__1(std::string ** err_msg, casadi::Function* obj, int x0)"
-// call: "        casadi::Sparsity ret = obj->linsol_cholesky_sparsity(x0_);"
-// params: [(CBool,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Function__linsol_cholesky_sparsity__1(std::string ** err_msg, casadi::Function* obj, int x0);
-casadi::Sparsity*
-    casadi__Function__linsol_cholesky_sparsity__1(std::string ** err_msg, casadi::Function* obj, int x0){
-    try {
-        bool x0_ = Marshaling<bool,int>::marshal(x0);
-
-        casadi::Sparsity ret = obj->linsol_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;
-    }
-}
-
-
-// ================== Normal method: "linsol_cholesky_sparsity" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::linsol_cholesky_sparsity"
-// cWrapperName: "casadi__Function__linsol_cholesky_sparsity__2"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, int x0, int x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Function__linsol_cholesky_sparsity__2(std::string ** err_msg, casadi::Function* obj, int x0, int x1)"
-// call: "        casadi::Sparsity ret = obj->linsol_cholesky_sparsity(x0_, x1_);"
-// params: [(CBool,SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Function__linsol_cholesky_sparsity__2(std::string ** err_msg, casadi::Function* obj, int x0, int x1);
-casadi::Sparsity*
-    casadi__Function__linsol_cholesky_sparsity__2(std::string ** err_msg, casadi::Function* obj, int x0, int x1){
-    try {
-        bool x0_ = Marshaling<bool,int>::marshal(x0);
-        int x1_ = Marshaling<int,int>::marshal(x1);
-
-        casadi::Sparsity ret = obj->linsol_cholesky_sparsity(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: "linsol_solve" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::linsol_solve"
-// cWrapperName: "casadi__Function__linsol_solve__0"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, casadi::MX* x0, casadi::MX* x1)"
-// args: "(x0_, x1_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "MX")
-// cWrapperRetType: "casadi::MX*"
-// proto: "casadi::MX*\n    casadi__Function__linsol_solve__0(std::string ** err_msg, casadi::Function* obj, casadi::MX* x0, casadi::MX* x1)"
-// call: "        casadi::MX ret = obj->linsol_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__Function__linsol_solve__0(std::string ** err_msg, casadi::Function* obj, casadi::MX* x0, casadi::MX* x1);
-casadi::MX*
-    casadi__Function__linsol_solve__0(std::string ** err_msg, casadi::Function* 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->linsol_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: "linsol_solve" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::linsol_solve"
-// cWrapperName: "casadi__Function__linsol_solve__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* 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__Function__linsol_solve__1(std::string ** err_msg, casadi::Function* obj, casadi::MX* x0, casadi::MX* x1, int x2)"
-// call: "        casadi::MX ret = obj->linsol_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__Function__linsol_solve__1(std::string ** err_msg, casadi::Function* obj, casadi::MX* x0, casadi::MX* x1, int x2);
-casadi::MX*
-    casadi__Function__linsol_solve__1(std::string ** err_msg, casadi::Function* 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->linsol_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: "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)"
-// args: "(x0_, x1_, x2_)"
-// 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)"
-// 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__0(std::string ** err_msg, casadi::Function* obj, std::string* x0, std::string* x1, int x2);
-casadi::Function*
-    casadi__Function__map__0(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__1"
-// 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__1(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__1(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__1(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__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::map< std::string, casadi::MX* >* x0)"
-// args: "(x0_)"
-// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX"))
-// cWrapperRetType: "std::map< std::string, casadi::MX* >*"
-// proto: "std::map< std::string, casadi::MX* >*\n    casadi__Function__map__4(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0)"
-// call: "        std::map< std::string, casadi::MX > ret = obj->map(x0_);"
-// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
-extern "C"
-std::map< std::string, casadi::MX* >*
-    casadi__Function__map__4(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0);
-std::map< std::string, casadi::MX* >*
-    casadi__Function__map__4(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0){
-    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 > ret = obj->map(x0_);
-        // x0 is not a swig output
-
-        return WrapReturn< std::map< std::string, casadi::MX* >*, std::map< std::string, casadi::MX > >::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::map< std::string, casadi::MX* >* x0, std::string* x1)"
-// args: "(x0_, x1_)"
-// rettype: StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX"))
-// cWrapperRetType: "std::map< std::string, casadi::MX* >*"
-// proto: "std::map< std::string, casadi::MX* >*\n    casadi__Function__map__5(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::string* x1)"
-// call: "        std::map< std::string, casadi::MX > ret = obj->map(x0_, x1_);"
-// params: [(Ref (Const (StdMap StdString (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False),(Ref (Const StdString),SwigOutput False)]
-extern "C"
-std::map< std::string, casadi::MX* >*
-    casadi__Function__map__5(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::string* x1);
-std::map< std::string, casadi::MX* >*
-    casadi__Function__map__5(std::string ** err_msg, casadi::Function* obj, std::map< std::string, casadi::MX* >* x0, std::string* 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::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-
-        std::map< std::string, casadi::MX > ret = obj->map(x0_, x1_);
-        // x0 is not a swig output
-        // x1 is not a swig output
-
-        return WrapReturn< std::map< std::string, casadi::MX* >*, std::map< std::string, casadi::MX > >::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, 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__map__6(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0)"
-// call: "        std::vector< casadi::MX > ret = obj->map(x0_);"
-// params: [(Ref (Const (StdVec (UserType (Namespace ["casadi"]) (Name "MX")))),SwigOutput False)]
-extern "C"
-std::vector< casadi::MX* >*
-    casadi__Function__map__6(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0);
-std::vector< casadi::MX* >*
-    casadi__Function__map__6(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->map(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: "map" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::map"
-// cWrapperName: "casadi__Function__map__7"
-// 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__map__7(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::string* x1)"
-// call: "        std::vector< casadi::MX > ret = obj->map(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__map__7(std::string ** err_msg, casadi::Function* obj, std::vector< casadi::MX* >* x0, std::string* x1);
-std::vector< casadi::MX* >*
-    casadi__Function__map__7(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->map(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: "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< 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__0(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__0(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__0(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__1"
-// 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__1(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__1(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__1(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__2"
-// 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__2(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__2(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1);
-casadi::Function*
-    casadi__Function__mapaccum__2(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__3"
-// protoArgs: "(std::string ** err_msg, casadi::Function* 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__Function__mapaccum__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, std::map< std::string, casadi::GenericType* >* x2)"
-// call: "        casadi::Function ret = obj->mapaccum(x0_, x1_, x2_);"
-// params: [(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__mapaccum__3(std::string ** err_msg, casadi::Function* obj, std::string* x0, int x1, std::map< std::string, casadi::GenericType* >* x2);
-casadi::Function*
-    casadi__Function__mapaccum__3(std::string ** err_msg, casadi::Function* 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->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: "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: "printDimensions" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::printDimensions"
-// cWrapperName: "casadi__Function__printDimensions"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__printDimensions(std::string ** err_msg, casadi::Function* obj)"
-// call: "        obj->printDimensions();"
-// params: []
-extern "C"
-void
-    casadi__Function__printDimensions(std::string ** err_msg, casadi::Function* obj);
-void
-    casadi__Function__printDimensions(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        obj->printDimensions();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "printOption" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::printOption"
-// cWrapperName: "casadi__Function__printOption"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__printOption(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        obj->printOption(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-void
-    casadi__Function__printOption(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-void
-    casadi__Function__printOption(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        obj->printOption(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "printOptions" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::printOptions"
-// cWrapperName: "casadi__Function__printOptions"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj)"
-// args: "()"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__printOptions(std::string ** err_msg, casadi::Function* obj)"
-// call: "        obj->printOptions();"
-// params: []
-extern "C"
-void
-    casadi__Function__printOptions(std::string ** err_msg, casadi::Function* obj);
-void
-    casadi__Function__printOptions(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        obj->printOptions();
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "qpsol_debug" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::qpsol_debug"
-// cWrapperName: "casadi__Function__qpsol_debug"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__qpsol_debug(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        obj->qpsol_debug(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-void
-    casadi__Function__qpsol_debug(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-void
-    casadi__Function__qpsol_debug(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        obj->qpsol_debug(x0_);
-        // x0 is not a swig output
-
-        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: "removeMonitor" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::removeMonitor"
-// cWrapperName: "casadi__Function__removeMonitor"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__Function__removeMonitor(std::string ** err_msg, casadi::Function* obj, std::string* x0)"
-// call: "        obj->removeMonitor(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-void
-    casadi__Function__removeMonitor(std::string ** err_msg, casadi::Function* obj, std::string* x0);
-void
-    casadi__Function__removeMonitor(std::string ** err_msg, casadi::Function* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        obj->removeMonitor(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: "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: "rootfinder_jac" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::rootfinder_jac"
-// cWrapperName: "casadi__Function__rootfinder_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__rootfinder_jac(std::string ** err_msg, casadi::Function* obj)"
-// call: "        casadi::Function ret = obj->rootfinder_jac();"
-// params: []
-extern "C"
-casadi::Function*
-    casadi__Function__rootfinder_jac(std::string ** err_msg, casadi::Function* obj);
-casadi::Function*
-    casadi__Function__rootfinder_jac(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        casadi::Function ret = obj->rootfinder_jac();
-
-        return WrapReturn< casadi::Function*, casadi::Function >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "rootfinder_linsol" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::rootfinder_linsol"
-// cWrapperName: "casadi__Function__rootfinder_linsol"
-// 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_linsol(std::string ** err_msg, casadi::Function* obj)"
-// call: "        casadi::Function ret = obj->rootfinder_linsol();"
-// params: []
-extern "C"
-casadi::Function*
-    casadi__Function__rootfinder_linsol(std::string ** err_msg, casadi::Function* obj);
-casadi::Function*
-    casadi__Function__rootfinder_linsol(std::string ** err_msg, casadi::Function* obj){
-    try {
-
-        casadi::Function ret = obj->rootfinder_linsol();
-
-        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_forward" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::set_forward"
-// cWrapperName: "casadi__Function__set_forward"
-// 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__set_forward(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1)"
-// call: "        obj->set_forward(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__set_forward(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1);
-void
-    casadi__Function__set_forward(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->set_forward(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_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: "set_reverse" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::set_reverse"
-// cWrapperName: "casadi__Function__set_reverse"
-// 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__set_reverse(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1)"
-// call: "        obj->set_reverse(x0_, x1_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Function"))),SwigOutput False),(CInt,SwigOutput False)]
-extern "C"
-void
-    casadi__Function__set_reverse(std::string ** err_msg, casadi::Function* obj, casadi::Function* x0, int x1);
-void
-    casadi__Function__set_reverse(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->set_reverse(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: "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::vector< int >* x0, std::vector< int >* x1)"
-// args: "(x0_, x1_)"
-// 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::vector< int >* x0, std::vector< int >* x1)"
-// call: "        casadi::Function ret = obj->slice(x0_, x1_);"
-// params: [(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::vector< int >* x0, std::vector< int >* x1);
-casadi::Function*
-    casadi__Function__slice__0(std::string ** err_msg, casadi::Function* 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);
-
-        casadi::Function ret = obj->slice(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: "slice" ===============
-// class: "casadi::Function"
-// cppName: "casadi::Function::slice"
-// cWrapperName: "casadi__Function__slice__1"
-// protoArgs: "(std::string ** err_msg, casadi::Function* obj, std::vector< int >* x0, std::vector< 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__Function__slice__1(std::string ** err_msg, casadi::Function* obj, std::vector< int >* x0, std::vector< int >* x1, std::map< std::string, casadi::GenericType* >* x2)"
-// call: "        casadi::Function ret = obj->slice(x0_, x1_, x2_);"
-// params: [(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::vector< int >* x0, std::vector< int >* x1, std::map< std::string, casadi::GenericType* >* x2);
-casadi::Function*
-    casadi__Function__slice__1(std::string ** err_msg, casadi::Function* obj, std::vector< int >* x0, std::vector< int >* x1, std::map< std::string, casadi::GenericType* >* 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::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->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: "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;
-    }
-}
-
-
-
-// ================== 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_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_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, std::vector< casadi::SXElem* >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "IM")
-// cWrapperRetType: "casadi::IM*"
-// proto: "casadi::IM*\n    casadi__IM__CONSTRUCTOR__0(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__0(std::string ** err_msg, std::vector< casadi::SXElem* >* x0);
-casadi::IM*
-    casadi__IM__CONSTRUCTOR__0(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__1"
-// 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__1(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__1(std::string ** err_msg, casadi::SX* x0);
-casadi::IM*
-    casadi__IM__CONSTRUCTOR__1(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__2"
-// 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__2(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__2(std::string ** err_msg, std::vector< double >* x0);
-casadi::IM*
-    casadi__IM__CONSTRUCTOR__2(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__3"
-// 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__3(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__3(std::string ** err_msg, casadi::DM* x0);
-casadi::IM*
-    casadi__IM__CONSTRUCTOR__3(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__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_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 "Library")===============
-// classType: UserType (Namespace ["casadi"]) (Name "Library")
-extern "C"
-void delete_casadi__Library(casadi::Library* obj);
-void delete_casadi__Library(casadi::Library* obj){
-    delete obj;
-}
-
-// ================== Constructor method: "CONSTRUCTOR" ===============
-// class: "casadi::Library"
-// cppName: "casadi::Library"
-// cWrapperName: "casadi__Library__CONSTRUCTOR__0"
-// protoArgs: "(std::string ** err_msg, casadi::Compiler* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Library")
-// cWrapperRetType: "casadi::Library*"
-// proto: "casadi::Library*\n    casadi__Library__CONSTRUCTOR__0(std::string ** err_msg, casadi::Compiler* x0)"
-// call: "        casadi::Library* ret = (casadi::Library*)new casadi::Library(x0_);"
-// params: [(Ref (Const (UserType (Namespace ["casadi"]) (Name "Compiler"))),SwigOutput False)]
-extern "C"
-casadi::Library*
-    casadi__Library__CONSTRUCTOR__0(std::string ** err_msg, casadi::Compiler* x0);
-casadi::Library*
-    casadi__Library__CONSTRUCTOR__0(std::string ** err_msg, casadi::Compiler* x0){
-    try {
-        casadi::Compiler& x0_ = Marshaling<casadi::Compiler&,casadi::Compiler*>::marshal(x0);
-
-        casadi::Library* ret = (casadi::Library*)new casadi::Library(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::Library"
-// cppName: "casadi::Library"
-// cWrapperName: "casadi__Library__CONSTRUCTOR__1"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "Library")
-// cWrapperRetType: "casadi::Library*"
-// proto: "casadi::Library*\n    casadi__Library__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0)"
-// call: "        casadi::Library* ret = (casadi::Library*)new casadi::Library(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-casadi::Library*
-    casadi__Library__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0);
-casadi::Library*
-    casadi__Library__CONSTRUCTOR__1(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::Library* ret = (casadi::Library*)new casadi::Library(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::Library"
-// cppName: "casadi::Library"
-// cWrapperName: "casadi__Library__CONSTRUCTOR__2"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "Library")
-// cWrapperRetType: "casadi::Library*"
-// proto: "casadi::Library*\n    casadi__Library__CONSTRUCTOR__2(std::string ** err_msg)"
-// call: "        casadi::Library* ret = (casadi::Library*)new casadi::Library();"
-// params: []
-extern "C"
-casadi::Library*
-    casadi__Library__CONSTRUCTOR__2(std::string ** err_msg);
-casadi::Library*
-    casadi__Library__CONSTRUCTOR__2(std::string ** err_msg){
-    try {
-
-        casadi::Library* ret = (casadi::Library*)new casadi::Library();
-
-        return ret;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== Normal method: "has" ===============
-// class: "casadi::Library"
-// cppName: "casadi::Library::has"
-// cWrapperName: "casadi__Library__has"
-// protoArgs: "(std::string ** err_msg, casadi::Library* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: CBool
-// cWrapperRetType: "int"
-// proto: "int\n    casadi__Library__has(std::string ** err_msg, casadi::Library* obj, std::string* x0)"
-// call: "        bool ret = obj->has(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-int
-    casadi__Library__has(std::string ** err_msg, casadi::Library* obj, std::string* x0);
-int
-    casadi__Library__has(std::string ** err_msg, casadi::Library* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        bool ret = obj->has(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;
-    }
-}
-
-
-
-// ================== 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_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 (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: "parse_nl" ===============
-// class: "casadi::NlpBuilder"
-// cppName: "casadi::NlpBuilder::parse_nl"
-// cWrapperName: "casadi__NlpBuilder__parse_nl__0"
-// protoArgs: "(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__NlpBuilder__parse_nl__0(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0)"
-// call: "        obj->parse_nl(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-void
-    casadi__NlpBuilder__parse_nl__0(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0);
-void
-    casadi__NlpBuilder__parse_nl__0(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        obj->parse_nl(x0_);
-        // x0 is not a swig output
-
-        return;
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return;
-    }
-}
-
-
-// ================== Normal method: "parse_nl" ===============
-// class: "casadi::NlpBuilder"
-// cppName: "casadi::NlpBuilder::parse_nl"
-// cWrapperName: "casadi__NlpBuilder__parse_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__parse_nl__1(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1)"
-// call: "        obj->parse_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__parse_nl__1(std::string ** err_msg, casadi::NlpBuilder* obj, std::string* x0, std::map< std::string, casadi::GenericType* >* x1);
-void
-    casadi__NlpBuilder__parse_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->parse_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, std::vector< double >* x0)"
-// args: "(x0_)"
-// rettype: UserType (Namespace ["casadi"]) (Name "SX")
-// cWrapperRetType: "casadi::SX*"
-// proto: "casadi::SX*\n    casadi__SX__CONSTRUCTOR__0(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__0(std::string ** err_msg, std::vector< double >* x0);
-casadi::SX*
-    casadi__SX__CONSTRUCTOR__0(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__1"
-// 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__1(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__1(std::string ** err_msg, casadi::DM* x0);
-casadi::SX*
-    casadi__SX__CONSTRUCTOR__1(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__2"
-// 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__2(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__2(std::string ** err_msg, std::vector< int >* x0);
-casadi::SX*
-    casadi__SX__CONSTRUCTOR__2(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__3"
-// 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__3(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__3(std::string ** err_msg, casadi::IM* x0);
-casadi::SX*
-    casadi__SX__CONSTRUCTOR__3(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__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_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, 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__0(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__0(std::string ** err_msg, int x0, int x1, std::vector< int >* x2, std::vector< int >* x3);
-casadi::Sparsity*
-    casadi__Sparsity__CONSTRUCTOR__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*)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__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__CONSTRUCTOR__1(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__1(std::string ** err_msg, int x0, int x1);
-casadi::Sparsity*
-    casadi__Sparsity__CONSTRUCTOR__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*)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__2"
-// protoArgs: "(std::string ** err_msg)"
-// args: "()"
-// rettype: UserType (Namespace ["casadi"]) (Name "Sparsity")
-// cWrapperRetType: "casadi::Sparsity*"
-// proto: "casadi::Sparsity*\n    casadi__Sparsity__CONSTRUCTOR__2(std::string ** err_msg)"
-// call: "        casadi::Sparsity* ret = (casadi::Sparsity*)new casadi::Sparsity();"
-// params: []
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__CONSTRUCTOR__2(std::string ** err_msg);
-casadi::Sparsity*
-    casadi__Sparsity__CONSTRUCTOR__2(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__3"
-// 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__3(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__3(std::string ** err_msg, int x0);
-casadi::Sparsity*
-    casadi__Sparsity__CONSTRUCTOR__3(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 False)]
-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_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-
-        casadi::Sparsity ret = obj->makeDense(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: "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 False)]
-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_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-
-        casadi::Sparsity ret = obj->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;
-    }
-}
-
-
-// ================== 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 False),(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_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x0);
-        bool x1_ = Marshaling<bool,int>::marshal(x1);
-
-        casadi::Sparsity ret = obj->transpose(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: "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)"
-// args: "(x0_, x1_, x2_, x3_, x4_)"
-// 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)"
-// call: "        casadi::Sparsity ret = casadi::Sparsity::triplet(x0_, x1_, x2_, x3_, x4_);"
-// params: [(CInt,SwigOutput False),(CInt,SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (Const (StdVec CInt)),SwigOutput False),(Ref (StdVec CInt),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);
-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){
-    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);
-
-        casadi::Sparsity ret = casadi::Sparsity::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::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__2"
-// 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__2(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 False),(CBool,SwigOutput False)]
-extern "C"
-casadi::Sparsity*
-    casadi__Sparsity__triplet__2(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__2(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_ = Marshaling<std::vector< int >,std::vector< int >*>::marshal(x4);
-        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 is not a swig output
-        // 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: "loadPlugin" ===============
-// class: "casadi::XmlFile"
-// cppName: "casadi::XmlFile::loadPlugin"
-// cWrapperName: "casadi__XmlFile__loadPlugin"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// args: "(x0_)"
-// rettype: CVoid
-// cWrapperRetType: "void"
-// proto: "void\n    casadi__XmlFile__loadPlugin(std::string ** err_msg, std::string* x0)"
-// call: "        casadi::XmlFile::loadPlugin(x0_);"
-// params: [(Ref (Const StdString),SwigOutput False)]
-extern "C"
-void
-    casadi__XmlFile__loadPlugin(std::string ** err_msg, std::string* x0);
-void
-    casadi__XmlFile__loadPlugin(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::XmlFile::loadPlugin(x0_);
+// ================== 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;
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
@@ -13679,14514 +13679,14947 @@
 }
 
 
-// ================== function "casadi::casadi_nl_var" ===============
-// cppName: "casadi::casadi_nl_var"
-// cWrapperName: "casadi_nl_var__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: StdVec CBool
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi_nl_var__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1)"
-// friendWrap: True
-// fName: "casadi_nl_var"
-// call: "        std::vector< bool > ret = nl_var(x0_, x1_);"
-extern "C"
-std::vector< int >*
-    casadi_nl_var__0(std::string ** err_msg, casadi::SX* x0, casadi::SX* x1);
-std::vector< int >*
-    casadi_nl_var__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);
-
-        std::vector< bool > ret = nl_var(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;
-    }
-}
-
-
-// ================== function "casadi::casadi_nl_var" ===============
-// cppName: "casadi::casadi_nl_var"
-// cWrapperName: "casadi_nl_var__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: StdVec CBool
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi_nl_var__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1)"
-// friendWrap: True
-// fName: "casadi_nl_var"
-// call: "        std::vector< bool > ret = nl_var(x0_, x1_);"
-extern "C"
-std::vector< int >*
-    casadi_nl_var__1(std::string ** err_msg, casadi::DM* x0, casadi::DM* x1);
-std::vector< int >*
-    casadi_nl_var__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);
-
-        std::vector< bool > ret = nl_var(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;
-    }
-}
-
-
-// ================== function "casadi::casadi_nl_var" ===============
-// cppName: "casadi::casadi_nl_var"
-// cWrapperName: "casadi_nl_var__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: StdVec CBool
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi_nl_var__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1)"
-// friendWrap: True
-// fName: "casadi_nl_var"
-// call: "        std::vector< bool > ret = nl_var(x0_, x1_);"
-extern "C"
-std::vector< int >*
-    casadi_nl_var__2(std::string ** err_msg, casadi::IM* x0, casadi::IM* x1);
-std::vector< int >*
-    casadi_nl_var__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);
-
-        std::vector< bool > ret = nl_var(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;
-    }
-}
-
-
-// ================== function "casadi::casadi_nl_var" ===============
-// cppName: "casadi::casadi_nl_var"
-// cWrapperName: "casadi_nl_var__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: StdVec CBool
-// args: "(x0_, x1_)"
-// cWrapperRetType: "std::vector< int >*"
-// proto: "std::vector< int >*\n    casadi_nl_var__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1)"
-// friendWrap: True
-// fName: "casadi_nl_var"
-// call: "        std::vector< bool > ret = nl_var(x0_, x1_);"
-extern "C"
-std::vector< int >*
-    casadi_nl_var__3(std::string ** err_msg, casadi::MX* x0, casadi::MX* x1);
-std::vector< int >*
-    casadi_nl_var__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);
-
-        std::vector< bool > ret = nl_var(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;
-    }
-}
-
-
-// ================== 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_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_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::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_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_qpsol" ===============
-// cppName: "casadi::doc_qpsol"
-// cWrapperName: "doc_qpsol"
-// 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_qpsol(std::string ** err_msg, std::string* x0)"
-// friendWrap: False
-// fName: "doc_qpsol"
-// call: "        std::string ret = casadi::doc_qpsol(x0_);"
-extern "C"
-std::string*
-    doc_qpsol(std::string ** err_msg, std::string* x0);
-std::string*
-    doc_qpsol(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        std::string ret = casadi::doc_qpsol(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::external" ===============
-// cppName: "casadi::external"
-// cWrapperName: "external__0"
-// protoArgs: "(std::string ** err_msg, std::string* x0, casadi::Compiler* x1)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Compiler"))),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::Compiler* 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::Compiler* x1);
-casadi::Function*
-    external__0(std::string ** err_msg, std::string* x0, casadi::Compiler* x1){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        casadi::Compiler& x1_ = Marshaling<casadi::Compiler&,casadi::Compiler*>::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::Compiler* x1, std::map< std::string, casadi::GenericType* >* x2)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Compiler"))),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::Compiler* 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::Compiler* x1, std::map< std::string, casadi::GenericType* >* x2);
-casadi::Function*
-    external__1(std::string ** err_msg, std::string* x0, casadi::Compiler* x1, std::map< std::string, casadi::GenericType* >* x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        casadi::Compiler& x1_ = Marshaling<casadi::Compiler&,casadi::Compiler*>::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_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_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_qpsol" ===============
-// cppName: "casadi::has_qpsol"
-// cWrapperName: "has_qpsol"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// params: [(Ref (Const StdString),SwigOutput False)]
-// retType: CBool
-// args: "(x0_)"
-// cWrapperRetType: "int"
-// proto: "int\n    has_qpsol(std::string ** err_msg, std::string* x0)"
-// friendWrap: False
-// fName: "has_qpsol"
-// call: "        bool ret = casadi::has_qpsol(x0_);"
-extern "C"
-int
-    has_qpsol(std::string ** err_msg, std::string* x0);
-int
-    has_qpsol(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        bool ret = casadi::has_qpsol(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::pair< casadi::Function*, casadi::Function* >* x2)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdPair (UserType (Namespace ["casadi"]) (Name "Function")) (UserType (Namespace ["casadi"]) (Name "Function")))),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::pair< casadi::Function*, casadi::Function* >* 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::pair< casadi::Function*, casadi::Function* >* x2);
-casadi::Function*
-    integrator__0(std::string ** err_msg, std::string* x0, std::string* x1, std::pair< casadi::Function*, casadi::Function* >* x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        std::pair< casadi::Function, casadi::Function > x2_ = Marshaling<std::pair< casadi::Function, casadi::Function >,std::pair< casadi::Function*, casadi::Function* >*>::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::pair< casadi::Function*, casadi::Function* >* x2, std::map< std::string, casadi::GenericType* >* x3)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (StdPair (UserType (Namespace ["casadi"]) (Name "Function")) (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    integrator__1(std::string ** err_msg, std::string* x0, std::string* x1, std::pair< casadi::Function*, casadi::Function* >* 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::pair< casadi::Function*, casadi::Function* >* x2, std::map< std::string, casadi::GenericType* >* x3);
-casadi::Function*
-    integrator__1(std::string ** err_msg, std::string* x0, std::string* x1, std::pair< casadi::Function*, 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);
-        std::pair< casadi::Function, casadi::Function > x2_ = Marshaling<std::pair< casadi::Function, casadi::Function >,std::pair< 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::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, 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    integrator__2(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* 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, casadi::Function* x2);
-casadi::Function*
-    integrator__2(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::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, 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    integrator__3(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* 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, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3);
-casadi::Function*
-    integrator__3(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::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__4"
-// 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__4(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__4(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::MX* >* x2);
-casadi::Function*
-    integrator__4(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__5"
-// 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__5(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__5(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__5(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__6"
-// 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__6(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__6(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::SX* >* x2);
-casadi::Function*
-    integrator__6(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__7"
-// 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__7(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__7(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__7(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::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" ===============
-// cppName: "casadi::linsol"
-// cWrapperName: "linsol__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__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, int x3)"
-// friendWrap: False
-// fName: "linsol"
-// call: "        casadi::Function ret = casadi::linsol(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::Function*
-    linsol__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Sparsity* x2, int x3);
-casadi::Function*
-    linsol__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(x0_, x1_, x2_, x3_);
-        // x0 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" ===============
-// cppName: "casadi::linsol"
-// cWrapperName: "linsol__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__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"
-// call: "        casadi::Function ret = casadi::linsol(x0_, x1_, x2_, x3_, x4_);"
-extern "C"
-casadi::Function*
-    linsol__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__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(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_in" ===============
-// cppName: "casadi::linsol_in"
-// cWrapperName: "linsol_in__0"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// params: [(CInt,SwigOutput False)]
-// retType: StdString
-// args: "(x0_)"
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    linsol_in__0(std::string ** err_msg, int x0)"
-// friendWrap: False
-// fName: "linsol_in"
-// call: "        std::string ret = casadi::linsol_in(x0_);"
-extern "C"
-std::string*
-    linsol_in__0(std::string ** err_msg, int x0);
-std::string*
-    linsol_in__0(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        std::string ret = casadi::linsol_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::linsol_in" ===============
-// cppName: "casadi::linsol_in"
-// cWrapperName: "linsol_in__1"
-// protoArgs: "(std::string ** err_msg)"
-// params: []
-// retType: StdVec StdString
-// args: "()"
-// cWrapperRetType: "std::vector< std::string* >*"
-// proto: "std::vector< std::string* >*\n    linsol_in__1(std::string ** err_msg)"
-// friendWrap: False
-// fName: "linsol_in"
-// call: "        std::vector< std::string > ret = casadi::linsol_in();"
-extern "C"
-std::vector< std::string* >*
-    linsol_in__1(std::string ** err_msg);
-std::vector< std::string* >*
-    linsol_in__1(std::string ** err_msg){
-    try {
-
-        std::vector< std::string > ret = casadi::linsol_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::linsol_n_in" ===============
-// cppName: "casadi::linsol_n_in"
-// cWrapperName: "linsol_n_in"
-// protoArgs: "(std::string ** err_msg)"
-// params: []
-// retType: CInt
-// args: "()"
-// cWrapperRetType: "int"
-// proto: "int\n    linsol_n_in(std::string ** err_msg)"
-// friendWrap: False
-// fName: "linsol_n_in"
-// call: "        int ret = casadi::linsol_n_in();"
-extern "C"
-int
-    linsol_n_in(std::string ** err_msg);
-int
-    linsol_n_in(std::string ** err_msg){
-    try {
-
-        int ret = casadi::linsol_n_in();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::linsol_n_out" ===============
-// cppName: "casadi::linsol_n_out"
-// cWrapperName: "linsol_n_out"
-// protoArgs: "(std::string ** err_msg)"
-// params: []
-// retType: CInt
-// args: "()"
-// cWrapperRetType: "int"
-// proto: "int\n    linsol_n_out(std::string ** err_msg)"
-// friendWrap: False
-// fName: "linsol_n_out"
-// call: "        int ret = casadi::linsol_n_out();"
-extern "C"
-int
-    linsol_n_out(std::string ** err_msg);
-int
-    linsol_n_out(std::string ** err_msg){
-    try {
-
-        int ret = casadi::linsol_n_out();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::linsol_out" ===============
-// cppName: "casadi::linsol_out"
-// cWrapperName: "linsol_out__0"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// params: [(CInt,SwigOutput False)]
-// retType: StdString
-// args: "(x0_)"
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    linsol_out__0(std::string ** err_msg, int x0)"
-// friendWrap: False
-// fName: "linsol_out"
-// call: "        std::string ret = casadi::linsol_out(x0_);"
-extern "C"
-std::string*
-    linsol_out__0(std::string ** err_msg, int x0);
-std::string*
-    linsol_out__0(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        std::string ret = casadi::linsol_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::linsol_out" ===============
-// cppName: "casadi::linsol_out"
-// cWrapperName: "linsol_out__1"
-// protoArgs: "(std::string ** err_msg)"
-// params: []
-// retType: StdVec StdString
-// args: "()"
-// cWrapperRetType: "std::vector< std::string* >*"
-// proto: "std::vector< std::string* >*\n    linsol_out__1(std::string ** err_msg)"
-// friendWrap: False
-// fName: "linsol_out"
-// call: "        std::vector< std::string > ret = casadi::linsol_out();"
-extern "C"
-std::vector< std::string* >*
-    linsol_out__1(std::string ** err_msg);
-std::vector< std::string* >*
-    linsol_out__1(std::string ** err_msg){
-    try {
-
-        std::vector< std::string > ret = casadi::linsol_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::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_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_qpsol" ===============
-// cppName: "casadi::load_qpsol"
-// cWrapperName: "load_qpsol"
-// protoArgs: "(std::string ** err_msg, std::string* x0)"
-// params: [(Ref (Const StdString),SwigOutput False)]
-// retType: CVoid
-// args: "(x0_)"
-// cWrapperRetType: "void"
-// proto: "void\n    load_qpsol(std::string ** err_msg, std::string* x0)"
-// friendWrap: False
-// fName: "load_qpsol"
-// call: "        casadi::load_qpsol(x0_);"
-extern "C"
-void
-    load_qpsol(std::string ** err_msg, std::string* x0);
-void
-    load_qpsol(std::string ** err_msg, std::string* x0){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-
-        casadi::load_qpsol(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::Compiler* x2)"
-// params: [(Ref (Const StdString),SwigOutput False),(Ref (Const StdString),SwigOutput False),(Ref (Const (UserType (Namespace ["casadi"]) (Name "Compiler"))),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::Compiler* 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::Compiler* x2);
-casadi::Function*
-    nlpsol__0(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Compiler* x2){
-    try {
-        std::string& x0_ = Marshaling<std::string&,std::string*>::marshal(x0);
-        std::string& x1_ = Marshaling<std::string&,std::string*>::marshal(x1);
-        casadi::Compiler& x2_ = Marshaling<casadi::Compiler&,casadi::Compiler*>::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::Compiler* 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 "Compiler"))),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::Compiler* 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::Compiler* x2, std::map< std::string, casadi::GenericType* >* x3);
-casadi::Function*
-    nlpsol__1(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Compiler* 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::Compiler& x2_ = Marshaling<casadi::Compiler&,casadi::Compiler*>::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, 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__2(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__2(std::string ** err_msg, std::string* x0, std::string* x1, std::string* x2);
-casadi::Function*
-    nlpsol__2(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__3"
-// 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__3(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__3(std::string ** err_msg, std::string* x0, std::string* x1, std::string* x2, std::map< std::string, casadi::GenericType* >* x3);
-casadi::Function*
-    nlpsol__3(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__4"
-// 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    nlpsol__4(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* 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, casadi::Function* x2);
-casadi::Function*
-    nlpsol__4(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::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, 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    nlpsol__5(std::string ** err_msg, std::string* x0, std::string* x1, casadi::Function* 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, casadi::Function* x2, std::map< std::string, casadi::GenericType* >* x3);
-casadi::Function*
-    nlpsol__5(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::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::qpsol" ===============
-// cppName: "casadi::qpsol"
-// cWrapperName: "qpsol__4"
-// 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    qpsol__4(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2)"
-// friendWrap: False
-// fName: "qpsol"
-// call: "        casadi::Function ret = casadi::qpsol(x0_, x1_, x2_);"
-extern "C"
-casadi::Function*
-    qpsol__4(std::string ** err_msg, std::string* x0, std::string* x1, std::map< std::string, casadi::Sparsity* >* x2);
-casadi::Function*
-    qpsol__4(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::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__5"
-// 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    qpsol__5(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: "qpsol"
-// call: "        casadi::Function ret = casadi::qpsol(x0_, x1_, x2_, x3_);"
-extern "C"
-casadi::Function*
-    qpsol__5(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*
-    qpsol__5(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::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_in" ===============
-// cppName: "casadi::qpsol_in"
-// cWrapperName: "qpsol_in__0"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// params: [(CInt,SwigOutput False)]
-// retType: StdString
-// args: "(x0_)"
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    qpsol_in__0(std::string ** err_msg, int x0)"
-// friendWrap: False
-// fName: "qpsol_in"
-// call: "        std::string ret = casadi::qpsol_in(x0_);"
-extern "C"
-std::string*
-    qpsol_in__0(std::string ** err_msg, int x0);
-std::string*
-    qpsol_in__0(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        std::string ret = casadi::qpsol_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::qpsol_in" ===============
-// cppName: "casadi::qpsol_in"
-// cWrapperName: "qpsol_in__1"
-// protoArgs: "(std::string ** err_msg)"
-// params: []
-// retType: StdVec StdString
-// args: "()"
-// cWrapperRetType: "std::vector< std::string* >*"
-// proto: "std::vector< std::string* >*\n    qpsol_in__1(std::string ** err_msg)"
-// friendWrap: False
-// fName: "qpsol_in"
-// call: "        std::vector< std::string > ret = casadi::qpsol_in();"
-extern "C"
-std::vector< std::string* >*
-    qpsol_in__1(std::string ** err_msg);
-std::vector< std::string* >*
-    qpsol_in__1(std::string ** err_msg){
-    try {
-
-        std::vector< std::string > ret = casadi::qpsol_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::qpsol_n_in" ===============
-// cppName: "casadi::qpsol_n_in"
-// cWrapperName: "qpsol_n_in"
-// protoArgs: "(std::string ** err_msg)"
-// params: []
-// retType: CInt
-// args: "()"
-// cWrapperRetType: "int"
-// proto: "int\n    qpsol_n_in(std::string ** err_msg)"
-// friendWrap: False
-// fName: "qpsol_n_in"
-// call: "        int ret = casadi::qpsol_n_in();"
-extern "C"
-int
-    qpsol_n_in(std::string ** err_msg);
-int
-    qpsol_n_in(std::string ** err_msg){
-    try {
-
-        int ret = casadi::qpsol_n_in();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::qpsol_n_out" ===============
-// cppName: "casadi::qpsol_n_out"
-// cWrapperName: "qpsol_n_out"
-// protoArgs: "(std::string ** err_msg)"
-// params: []
-// retType: CInt
-// args: "()"
-// cWrapperRetType: "int"
-// proto: "int\n    qpsol_n_out(std::string ** err_msg)"
-// friendWrap: False
-// fName: "qpsol_n_out"
-// call: "        int ret = casadi::qpsol_n_out();"
-extern "C"
-int
-    qpsol_n_out(std::string ** err_msg);
-int
-    qpsol_n_out(std::string ** err_msg){
-    try {
-
-        int ret = casadi::qpsol_n_out();
-
-        return WrapReturn< int, int >::wrapReturn( ret );
-    } catch (std::exception& ex) {
-         *err_msg = new std::string(ex.what());
-         return 0;
-    }
-}
-
-
-// ================== function "casadi::qpsol_out" ===============
-// cppName: "casadi::qpsol_out"
-// cWrapperName: "qpsol_out__0"
-// protoArgs: "(std::string ** err_msg, int x0)"
-// params: [(CInt,SwigOutput False)]
-// retType: StdString
-// args: "(x0_)"
-// cWrapperRetType: "std::string*"
-// proto: "std::string*\n    qpsol_out__0(std::string ** err_msg, int x0)"
-// friendWrap: False
-// fName: "qpsol_out"
-// call: "        std::string ret = casadi::qpsol_out(x0_);"
-extern "C"
-std::string*
-    qpsol_out__0(std::string ** err_msg, int x0);
-std::string*
-    qpsol_out__0(std::string ** err_msg, int x0){
-    try {
-        int x0_ = Marshaling<int,int>::marshal(x0);
-
-        std::string ret = casadi::qpsol_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::qpsol_out" ===============
-// cppName: "casadi::qpsol_out"
-// cWrapperName: "qpsol_out__1"
-// protoArgs: "(std::string ** err_msg)"
-// params: []
-// retType: StdVec StdString
-// args: "()"
-// cWrapperRetType: "std::vector< std::string* >*"
-// proto: "std::vector< std::string* >*\n    qpsol_out__1(std::string ** err_msg)"
-// friendWrap: False
-// fName: "qpsol_out"
-// call: "        std::vector< std::string > ret = casadi::qpsol_out();"
-extern "C"
-std::vector< std::string* >*
-    qpsol_out__1(std::string ** err_msg);
-std::vector< std::string* >*
-    qpsol_out__1(std::string ** err_msg){
-    try {
-
-        std::vector< std::string > ret = casadi::qpsol_out();
-
-        return WrapReturn< std::vector< std::string* >*, std::vector< std::string > >::wrapReturn( ret );
+// ================== 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;
