Generated by Cython 0.11.2 on Wed Nov 18 14:18:11 2009

Raw output: _home_sage_sagenb_sage_notebook_sagenb_home_klho_12_code_sage8_spyx_0.c

 1: 
    goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_1);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("_home_sage_sagenb_sage_notebook_sagenb_home_klho_12_code_sage8_spyx_0");
  Py_DECREF(__pyx_m); __pyx_m = 0;
  __pyx_L0:;
  __Pyx_FinishRefcountContext();
  #if PY_MAJOR_VERSION < 3
  return;
  #else
  return __pyx_m;
  #endif
}
 2: include "interrupt.pxi"  # ctrl-c interrupt block support
 3: include "stdsage.pxi"  # ctrl-c interrupt block support
 4: 
 5: include "cdefs.pxi"
 6: import numpy
    __pyx_1 = __Pyx_Import(__pyx_kp_numpy, 0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 6; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_numpy, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 6; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
 7: cimport numpy
 8: 
 9: cint = numpy.int
    __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_numpy); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 9; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_1);
  __pyx_t_1 = PyObject_GetAttr(__pyx_1, __pyx_kp_int); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 9; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_cint, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 9; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 10: ctypedef numpy.int_t cint_t
 11: cdouble = numpy.double
    __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_numpy); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 11; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_1);
  __pyx_t_1 = PyObject_GetAttr(__pyx_1, __pyx_kp_double); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 11; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
  if (PyObject_SetAttr(__pyx_m, __pyx_kp_cdouble, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 11; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 12: ctypedef numpy.double_t cdouble_t
 13: 
 14: cpdef numpy.ndarray[cdouble_t] hysteron_rho(double t, numpy.ndarray y, double A):
static PyObject *__pyx_pf_69_home_sage_sagenb_sage_notebook_sagenb_home_klho_12_code_sage8_spyx_0_hysteron_rho(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); static PyObject *__pyx_pf_69_home_sage_sagenb_sage_notebook_sagenb_home_klho_12_code_sage8_spyx_0_hysteron_rho(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_69_home_sage_sagenb_sage_notebook_sagenb_home_klho_12_code_sage8_spyx_0_hysteron_rho[] = "File: _home_sage_sagenb_sage_notebook_sagenb_home_klho_12_code_sage8_spyx_0.pyx (starting at line 14)\n\n    Return the propensities for the reactions of the hysteron model     of order `n = 3`.\n    \n    Parameters\n    ----------\n    t : float\n        The current time.\n    \n    y : array\n        The molecule numbers of the system, i.e., [X, Y, Z, L].\n    \n    A : float\n        The reaction area.\n    \n    Returns\n    -------\n    rho : array\n        The reaction propensities.\n    ";
static PyObject *__pyx_pf_69_home_sage_sagenb_sage_notebook_sagenb_home_klho_12_code_sage8_spyx_0_hysteron_rho(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  double __pyx_v_t;
  PyArrayObject *__pyx_v_y = 0;
  double __pyx_v_A;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_kp_t,&__pyx_kp_y,&__pyx_kp_A,0};
  __Pyx_SetupRefcountContext("hysteron_rho");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[3] = {0,0,0};
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      case  0: break;
      default: goto __pyx_L5_argtuple_error;
    }
    switch (PyTuple_GET_SIZE(__pyx_args)) {
      case  0:
      values[0] = PyDict_GetItem(__pyx_kwds, __pyx_kp_t);
      if (likely(values[0])) kw_args--;
      else goto __pyx_L5_argtuple_error;
      case  1:
      values[1] = PyDict_GetItem(__pyx_kwds, __pyx_kp_y);
      if (likely(values[1])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("hysteron_rho", 1, 3, 3, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
      case  2:
      values[2] = PyDict_GetItem(__pyx_kwds, __pyx_kp_A);
      if (likely(values[2])) kw_args--;
      else {
        __Pyx_RaiseArgtupleInvalid("hysteron_rho", 1, 3, 3, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    }
    if (unlikely(kw_args > 0)) {
      if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "hysteron_rho") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    }
    __pyx_v_t = __pyx_PyFloat_AsDouble(values[0]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = ((PyArrayObject *)values[1]);
    __pyx_v_A = __pyx_PyFloat_AsDouble(values[2]); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_t = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 0)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_y = ((PyArrayObject *)PyTuple_GET_ITEM(__pyx_args, 1));
    __pyx_v_A = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 2)); if (unlikely(PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("hysteron_rho", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("_home_sage_sagenb_sage_notebook_sagenb_home_klho_12_code_sage8_spyx_0.hysteron_rho");
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_y), __pyx_ptype_5numpy_ndarray, 1, "y", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = ((PyObject *)__pyx_f_69_home_sage_sagenb_sage_notebook_sagenb_home_klho_12_code_sage8_spyx_0_hysteron_rho(__pyx_v_t, __pyx_v_y, __pyx_v_A, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("_home_sage_sagenb_sage_notebook_sagenb_home_klho_12_code_sage8_spyx_0.hysteron_rho");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_FinishRefcountContext();
  return __pyx_r;
}
 15:     """
 16:     Return the propensities for the reactions of the hysteron model     of order `n = 3`.
 17: 
 18:     Parameters
 19:     ----------
 20:     t : float
 21:         The current time.
 22: 
 23:     y : array
 24:         The molecule numbers of the system, i.e., [X, Y, Z, L].
 25: 
 26:     A : float
 27:         The reaction area.
 28: 
 29:     Returns
 30:     -------
 31:     rho : array
 32:         The reaction propensities.
 33:     """
 34:     cdef double k1f = 5
    __pyx_v_k1f = 5;
 35:     cdef double k1r = 1e-2
    __pyx_v_k1r = 0.01;
 36:     cdef double k2  = 1e-3
    __pyx_v_k2 = 0.001;
 37:     cdef double k3  = 1e-4
    __pyx_v_k3 = 0.0001;
 38:     cdef double k4  = 0
    __pyx_v_k4 = 0;
 39:     cdef double kl2 = 1e-2
    __pyx_v_kl2 = 0.01;
 40:     cdef double kl3 = 5e-3
    __pyx_v_kl3 = 0.0050000000000000001;
 41:     cdef int X = y[0]
    __pyx_1 = __Pyx_GetItemInt(((PyObject *)__pyx_v_y), 0, sizeof(long), PyInt_FromLong); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_1);
  __pyx_t_1 = __Pyx_PyInt_AsInt(__pyx_1); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
  __pyx_v_X = __pyx_t_1;
 42:     cdef int Y = y[1]
    __pyx_1 = __Pyx_GetItemInt(((PyObject *)__pyx_v_y), 1, sizeof(long), PyInt_FromLong); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_1);
  __pyx_t_1 = __Pyx_PyInt_AsInt(__pyx_1); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
  __pyx_v_Y = __pyx_t_1;
 43:     cdef int Z = y[2]
    __pyx_1 = __Pyx_GetItemInt(((PyObject *)__pyx_v_y), 2, sizeof(long), PyInt_FromLong); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_1);
  __pyx_t_1 = __Pyx_PyInt_AsInt(__pyx_1); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
  __pyx_v_Z = __pyx_t_1;
 44:     cdef int L = y[3]
    __pyx_1 = __Pyx_GetItemInt(((PyObject *)__pyx_v_y), 3, sizeof(long), PyInt_FromLong); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_1);
  __pyx_t_1 = __Pyx_PyInt_AsInt(__pyx_1); if (unlikely((__pyx_t_1 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
  __pyx_v_L = __pyx_t_1;
 45:     return numpy.array([k1f * Y,                                                        k1r * X,                                                        k2 * Y * (Y - 1) / A,                                           k2 * Y * Z / A,                                                 k3 * Z,                                                         k4 * L * X / A,                                                 kl2 * L * Y * (Y - 1) / A**2,                                   kl2 * L * Y * Z / A**2,                                         kl3 * L * Y * (Y - 1) * (Y - 2) / A**2,                         kl3 * L * Y * (Y - 1) * Z / A**3,                               kl3 * L * Y * Z * (Z - 1) / A**3])
    __Pyx_XDECREF(((PyObject *)__pyx_r));
  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_numpy); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_1);
  __pyx_t_2 = PyObject_GetAttr(__pyx_1, __pyx_kp_array); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
  __pyx_t_3 = PyFloat_FromDouble((__pyx_v_k1f * __pyx_v_Y)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __pyx_t_4 = PyFloat_FromDouble((__pyx_v_k1r * __pyx_v_X)); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = PyFloat_FromDouble((((__pyx_v_k2 * __pyx_v_Y) * (__pyx_v_Y - 1)) / __pyx_v_A)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = PyFloat_FromDouble((((__pyx_v_k2 * __pyx_v_Y) * __pyx_v_Z) / __pyx_v_A)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_6);
  __pyx_t_7 = PyFloat_FromDouble((__pyx_v_k3 * __pyx_v_Z)); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_7);
  __pyx_t_8 = PyFloat_FromDouble((((__pyx_v_k4 * __pyx_v_L) * __pyx_v_X) / __pyx_v_A)); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = PyFloat_FromDouble(((((__pyx_v_kl2 * __pyx_v_L) * __pyx_v_Y) * (__pyx_v_Y - 1)) / pow(__pyx_v_A, 2))); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = PyFloat_FromDouble(((((__pyx_v_kl2 * __pyx_v_L) * __pyx_v_Y) * __pyx_v_Z) / pow(__pyx_v_A, 2))); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_11 = PyFloat_FromDouble((((((__pyx_v_kl3 * __pyx_v_L) * __pyx_v_Y) * (__pyx_v_Y - 1)) * (__pyx_v_Y - 2)) / pow(__pyx_v_A, 2))); if (unlikely(!__pyx_t_11)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_11);
  __pyx_t_12 = PyFloat_FromDouble((((((__pyx_v_kl3 * __pyx_v_L) * __pyx_v_Y) * (__pyx_v_Y - 1)) * __pyx_v_Z) / pow(__pyx_v_A, 3))); if (unlikely(!__pyx_t_12)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_12);
  __pyx_t_13 = PyFloat_FromDouble((((((__pyx_v_kl3 * __pyx_v_L) * __pyx_v_Y) * __pyx_v_Z) * (__pyx_v_Z - 1)) / pow(__pyx_v_A, 3))); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_13);
  __pyx_t_14 = PyList_New(11); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_14));
  PyList_SET_ITEM(__pyx_t_14, 0, __pyx_t_3);
  __Pyx_GIVEREF(__pyx_t_3);
  PyList_SET_ITEM(__pyx_t_14, 1, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_4);
  PyList_SET_ITEM(__pyx_t_14, 2, __pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_5);
  PyList_SET_ITEM(__pyx_t_14, 3, __pyx_t_6);
  __Pyx_GIVEREF(__pyx_t_6);
  PyList_SET_ITEM(__pyx_t_14, 4, __pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_7);
  PyList_SET_ITEM(__pyx_t_14, 5, __pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_8);
  PyList_SET_ITEM(__pyx_t_14, 6, __pyx_t_9);
  __Pyx_GIVEREF(__pyx_t_9);
  PyList_SET_ITEM(__pyx_t_14, 7, __pyx_t_10);
  __Pyx_GIVEREF(__pyx_t_10);
  PyList_SET_ITEM(__pyx_t_14, 8, __pyx_t_11);
  __Pyx_GIVEREF(__pyx_t_11);
  PyList_SET_ITEM(__pyx_t_14, 9, __pyx_t_12);
  __Pyx_GIVEREF(__pyx_t_12);
  PyList_SET_ITEM(__pyx_t_14, 10, __pyx_t_13);
  __Pyx_GIVEREF(__pyx_t_13);
  __pyx_t_3 = 0;
  __pyx_t_4 = 0;
  __pyx_t_5 = 0;
  __pyx_t_6 = 0;
  __pyx_t_7 = 0;
  __pyx_t_8 = 0;
  __pyx_t_9 = 0;
  __pyx_t_10 = 0;
  __pyx_t_11 = 0;
  __pyx_t_12 = 0;
  __pyx_t_13 = 0;
  __pyx_t_13 = PyTuple_New(1); if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_13));
  PyTuple_SET_ITEM(__pyx_t_13, 0, ((PyObject *)__pyx_t_14));
  __Pyx_GIVEREF(((PyObject *)__pyx_t_14));
  __pyx_t_14 = 0;
  __pyx_t_14 = PyObject_Call(__pyx_t_2, ((PyObject *)__pyx_t_13), NULL); if (unlikely(!__pyx_t_14)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_14);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __Pyx_DECREF(((PyObject *)__pyx_t_13)); __pyx_t_13 = 0;
  if (!(__Pyx_TypeTest(__pyx_t_14, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = ((PyArrayObject *)__pyx_t_14);
  __pyx_t_14 = 0;
  goto __pyx_L0;

  __pyx_r = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_XDECREF(__pyx_t_12);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_AddTraceback("_home_sage_sagenb_sage_notebook_sagenb_home_klho_12_code_sage8_spyx_0.hysteron_rho");
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_FinishRefcountContext();
  return __pyx_r;
}
 46: 
 47: cpdef numpy.ndarray[cint_t] hysteron_dy(int i):
static PyObject *__pyx_pf_69_home_sage_sagenb_sage_notebook_sagenb_home_klho_12_code_sage8_spyx_0_hysteron_dy(PyObject *__pyx_self, PyObject *__pyx_arg_i); static PyObject *__pyx_pf_69_home_sage_sagenb_sage_notebook_sagenb_home_klho_12_code_sage8_spyx_0_hysteron_dy(PyObject *__pyx_self, PyObject *__pyx_arg_i); /*proto*/
static char __pyx_doc_69_home_sage_sagenb_sage_notebook_sagenb_home_klho_12_code_sage8_spyx_0_hysteron_dy[] = "File: _home_sage_sagenb_sage_notebook_sagenb_home_klho_12_code_sage8_spyx_0.pyx (starting at line 47)\n\n    Return the state change vectors for the reactions of the hysteron     model of order `n = 3`.\n    \n    Parameters\n    ----------\n    i : int\n        The reaction number (zero-ordered):\n             0. Y -> X\n             1. X -> Y\n             2. 2Y     -> 2Z\n             3.  Y + Z -> 2Z\n             4. Z -> Y\n             5. L + X -> L + Y\n             6. L + 2Y     -> L + 2Z\n             7. L +  Y + Z -> L + 2Z\n             8. L + 3Y      -> L + 3Z\n             9. L + 2Y +  Z -> L + 3Z\n            10. L +  Y + 2Z -> L + 3Z\n    \n    Returns\n    -------\n    dy : array\n        The state change vector of reaction `i`.\n    ";
static PyObject *__pyx_pf_69_home_sage_sagenb_sage_notebook_sagenb_home_klho_12_code_sage8_spyx_0_hysteron_dy(PyObject *__pyx_self, PyObject *__pyx_arg_i) {
  int __pyx_v_i;
  PyObject *__pyx_r = NULL;
  __Pyx_SetupRefcountContext("hysteron_dy");
  __pyx_self = __pyx_self;
  assert(__pyx_arg_i); {
    __pyx_v_i = __Pyx_PyInt_AsInt(__pyx_arg_i); if (unlikely((__pyx_v_i == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("_home_sage_sagenb_sage_notebook_sagenb_home_klho_12_code_sage8_spyx_0.hysteron_dy");
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = ((PyObject *)__pyx_f_69_home_sage_sagenb_sage_notebook_sagenb_home_klho_12_code_sage8_spyx_0_hysteron_dy(__pyx_v_i, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("_home_sage_sagenb_sage_notebook_sagenb_home_klho_12_code_sage8_spyx_0.hysteron_dy");
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_FinishRefcountContext();
  return __pyx_r;
}
 48:     """
 49:     Return the state change vectors for the reactions of the hysteron     model of order `n = 3`.
 50: 
 51:     Parameters
 52:     ----------
    init_csage();
 53:     i : int
 54:         The reaction number (zero-ordered):
 55:              0. Y -> X
 56:              1. X -> Y
 57:              2. 2Y     -> 2Z
 58:              3.  Y + Z -> 2Z
 59:              4. Z -> Y
 60:              5. L + X -> L + Y
 61:              6. L + 2Y     -> L + 2Z
 62:              7. L +  Y + Z -> L + 2Z
 63:              8. L + 3Y      -> L + 3Z
 64:              9. L + 2Y +  Z -> L + 3Z
 65:             10. L +  Y + 2Z -> L + 3Z
 66: 
 67:     Returns
 68:     -------
 69:     dy : array
 70:         The state change vector of reaction `i`.
 71:     """
 72:     if   i ==  0: dy = [ 1, -1,  0, 0]
    switch (__pyx_v_i) {
    case 0:
    __pyx_t_1 = PyList_New(4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 72; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(((PyObject *)__pyx_t_1));
    __Pyx_INCREF(__pyx_int_1);
    PyList_SET_ITEM(__pyx_t_1, 0, __pyx_int_1);
    __Pyx_GIVEREF(__pyx_int_1);
    __Pyx_INCREF(__pyx_int_neg_1);
    PyList_SET_ITEM(__pyx_t_1, 1, __pyx_int_neg_1);
    __Pyx_GIVEREF(__pyx_int_neg_1);
    __Pyx_INCREF(__pyx_int_0);
    PyList_SET_ITEM(__pyx_t_1, 2, __pyx_int_0);
    __Pyx_GIVEREF(__pyx_int_0);
    __Pyx_INCREF(__pyx_int_0);
    PyList_SET_ITEM(__pyx_t_1, 3, __pyx_int_0);
    __Pyx_GIVEREF(__pyx_int_0);
    __Pyx_DECREF(__pyx_v_dy);
    __pyx_v_dy = ((PyObject *)__pyx_t_1);
    __pyx_t_1 = 0;
    break;
 73:     elif i ==  1: dy = [-1,  1,  0, 0]
        case 1:
    __pyx_t_1 = PyList_New(4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(((PyObject *)__pyx_t_1));
    __Pyx_INCREF(__pyx_int_neg_1);
    PyList_SET_ITEM(__pyx_t_1, 0, __pyx_int_neg_1);
    __Pyx_GIVEREF(__pyx_int_neg_1);
    __Pyx_INCREF(__pyx_int_1);
    PyList_SET_ITEM(__pyx_t_1, 1, __pyx_int_1);
    __Pyx_GIVEREF(__pyx_int_1);
    __Pyx_INCREF(__pyx_int_0);
    PyList_SET_ITEM(__pyx_t_1, 2, __pyx_int_0);
    __Pyx_GIVEREF(__pyx_int_0);
    __Pyx_INCREF(__pyx_int_0);
    PyList_SET_ITEM(__pyx_t_1, 3, __pyx_int_0);
    __Pyx_GIVEREF(__pyx_int_0);
    __Pyx_DECREF(__pyx_v_dy);
    __pyx_v_dy = ((PyObject *)__pyx_t_1);
    __pyx_t_1 = 0;
    break;
 74:     elif i ==  2: dy = [ 0, -2,  2, 0]
        case 2:
    __pyx_t_1 = PyList_New(4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(((PyObject *)__pyx_t_1));
    __Pyx_INCREF(__pyx_int_0);
    PyList_SET_ITEM(__pyx_t_1, 0, __pyx_int_0);
    __Pyx_GIVEREF(__pyx_int_0);
    __Pyx_INCREF(__pyx_int_neg_2);
    PyList_SET_ITEM(__pyx_t_1, 1, __pyx_int_neg_2);
    __Pyx_GIVEREF(__pyx_int_neg_2);
    __Pyx_INCREF(__pyx_int_2);
    PyList_SET_ITEM(__pyx_t_1, 2, __pyx_int_2);
    __Pyx_GIVEREF(__pyx_int_2);
    __Pyx_INCREF(__pyx_int_0);
    PyList_SET_ITEM(__pyx_t_1, 3, __pyx_int_0);
    __Pyx_GIVEREF(__pyx_int_0);
    __Pyx_DECREF(__pyx_v_dy);
    __pyx_v_dy = ((PyObject *)__pyx_t_1);
    __pyx_t_1 = 0;
    break;
 75:     elif i ==  3: dy = [ 0, -1,  1, 0]
        case 3:
    __pyx_t_1 = PyList_New(4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(((PyObject *)__pyx_t_1));
    __Pyx_INCREF(__pyx_int_0);
    PyList_SET_ITEM(__pyx_t_1, 0, __pyx_int_0);
    __Pyx_GIVEREF(__pyx_int_0);
    __Pyx_INCREF(__pyx_int_neg_1);
    PyList_SET_ITEM(__pyx_t_1, 1, __pyx_int_neg_1);
    __Pyx_GIVEREF(__pyx_int_neg_1);
    __Pyx_INCREF(__pyx_int_1);
    PyList_SET_ITEM(__pyx_t_1, 2, __pyx_int_1);
    __Pyx_GIVEREF(__pyx_int_1);
    __Pyx_INCREF(__pyx_int_0);
    PyList_SET_ITEM(__pyx_t_1, 3, __pyx_int_0);
    __Pyx_GIVEREF(__pyx_int_0);
    __Pyx_DECREF(__pyx_v_dy);
    __pyx_v_dy = ((PyObject *)__pyx_t_1);
    __pyx_t_1 = 0;
    break;
 76:     elif i ==  4: dy = [ 0,  1, -1, 0]
        case 4:
    __pyx_t_1 = PyList_New(4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 76; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(((PyObject *)__pyx_t_1));
    __Pyx_INCREF(__pyx_int_0);
    PyList_SET_ITEM(__pyx_t_1, 0, __pyx_int_0);
    __Pyx_GIVEREF(__pyx_int_0);
    __Pyx_INCREF(__pyx_int_1);
    PyList_SET_ITEM(__pyx_t_1, 1, __pyx_int_1);
    __Pyx_GIVEREF(__pyx_int_1);
    __Pyx_INCREF(__pyx_int_neg_1);
    PyList_SET_ITEM(__pyx_t_1, 2, __pyx_int_neg_1);
    __Pyx_GIVEREF(__pyx_int_neg_1);
    __Pyx_INCREF(__pyx_int_0);
    PyList_SET_ITEM(__pyx_t_1, 3, __pyx_int_0);
    __Pyx_GIVEREF(__pyx_int_0);
    __Pyx_DECREF(__pyx_v_dy);
    __pyx_v_dy = ((PyObject *)__pyx_t_1);
    __pyx_t_1 = 0;
    break;
 77:     elif i ==  5: dy = [-1,  1,  0, 0]
        case 5:
    __pyx_t_1 = PyList_New(4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(((PyObject *)__pyx_t_1));
    __Pyx_INCREF(__pyx_int_neg_1);
    PyList_SET_ITEM(__pyx_t_1, 0, __pyx_int_neg_1);
    __Pyx_GIVEREF(__pyx_int_neg_1);
    __Pyx_INCREF(__pyx_int_1);
    PyList_SET_ITEM(__pyx_t_1, 1, __pyx_int_1);
    __Pyx_GIVEREF(__pyx_int_1);
    __Pyx_INCREF(__pyx_int_0);
    PyList_SET_ITEM(__pyx_t_1, 2, __pyx_int_0);
    __Pyx_GIVEREF(__pyx_int_0);
    __Pyx_INCREF(__pyx_int_0);
    PyList_SET_ITEM(__pyx_t_1, 3, __pyx_int_0);
    __Pyx_GIVEREF(__pyx_int_0);
    __Pyx_DECREF(__pyx_v_dy);
    __pyx_v_dy = ((PyObject *)__pyx_t_1);
    __pyx_t_1 = 0;
    break;
 78:     elif i ==  6: dy = [ 0, -2,  2, 0]
        case 6:
    __pyx_t_1 = PyList_New(4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(((PyObject *)__pyx_t_1));
    __Pyx_INCREF(__pyx_int_0);
    PyList_SET_ITEM(__pyx_t_1, 0, __pyx_int_0);
    __Pyx_GIVEREF(__pyx_int_0);
    __Pyx_INCREF(__pyx_int_neg_2);
    PyList_SET_ITEM(__pyx_t_1, 1, __pyx_int_neg_2);
    __Pyx_GIVEREF(__pyx_int_neg_2);
    __Pyx_INCREF(__pyx_int_2);
    PyList_SET_ITEM(__pyx_t_1, 2, __pyx_int_2);
    __Pyx_GIVEREF(__pyx_int_2);
    __Pyx_INCREF(__pyx_int_0);
    PyList_SET_ITEM(__pyx_t_1, 3, __pyx_int_0);
    __Pyx_GIVEREF(__pyx_int_0);
    __Pyx_DECREF(__pyx_v_dy);
    __pyx_v_dy = ((PyObject *)__pyx_t_1);
    __pyx_t_1 = 0;
    break;
 79:     elif i ==  7: dy = [ 0, -1,  1, 0]
        case 7:
    __pyx_t_1 = PyList_New(4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 79; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(((PyObject *)__pyx_t_1));
    __Pyx_INCREF(__pyx_int_0);
    PyList_SET_ITEM(__pyx_t_1, 0, __pyx_int_0);
    __Pyx_GIVEREF(__pyx_int_0);
    __Pyx_INCREF(__pyx_int_neg_1);
    PyList_SET_ITEM(__pyx_t_1, 1, __pyx_int_neg_1);
    __Pyx_GIVEREF(__pyx_int_neg_1);
    __Pyx_INCREF(__pyx_int_1);
    PyList_SET_ITEM(__pyx_t_1, 2, __pyx_int_1);
    __Pyx_GIVEREF(__pyx_int_1);
    __Pyx_INCREF(__pyx_int_0);
    PyList_SET_ITEM(__pyx_t_1, 3, __pyx_int_0);
    __Pyx_GIVEREF(__pyx_int_0);
    __Pyx_DECREF(__pyx_v_dy);
    __pyx_v_dy = ((PyObject *)__pyx_t_1);
    __pyx_t_1 = 0;
    break;
 80:     elif i ==  8: dy = [ 0, -3,  3, 0]
        case 8:
    __pyx_t_1 = PyList_New(4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 80; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(((PyObject *)__pyx_t_1));
    __Pyx_INCREF(__pyx_int_0);
    PyList_SET_ITEM(__pyx_t_1, 0, __pyx_int_0);
    __Pyx_GIVEREF(__pyx_int_0);
    __Pyx_INCREF(__pyx_int_neg_3);
    PyList_SET_ITEM(__pyx_t_1, 1, __pyx_int_neg_3);
    __Pyx_GIVEREF(__pyx_int_neg_3);
    __Pyx_INCREF(__pyx_int_3);
    PyList_SET_ITEM(__pyx_t_1, 2, __pyx_int_3);
    __Pyx_GIVEREF(__pyx_int_3);
    __Pyx_INCREF(__pyx_int_0);
    PyList_SET_ITEM(__pyx_t_1, 3, __pyx_int_0);
    __Pyx_GIVEREF(__pyx_int_0);
    __Pyx_DECREF(__pyx_v_dy);
    __pyx_v_dy = ((PyObject *)__pyx_t_1);
    __pyx_t_1 = 0;
    break;
 81:     elif i ==  9: dy = [ 0, -2,  2, 0]
        case 9:
    __pyx_t_1 = PyList_New(4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(((PyObject *)__pyx_t_1));
    __Pyx_INCREF(__pyx_int_0);
    PyList_SET_ITEM(__pyx_t_1, 0, __pyx_int_0);
    __Pyx_GIVEREF(__pyx_int_0);
    __Pyx_INCREF(__pyx_int_neg_2);
    PyList_SET_ITEM(__pyx_t_1, 1, __pyx_int_neg_2);
    __Pyx_GIVEREF(__pyx_int_neg_2);
    __Pyx_INCREF(__pyx_int_2);
    PyList_SET_ITEM(__pyx_t_1, 2, __pyx_int_2);
    __Pyx_GIVEREF(__pyx_int_2);
    __Pyx_INCREF(__pyx_int_0);
    PyList_SET_ITEM(__pyx_t_1, 3, __pyx_int_0);
    __Pyx_GIVEREF(__pyx_int_0);
    __Pyx_DECREF(__pyx_v_dy);
    __pyx_v_dy = ((PyObject *)__pyx_t_1);
    __pyx_t_1 = 0;
    break;
 82:     elif i == 10: dy = [ 0, -1,  1, 0]
        case 10:
    __pyx_t_1 = PyList_New(4); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 82; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
    __Pyx_GOTREF(((PyObject *)__pyx_t_1));
    __Pyx_INCREF(__pyx_int_0);
    PyList_SET_ITEM(__pyx_t_1, 0, __pyx_int_0);
    __Pyx_GIVEREF(__pyx_int_0);
    __Pyx_INCREF(__pyx_int_neg_1);
    PyList_SET_ITEM(__pyx_t_1, 1, __pyx_int_neg_1);
    __Pyx_GIVEREF(__pyx_int_neg_1);
    __Pyx_INCREF(__pyx_int_1);
    PyList_SET_ITEM(__pyx_t_1, 2, __pyx_int_1);
    __Pyx_GIVEREF(__pyx_int_1);
    __Pyx_INCREF(__pyx_int_0);
    PyList_SET_ITEM(__pyx_t_1, 3, __pyx_int_0);
    __Pyx_GIVEREF(__pyx_int_0);
    __Pyx_DECREF(__pyx_v_dy);
    __pyx_v_dy = ((PyObject *)__pyx_t_1);
    __pyx_t_1 = 0;
    break;
  }
 83:     return numpy.array(dy)
    __Pyx_XDECREF(((PyObject *)__pyx_r));
  __pyx_1 = __Pyx_GetName(__pyx_m, __pyx_kp_numpy); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_1);
  __pyx_t_1 = PyObject_GetAttr(__pyx_1, __pyx_kp_array); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __Pyx_DECREF(__pyx_1); __pyx_1 = 0;
  __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
  __Pyx_INCREF(__pyx_v_dy);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_dy);
  __Pyx_GIVEREF(__pyx_v_dy);
  __pyx_t_3 = PyObject_Call(__pyx_t_1, ((PyObject *)__pyx_t_2), NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
  if (!(__Pyx_TypeTest(__pyx_t_3, __pyx_ptype_5numpy_ndarray))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = ((PyArrayObject *)__pyx_t_3);
  __pyx_t_3 = 0;
  goto __pyx_L0;

  __pyx_r = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_1);
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_AddTraceback("_home_sage_sagenb_sage_notebook_sagenb_home_klho_12_code_sage8_spyx_0.hysteron_dy");
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_DECREF(__pyx_v_dy);
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_FinishRefcountContext();
  return __pyx_r;
}