In [ ]:
import sympy as sp
from pyodesys.native import native_sys

In [ ]:
x, y = sp.symbols('x y')
exprs = [sp.exp(y)*(3*y + 3*sp.sqrt(x+1)), sp.exp(y)*(5*y + 5*sp.sqrt(x+1))]
sp.cse(exprs)

In [ ]:
sp.cse(exprs, optimizations='basic')

In [ ]:
try:
    _ = sp.cse(exprs, ignore=(y,x))
except TypeError:
    print("Using an old version of SymPy (ignore not supported in cse())")
else:
    print(_)

In [ ]:
odesys = native_sys['cvode'].from_callback(lambda x, y, p, be: [-be.exp(p[0]+3)*y[0], be.exp(p[0]+3)*y[0]], 2, 1)

In [ ]:
path = next(filter(lambda x: x.endswith('.cpp'), odesys._native._written_files))
print(open(path).read())

In [ ]:
sp.cse(odesys.exprs)

In [ ]: