Generated by Cython 0.29.13

Yellow lines hint at Python interaction.
Click on a line that starts with a "+" to see the C code that Cython generated for it.

Raw output: CACompute.cpp

+0001: # distutils: language=c++
  __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_1) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 0002: 
+0003: import re
  __pyx_t_1 = __Pyx_Import(__pyx_n_s_re, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  if (PyDict_SetItem(__pyx_d, __pyx_n_s_re, __pyx_t_1) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 0004: from libcpp.vector cimport vector
 0005: from libcpp.pair cimport pair
 0006: from libcpp.map cimport map
 0007: from libcpp cimport bool
 0008: from libcpp.string cimport string
 0009: from libcpp.algorithm cimport sort
 0010: from libcpp.unordered_map cimport unordered_map
 0011: from libcpp.unordered_set cimport unordered_set
 0012: 
 0013: cdef vector[vector[int]] colour_palette
 0014: cdef string rule_name
 0015: cdef string rule_space, bsconditions
 0016: cdef int n_states
 0017: cdef vector[unordered_map[pair[int, int], int]] index_map
 0018: cdef vector[vector[int]] state_weights
 0019: cdef vector[vector[pair[int, int]]] neighbourhood, original_neighbourhood
 0020: cdef vector[vector[int]] neighbourhood_weights
 0021: cdef int alternating_period, birth_state
 0022: cdef vector[unordered_set[int]] birth, survival, forcing, killing, living, \
 0023:     regen_birth, regen_survival, activity_list, other_birth, other_survival, \
 0024:     other_regen_birth, other_regen_survival, other_forcing, other_killing, other_living
 0025: cdef vector[unordered_set[pair[int, int]]] birth_semi_1, survival_semi_1, forcing_semi_1, killing_semi_1, living_semi_1, \
 0026:     regen_birth_semi_1, regen_survival_semi_1
 0027: cdef vector[string] naive_lst, direction_lst
 0028: cdef vector[int] corner_lst, xy_lst
 0029: cdef int corner, xy
 0030: cdef string direction
 0031: 
 0032: cdef extern from "compute.cpp":
 0033:     pass
 0034: 
+0035: cpdef load(filename):
static PyObject *__pyx_pw_9CACompute_1load(PyObject *__pyx_self, PyObject *__pyx_v_filename); /*proto*/
static PyObject *__pyx_f_9CACompute_load(PyObject *__pyx_v_filename, CYTHON_UNUSED int __pyx_skip_dispatch) {
  CYTHON_UNUSED long __pyx_v_corner;
  CYTHON_UNUSED long __pyx_v_xy;
  CYTHON_UNUSED PyObject *__pyx_v_direction = NULL;
  std::string __pyx_v_rule;
  int __pyx_v_neighbourhood_count;
  std::vector<std::vector<int> >  __pyx_v_current_neighbourhood_weights;
  std::vector<std::vector<std::vector<int> > >  __pyx_v_unflattened_neighbourhood_weights;
  std::unordered_set<std::pair<int,int> >  __pyx_v_set_neighbourhood;
  std::pair<int,int>  __pyx_v_neighbour;
  std::pair<int,int>  __pyx_v_neighbour2;
  bool __pyx_v_parsing_neighbourhood;
  int __pyx_v_colour_palette_count;
  std::vector<int>  __pyx_v_temp;
  bool __pyx_v_parsing_colour_palette;
  std::string __pyx_v_section;
  std::vector<std::string>  __pyx_v_rule_string;
  int __pyx_v_neighbourhood_range;
  int __pyx_v_i;
  int __pyx_v_j;
  std::vector<std::vector<int> >  __pyx_v_weights;
  std::vector<std::pair<int,int> >  __pyx_v_pair_temp;
  std::unordered_map<std::pair<int,int> ,int>  __pyx_v_map_temp;
  std::vector<int>  __pyx_v_k;
  int __pyx_v_num;
  int __pyx_v_alt;
  std::unordered_set<int>  __pyx_v_set_temp;
  std::unordered_set<std::pair<int,int> >  __pyx_v_temp_semi_1;
  std::vector<int>  __pyx_v_extended;
  PyObject *__pyx_v_file = NULL;
  PyObject *__pyx_v_x = NULL;
  PyObject *__pyx_v_y = NULL;
  std::string __pyx_v_individual_rule_string;
  PyObject *__pyx_v_current_trans = NULL;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("load", 0);
/* … */
  /* function exit code */
  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_2);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_XDECREF(__pyx_t_14);
  __Pyx_XDECREF(__pyx_t_39);
  __Pyx_XDECREF(__pyx_t_40);
  __Pyx_AddTraceback("CACompute.load", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XDECREF(__pyx_v_direction);
  __Pyx_XDECREF(__pyx_v_file);
  __Pyx_XDECREF(__pyx_v_x);
  __Pyx_XDECREF(__pyx_v_y);
  __Pyx_XDECREF(__pyx_v_current_trans);
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_9CACompute_1load(PyObject *__pyx_self, PyObject *__pyx_v_filename); /*proto*/
static PyObject *__pyx_pw_9CACompute_1load(PyObject *__pyx_self, PyObject *__pyx_v_filename) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("load (wrapper)", 0);
  __pyx_r = __pyx_pf_9CACompute_load(__pyx_self, ((PyObject *)__pyx_v_filename));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9CACompute_load(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_filename) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("load", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9CACompute_load(__pyx_v_filename, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("CACompute.load", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 0036:     global colour_palette, rule_name, rule_space, n_states, state_weights, neighbourhood, neighbourhood_weights,\
 0037:         alternating_period, birth, survival, forcing, killing, living, \
 0038:         regen_birth, regen_survival, activity_list, birth_state, other_birth, other_survival, bsconditions, \
 0039:         original_neighbourhood, index_map, other_forcing, other_killing, other_living, naive_lst, direction_lst, \
 0040:         corner_lst, xy_lst, birth_semi_1, survival_semi_1, forcing_semi_1, killing_semi_1, living_semi_1,\
 0041:         regen_birth_semi_1, regen_survival_semi_1
 0042: 
+0043:     colour_palette.clear()
  __pyx_v_9CACompute_colour_palette.clear();
+0044:     rule_name = b""
  __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_kp_b_); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 44, __pyx_L1_error)
  __pyx_v_9CACompute_rule_name = __pyx_t_1;
+0045:     rule_space = b""
  __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_kp_b_); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 45, __pyx_L1_error)
  __pyx_v_9CACompute_rule_space = __pyx_t_1;
+0046:     bsconditions = b""
  __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_kp_b_); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 46, __pyx_L1_error)
  __pyx_v_9CACompute_bsconditions = __pyx_t_1;
+0047:     n_states = 0
  __pyx_v_9CACompute_n_states = 0;
+0048:     state_weights.clear()
  __pyx_v_9CACompute_state_weights.clear();
+0049:     neighbourhood.clear()
  __pyx_v_9CACompute_neighbourhood.clear();
+0050:     neighbourhood_weights.clear()
  __pyx_v_9CACompute_neighbourhood_weights.clear();
+0051:     original_neighbourhood.clear()
  __pyx_v_9CACompute_original_neighbourhood.clear();
+0052:     alternating_period = 0
  __pyx_v_9CACompute_alternating_period = 0;
+0053:     birth_state = 0
  __pyx_v_9CACompute_birth_state = 0;
+0054:     birth.clear()
  __pyx_v_9CACompute_birth.clear();
+0055:     survival.clear()
  __pyx_v_9CACompute_survival.clear();
+0056:     forcing.clear()
  __pyx_v_9CACompute_forcing.clear();
+0057:     killing.clear()
  __pyx_v_9CACompute_killing.clear();
+0058:     living.clear()
  __pyx_v_9CACompute_living.clear();
+0059:     index_map.clear()
  __pyx_v_9CACompute_index_map.clear();
+0060:     activity_list.clear()
  __pyx_v_9CACompute_activity_list.clear();
+0061:     regen_birth.clear()
  __pyx_v_9CACompute_regen_birth.clear();
+0062:     regen_survival.clear()
  __pyx_v_9CACompute_regen_survival.clear();
+0063:     other_birth.clear()
  __pyx_v_9CACompute_other_birth.clear();
+0064:     other_survival.clear()
  __pyx_v_9CACompute_other_survival.clear();
+0065:     other_forcing.clear()
  __pyx_v_9CACompute_other_forcing.clear();
+0066:     other_killing.clear()
  __pyx_v_9CACompute_other_killing.clear();
+0067:     other_living.clear()
  __pyx_v_9CACompute_other_living.clear();
+0068:     other_regen_birth.clear()
  __pyx_v_9CACompute_other_regen_birth.clear();
+0069:     other_regen_survival.clear()
  __pyx_v_9CACompute_other_regen_survival.clear();
+0070:     birth_semi_1.clear()
  __pyx_v_9CACompute_birth_semi_1.clear();
+0071:     survival_semi_1.clear()
  __pyx_v_9CACompute_survival_semi_1.clear();
+0072:     forcing_semi_1.clear()
  __pyx_v_9CACompute_forcing_semi_1.clear();
+0073:     killing_semi_1.clear()
  __pyx_v_9CACompute_killing_semi_1.clear();
+0074:     living_semi_1.clear()
  __pyx_v_9CACompute_living_semi_1.clear();
+0075:     regen_birth_semi_1.clear()
  __pyx_v_9CACompute_regen_birth_semi_1.clear();
+0076:     regen_survival_semi_1.clear()
  __pyx_v_9CACompute_regen_survival_semi_1.clear();
+0077:     naive_lst.clear()
  __pyx_v_9CACompute_naive_lst.clear();
+0078:     direction_lst.clear()
  __pyx_v_9CACompute_direction_lst.clear();
+0079:     corner_lst.clear()
  __pyx_v_9CACompute_corner_lst.clear();
+0080:     xy_lst.clear()
  __pyx_v_9CACompute_xy_lst.clear();
+0081:     corner = -1
  __pyx_v_corner = -1L;
+0082:     xy = -1
  __pyx_v_xy = -1L;
+0083:     direction = b"o"
  __Pyx_INCREF(__pyx_n_b_o);
  __pyx_v_direction = __pyx_n_b_o;
 0084: 
 0085:     cdef string rule
 0086: 
+0087:     cdef int neighbourhood_count = 0
  __pyx_v_neighbourhood_count = 0;
 0088:     cdef vector[vector[int]] current_neighbourhood_weights
 0089:     cdef vector[vector[vector[int]]] unflattened_neighbourhood_weights
 0090:     cdef unordered_set[pair[int, int]] set_neighbourhood
 0091:     cdef pair[int, int] neighbour, neighbour2
+0092:     cdef bool parsing_neighbourhood = False
  __pyx_v_parsing_neighbourhood = 0;
 0093: 
+0094:     cdef int colour_palette_count = 0
  __pyx_v_colour_palette_count = 0;
 0095:     cdef vector[int] temp
+0096:     cdef bool parsing_colour_palette = False
  __pyx_v_parsing_colour_palette = 0;
 0097: 
 0098:     cdef string section
 0099:     cdef vector[string] rule_string
 0100: 
+0101:     cdef int neighbourhood_range = 0
  __pyx_v_neighbourhood_range = 0;
 0102: 
 0103:     cdef int i, j
 0104:     cdef vector[vector[int]] weights
 0105:     cdef vector[pair[int, int]] pair_temp
 0106:     cdef unordered_map[pair[int, int], int] map_temp
 0107: 
 0108:     cdef vector[int] k
 0109: 
 0110:     cdef int num, alt
 0111:     cdef unordered_set[int] set_temp
 0112:     cdef unordered_set[pair[int, int]] temp_semi_1
 0113:     cdef vector[int] extended
 0114: 
+0115:     file = open(filename, "r")
  __pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_INCREF(__pyx_v_filename);
  __Pyx_GIVEREF(__pyx_v_filename);
  PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_filename);
  __Pyx_INCREF(__pyx_n_u_r);
  __Pyx_GIVEREF(__pyx_n_u_r);
  PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_n_u_r);
  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 115, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_v_file = __pyx_t_3;
  __pyx_t_3 = 0;
+0116:     rule = file.read().encode("utf-8")
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_file, __pyx_n_s_read); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_5 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_5)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_5);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_encode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  __pyx_t_2 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
    __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
    if (likely(__pyx_t_2)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
      __Pyx_INCREF(__pyx_t_2);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_4, function);
    }
  }
  __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_2, __pyx_kp_u_utf_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_u_utf_8);
  __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 116, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_t_3); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 116, __pyx_L1_error)
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  __pyx_v_rule = __pyx_t_1;
 0117: 
+0118:     for section in rule.split(b"\n"):
  __pyx_t_4 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_rule); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 118, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_4);
  __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 118, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
  __pyx_t_4 = NULL;
  if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
    __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
    if (likely(__pyx_t_4)) {
      PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
      __Pyx_INCREF(__pyx_t_4);
      __Pyx_INCREF(function);
      __Pyx_DECREF_SET(__pyx_t_2, function);
    }
  }
  __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_kp_b__2) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__2);
  __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
  if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 118, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
  if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
    __pyx_t_2 = __pyx_t_3; __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = 0;
    __pyx_t_7 = NULL;
  } else {
    __pyx_t_6 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 118, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_2);
    __pyx_t_7 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 118, __pyx_L1_error)
  }
  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
  for (;;) {
    if (likely(!__pyx_t_7)) {
      if (likely(PyList_CheckExact(__pyx_t_2))) {
        if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 118, __pyx_L1_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 118, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
      } else {
        if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
        #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
        __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 118, __pyx_L1_error)
        #else
        __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 118, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        #endif
      }
    } else {
      __pyx_t_3 = __pyx_t_7(__pyx_t_2);
      if (unlikely(!__pyx_t_3)) {
        PyObject* exc_type = PyErr_Occurred();
        if (exc_type) {
          if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
          else __PYX_ERR(0, 118, __pyx_L1_error)
        }
        break;
      }
      __Pyx_GOTREF(__pyx_t_3);
    }
    __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_t_3); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 118, __pyx_L1_error)
    __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    __pyx_v_section = __pyx_t_1;
/* … */
    __pyx_L3_continue:;
  }
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0119:         if section.find(b"Neighbourhood:") != -1 or section.find(b"#") != -1:
    __pyx_t_9 = ((__pyx_v_section.find(__pyx_k_Neighbourhood) != -1L) != 0);
    if (!__pyx_t_9) {
    } else {
      __pyx_t_8 = __pyx_t_9;
      goto __pyx_L6_bool_binop_done;
    }
    __pyx_t_9 = ((__pyx_v_section.find(__pyx_k__3) != -1L) != 0);
    __pyx_t_8 = __pyx_t_9;
    __pyx_L6_bool_binop_done:;
    if (__pyx_t_8) {
/* … */
    }
+0120:             neighbourhood_count = 0
      __pyx_v_neighbourhood_count = 0;
+0121:             parsing_neighbourhood = True
      __pyx_v_parsing_neighbourhood = 1;
+0122:             current_neighbourhood_weights.clear()
      __pyx_v_current_neighbourhood_weights.clear();
+0123:             continue
      goto __pyx_L3_continue;
+0124:         elif parsing_neighbourhood:
    __pyx_t_8 = (__pyx_v_parsing_neighbourhood != 0);
    if (__pyx_t_8) {
/* … */
    }
+0125:             temp.clear()
      __pyx_v_temp.clear();
+0126:             for x in section.split(b","):
      __pyx_t_4 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_section); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 126, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 126, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_5, function);
        }
      }
      __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__4);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 126, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
        __pyx_t_5 = __pyx_t_3; __Pyx_INCREF(__pyx_t_5); __pyx_t_10 = 0;
        __pyx_t_11 = NULL;
      } else {
        __pyx_t_10 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 126, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_11 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 126, __pyx_L1_error)
      }
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      for (;;) {
        if (likely(!__pyx_t_11)) {
          if (likely(PyList_CheckExact(__pyx_t_5))) {
            if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_5)) break;
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_3 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_10); __Pyx_INCREF(__pyx_t_3); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 126, __pyx_L1_error)
            #else
            __pyx_t_3 = PySequence_ITEM(__pyx_t_5, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 126, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            #endif
          } else {
            if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_10); __Pyx_INCREF(__pyx_t_3); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 126, __pyx_L1_error)
            #else
            __pyx_t_3 = PySequence_ITEM(__pyx_t_5, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 126, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            #endif
          }
        } else {
          __pyx_t_3 = __pyx_t_11(__pyx_t_5);
          if (unlikely(!__pyx_t_3)) {
            PyObject* exc_type = PyErr_Occurred();
            if (exc_type) {
              if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
              else __PYX_ERR(0, 126, __pyx_L1_error)
            }
            break;
          }
          __Pyx_GOTREF(__pyx_t_3);
        }
        __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_3);
        __pyx_t_3 = 0;
/* … */
      }
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0127:                 temp.push_back(int(x))
        __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 127, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 127, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        try {
          __pyx_v_temp.push_back(__pyx_t_12);
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 127, __pyx_L1_error)
        }
+0128:             current_neighbourhood_weights.push_back(temp)
      try {
        __pyx_v_current_neighbourhood_weights.push_back(__pyx_v_temp);
      } catch(...) {
        __Pyx_CppExn2PyErr();
        __PYX_ERR(0, 128, __pyx_L1_error)
      }
+0129:             neighbourhood_count += 1
      __pyx_v_neighbourhood_count = (__pyx_v_neighbourhood_count + 1);
+0130:             if neighbourhood_count == neighbourhood_range * 2 + 1:
      __pyx_t_8 = ((__pyx_v_neighbourhood_count == ((__pyx_v_neighbourhood_range * 2) + 1)) != 0);
      if (__pyx_t_8) {
/* … */
      }
+0131:                 parsing_neighbourhood = False
        __pyx_v_parsing_neighbourhood = 0;
+0132:                 unflattened_neighbourhood_weights.push_back(current_neighbourhood_weights)
        try {
          __pyx_v_unflattened_neighbourhood_weights.push_back(__pyx_v_current_neighbourhood_weights);
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 132, __pyx_L1_error)
        }
+0133:             continue
      goto __pyx_L3_continue;
 0134: 
+0135:         if section.find(b"Colour Palette:") != -1:
    __pyx_t_8 = ((__pyx_v_section.find(__pyx_k_Colour_Palette) != -1L) != 0);
    if (__pyx_t_8) {
/* … */
    }
+0136:             parsing_colour_palette = True
      __pyx_v_parsing_colour_palette = 1;
+0137:             continue
      goto __pyx_L3_continue;
+0138:         elif parsing_colour_palette:
    __pyx_t_8 = (__pyx_v_parsing_colour_palette != 0);
    if (__pyx_t_8) {
/* … */
    }
+0139:             if section.find(b"None") != -1:
      __pyx_t_8 = ((__pyx_v_section.find(__pyx_k_None) != -1L) != 0);
      if (__pyx_t_8) {
/* … */
      }
+0140:                 colour_palette.clear()
        __pyx_v_9CACompute_colour_palette.clear();
+0141:                 parsing_colour_palette = False
        __pyx_v_parsing_colour_palette = 0;
+0142:                 continue
        goto __pyx_L3_continue;
 0143: 
+0144:             temp.clear()
      __pyx_v_temp.clear();
+0145:             for x in section.split(b","):
      __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_section); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 145, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 145, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_3)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_3);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
        }
      }
      __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__4);
      __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 145, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
        __pyx_t_4 = __pyx_t_5; __Pyx_INCREF(__pyx_t_4); __pyx_t_10 = 0;
        __pyx_t_11 = NULL;
      } else {
        __pyx_t_10 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 145, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_11 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 145, __pyx_L1_error)
      }
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      for (;;) {
        if (likely(!__pyx_t_11)) {
          if (likely(PyList_CheckExact(__pyx_t_4))) {
            if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_4)) break;
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_5 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_10); __Pyx_INCREF(__pyx_t_5); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 145, __pyx_L1_error)
            #else
            __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 145, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            #endif
          } else {
            if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_10); __Pyx_INCREF(__pyx_t_5); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 145, __pyx_L1_error)
            #else
            __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 145, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            #endif
          }
        } else {
          __pyx_t_5 = __pyx_t_11(__pyx_t_4);
          if (unlikely(!__pyx_t_5)) {
            PyObject* exc_type = PyErr_Occurred();
            if (exc_type) {
              if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
              else __PYX_ERR(0, 145, __pyx_L1_error)
            }
            break;
          }
          __Pyx_GOTREF(__pyx_t_5);
        }
        __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5);
        __pyx_t_5 = 0;
/* … */
      }
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+0146:                 temp.push_back(int(re.sub(b"[() ]", b"", x)))
        __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_re); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 146, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_sub); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 146, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_13);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __pyx_t_3 = NULL;
        __pyx_t_12 = 0;
        if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) {
          __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_13);
          if (likely(__pyx_t_3)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
            __Pyx_INCREF(__pyx_t_3);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_13, function);
            __pyx_t_12 = 1;
          }
        }
        #if CYTHON_FAST_PYCALL
        if (PyFunction_Check(__pyx_t_13)) {
          PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_kp_b__5, __pyx_kp_b_, __pyx_v_x};
          __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 146, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_GOTREF(__pyx_t_5);
        } else
        #endif
        #if CYTHON_FAST_PYCCALL
        if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) {
          PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_kp_b__5, __pyx_kp_b_, __pyx_v_x};
          __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 146, __pyx_L1_error)
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_GOTREF(__pyx_t_5);
        } else
        #endif
        {
          __pyx_t_14 = PyTuple_New(3+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 146, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          if (__pyx_t_3) {
            __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_3); __pyx_t_3 = NULL;
          }
          __Pyx_INCREF(__pyx_kp_b__5);
          __Pyx_GIVEREF(__pyx_kp_b__5);
          PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_12, __pyx_kp_b__5);
          __Pyx_INCREF(__pyx_kp_b_);
          __Pyx_GIVEREF(__pyx_kp_b_);
          PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_12, __pyx_kp_b_);
          __Pyx_INCREF(__pyx_v_x);
          __Pyx_GIVEREF(__pyx_v_x);
          PyTuple_SET_ITEM(__pyx_t_14, 2+__pyx_t_12, __pyx_v_x);
          __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_14, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 146, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
        }
        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_t_5); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 146, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_13);
        __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
        __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_13); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 146, __pyx_L1_error)
        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        try {
          __pyx_v_temp.push_back(__pyx_t_12);
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 146, __pyx_L1_error)
        }
+0147:             colour_palette.push_back(temp)
      try {
        __pyx_v_9CACompute_colour_palette.push_back(__pyx_v_temp);
      } catch(...) {
        __Pyx_CppExn2PyErr();
        __PYX_ERR(0, 147, __pyx_L1_error)
      }
+0148:             colour_palette_count += 1
      __pyx_v_colour_palette_count = (__pyx_v_colour_palette_count + 1);
+0149:             if colour_palette_count == n_states:
      __pyx_t_8 = ((__pyx_v_colour_palette_count == __pyx_v_9CACompute_n_states) != 0);
      if (__pyx_t_8) {
/* … */
      }
+0150:                 parsing_colour_palette = False
        __pyx_v_parsing_colour_palette = 0;
+0151:             continue
      goto __pyx_L3_continue;
 0152: 
+0153:         if section.find(b"Name:") != -1:
    __pyx_t_8 = ((__pyx_v_section.find(__pyx_k_Name) != -1L) != 0);
    if (__pyx_t_8) {
/* … */
      goto __pyx_L16;
    }
+0154:             rule_name = section.replace(b"Name: ", b"")
      __pyx_t_4 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_section); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 154, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_replace); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 154, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_13);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 154, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_t_4); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 154, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_v_9CACompute_rule_name = __pyx_t_1;
/* … */
  __pyx_tuple__6 = PyTuple_Pack(2, __pyx_kp_b_Name_2, __pyx_kp_b_); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(0, 154, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__6);
  __Pyx_GIVEREF(__pyx_tuple__6);
+0155:         elif section.find(b"Neighbourhood Range:") != -1:
    __pyx_t_8 = ((__pyx_v_section.find(__pyx_k_Neighbourhood_Range) != -1L) != 0);
    if (__pyx_t_8) {
/* … */
      goto __pyx_L16;
    }
+0156:             neighbourhood_range = int(section.replace(b"Neighbourhood Range: ", b""))
      __pyx_t_4 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_section); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 156, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_replace); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 156, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_13);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 156, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 156, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_13);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_13); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 156, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      __pyx_v_neighbourhood_range = __pyx_t_12;
/* … */
  __pyx_tuple__7 = PyTuple_Pack(2, __pyx_kp_b_Neighbourhood_Range_2, __pyx_kp_b_); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(0, 156, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__7);
  __Pyx_GIVEREF(__pyx_tuple__7);
+0157:         elif section.find(b"State Weights:") != -1:
    __pyx_t_8 = ((__pyx_v_section.find(__pyx_k_State_Weights) != -1L) != 0);
    if (__pyx_t_8) {
/* … */
      goto __pyx_L16;
    }
+0158:             for x in section.replace(b"State Weights: ", b"").split(b"|"):
      __pyx_t_4 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_section); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 158, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_replace); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 158, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 158, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 158, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_5, function);
        }
      }
      __pyx_t_13 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_kp_b__9) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__9);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 158, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_13);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      if (likely(PyList_CheckExact(__pyx_t_13)) || PyTuple_CheckExact(__pyx_t_13)) {
        __pyx_t_5 = __pyx_t_13; __Pyx_INCREF(__pyx_t_5); __pyx_t_10 = 0;
        __pyx_t_11 = NULL;
      } else {
        __pyx_t_10 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_13); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 158, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_5);
        __pyx_t_11 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 158, __pyx_L1_error)
      }
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      for (;;) {
        if (likely(!__pyx_t_11)) {
          if (likely(PyList_CheckExact(__pyx_t_5))) {
            if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_5)) break;
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_13 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_10); __Pyx_INCREF(__pyx_t_13); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 158, __pyx_L1_error)
            #else
            __pyx_t_13 = PySequence_ITEM(__pyx_t_5, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 158, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            #endif
          } else {
            if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
            #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
            __pyx_t_13 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_10); __Pyx_INCREF(__pyx_t_13); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 158, __pyx_L1_error)
            #else
            __pyx_t_13 = PySequence_ITEM(__pyx_t_5, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 158, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            #endif
          }
        } else {
          __pyx_t_13 = __pyx_t_11(__pyx_t_5);
          if (unlikely(!__pyx_t_13)) {
            PyObject* exc_type = PyErr_Occurred();
            if (exc_type) {
              if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
              else __PYX_ERR(0, 158, __pyx_L1_error)
            }
            break;
          }
          __Pyx_GOTREF(__pyx_t_13);
        }
        __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_13);
        __pyx_t_13 = 0;
/* … */
      }
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
/* … */
  __pyx_tuple__8 = PyTuple_Pack(2, __pyx_kp_b_State_Weights_2, __pyx_kp_b_); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(0, 158, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__8);
  __Pyx_GIVEREF(__pyx_tuple__8);
+0159:                 temp.clear()
        __pyx_v_temp.clear();
+0160:                 for y in x.split(b","):
        __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 160, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_14 = NULL;
        if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
          __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_4);
          if (likely(__pyx_t_14)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
            __Pyx_INCREF(__pyx_t_14);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_4, function);
          }
        }
        __pyx_t_13 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_14, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__4);
        __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
        if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 160, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_13);
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (likely(PyList_CheckExact(__pyx_t_13)) || PyTuple_CheckExact(__pyx_t_13)) {
          __pyx_t_4 = __pyx_t_13; __Pyx_INCREF(__pyx_t_4); __pyx_t_15 = 0;
          __pyx_t_16 = NULL;
        } else {
          __pyx_t_15 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_13); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 160, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_16 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 160, __pyx_L1_error)
        }
        __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
        for (;;) {
          if (likely(!__pyx_t_16)) {
            if (likely(PyList_CheckExact(__pyx_t_4))) {
              if (__pyx_t_15 >= PyList_GET_SIZE(__pyx_t_4)) break;
              #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
              __pyx_t_13 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_15); __Pyx_INCREF(__pyx_t_13); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 160, __pyx_L1_error)
              #else
              __pyx_t_13 = PySequence_ITEM(__pyx_t_4, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 160, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              #endif
            } else {
              if (__pyx_t_15 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
              #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
              __pyx_t_13 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_15); __Pyx_INCREF(__pyx_t_13); __pyx_t_15++; if (unlikely(0 < 0)) __PYX_ERR(0, 160, __pyx_L1_error)
              #else
              __pyx_t_13 = PySequence_ITEM(__pyx_t_4, __pyx_t_15); __pyx_t_15++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 160, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              #endif
            }
          } else {
            __pyx_t_13 = __pyx_t_16(__pyx_t_4);
            if (unlikely(!__pyx_t_13)) {
              PyObject* exc_type = PyErr_Occurred();
              if (exc_type) {
                if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                else __PYX_ERR(0, 160, __pyx_L1_error)
              }
              break;
            }
            __Pyx_GOTREF(__pyx_t_13);
          }
          __Pyx_XDECREF_SET(__pyx_v_y, __pyx_t_13);
          __pyx_t_13 = 0;
/* … */
        }
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+0161:                     temp.push_back(int(y))
          __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_v_y); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 161, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_13); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 161, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          try {
            __pyx_v_temp.push_back(__pyx_t_12);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 161, __pyx_L1_error)
          }
+0162:                 state_weights.push_back(temp)
        try {
          __pyx_v_9CACompute_state_weights.push_back(__pyx_v_temp);
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 162, __pyx_L1_error)
        }
+0163:             n_states = state_weights[0].size()
      __pyx_v_9CACompute_n_states = (__pyx_v_9CACompute_state_weights[0]).size();
+0164:         elif section.find(b"Rulespace:") != -1:
    __pyx_t_8 = ((__pyx_v_section.find(__pyx_k_Rulespace) != -1L) != 0);
    if (__pyx_t_8) {
/* … */
      goto __pyx_L16;
    }
+0165:             rule_space = section.replace(b"Rulespace: ", b"")
      __pyx_t_5 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_section); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 165, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_replace); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 165, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 165, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_t_5); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 165, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_v_9CACompute_rule_space = __pyx_t_1;
/* … */
  __pyx_tuple__10 = PyTuple_Pack(2, __pyx_kp_b_Rulespace_2, __pyx_kp_b_); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(0, 165, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__10);
  __Pyx_GIVEREF(__pyx_tuple__10);
+0166:         elif section.find(b"B/S Conditions:") != -1:
    __pyx_t_8 = ((__pyx_v_section.find(__pyx_k_B_S_Conditions) != -1L) != 0);
    if (__pyx_t_8) {
/* … */
      goto __pyx_L16;
    }
+0167:             bsconditions = section.replace(b"B/S Conditions: ", b"")
      __pyx_t_5 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_section); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 167, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_replace); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 167, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__11, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 167, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_t_5); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 167, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_v_9CACompute_bsconditions = __pyx_t_1;
/* … */
  __pyx_tuple__11 = PyTuple_Pack(2, __pyx_kp_b_B_S_Conditions_2, __pyx_kp_b_); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(0, 167, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__11);
  __Pyx_GIVEREF(__pyx_tuple__11);
+0168:         elif section.find(b"Rulestring:") != -1:
    __pyx_t_8 = ((__pyx_v_section.find(__pyx_k_Rulestring) != -1L) != 0);
    if (__pyx_t_8) {
/* … */
    }
    __pyx_L16:;
+0169:             rule_string = section.replace(b"Rulestring: ", b"").split(b"|")
      __pyx_t_4 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_section); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 169, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_replace); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 169, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_13);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_tuple__12, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 169, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 169, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_13);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
        __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_13);
        if (likely(__pyx_t_4)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
          __Pyx_INCREF(__pyx_t_4);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_13, function);
        }
      }
      __pyx_t_5 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_4, __pyx_kp_b__9) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__9);
      __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
      if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 169, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      __pyx_t_17 = __pyx_convert_vector_from_py_std_3a__3a_string(__pyx_t_5); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 169, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __pyx_v_rule_string = __pyx_t_17;
/* … */
  __pyx_tuple__12 = PyTuple_Pack(2, __pyx_kp_b_Rulestring_2, __pyx_kp_b_); if (unlikely(!__pyx_tuple__12)) __PYX_ERR(0, 169, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_tuple__12);
  __Pyx_GIVEREF(__pyx_tuple__12);
 0170: 
+0171:     alternating_period = state_weights.size()
  __pyx_v_9CACompute_alternating_period = __pyx_v_9CACompute_state_weights.size();
 0172: 
+0173:     for weights in unflattened_neighbourhood_weights:
  __pyx_t_18 = __pyx_v_unflattened_neighbourhood_weights.begin();
  for (;;) {
    if (!(__pyx_t_18 != __pyx_v_unflattened_neighbourhood_weights.end())) break;
    __pyx_t_19 = *__pyx_t_18;
    ++__pyx_t_18;
    __pyx_v_weights = __pyx_t_19;
/* … */
  }
+0174:         pair_temp.clear()
    __pyx_v_pair_temp.clear();
+0175:         for i in range(-neighbourhood_range, neighbourhood_range + 1):
    __pyx_t_20 = (__pyx_v_neighbourhood_range + 1);
    __pyx_t_21 = __pyx_t_20;
    for (__pyx_t_12 = (-__pyx_v_neighbourhood_range); __pyx_t_12 < __pyx_t_21; __pyx_t_12+=1) {
      __pyx_v_i = __pyx_t_12;
+0176:             for j in range(-neighbourhood_range, neighbourhood_range + 1):
      __pyx_t_22 = (__pyx_v_neighbourhood_range + 1);
      __pyx_t_23 = __pyx_t_22;
      for (__pyx_t_24 = (-__pyx_v_neighbourhood_range); __pyx_t_24 < __pyx_t_23; __pyx_t_24+=1) {
        __pyx_v_j = __pyx_t_24;
+0177:                 if weights[i + neighbourhood_range][j + neighbourhood_range] != 0:
        __pyx_t_8 = ((((__pyx_v_weights[(__pyx_v_i + __pyx_v_neighbourhood_range)])[(__pyx_v_j + __pyx_v_neighbourhood_range)]) != 0) != 0);
        if (__pyx_t_8) {
/* … */
        }
      }
    }
+0178:                     pair_temp.push_back(pair[int, int] (i, j))
          try {
            __pyx_t_25 = std::pair<int,int> (__pyx_v_i, __pyx_v_j);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 178, __pyx_L1_error)
          }
          try {
            __pyx_v_pair_temp.push_back(__pyx_t_25);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 178, __pyx_L1_error)
          }
 0179: 
+0180:         neighbourhood.push_back(pair_temp)
    try {
      __pyx_v_9CACompute_neighbourhood.push_back(__pyx_v_pair_temp);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 180, __pyx_L1_error)
    }
 0181: 
+0182:     if bsconditions == b"Double Totalistic":
  __pyx_t_8 = ((__pyx_v_9CACompute_bsconditions == ((char const *)"Double Totalistic")) != 0);
  if (__pyx_t_8) {
/* … */
  }
+0183:         original_neighbourhood = neighbourhood
    __pyx_v_9CACompute_original_neighbourhood = __pyx_v_9CACompute_neighbourhood;
+0184:         neighbourhood.clear()
    __pyx_v_9CACompute_neighbourhood.clear();
+0185:         for i in range(alternating_period):
    __pyx_t_12 = __pyx_v_9CACompute_alternating_period;
    __pyx_t_24 = __pyx_t_12;
    for (__pyx_t_26 = 0; __pyx_t_26 < __pyx_t_24; __pyx_t_26+=1) {
      __pyx_v_i = __pyx_t_26;
+0186:             set_neighbourhood.clear()
      __pyx_v_set_neighbourhood.clear();
+0187:             for neighbour in original_neighbourhood[i]:
      __pyx_t_28 = &(__pyx_v_9CACompute_original_neighbourhood[__pyx_v_i]);
      __pyx_t_27 = __pyx_t_28->begin();
      for (;;) {
        if (!(__pyx_t_27 != __pyx_t_28->end())) break;
        __pyx_t_25 = *__pyx_t_27;
        ++__pyx_t_27;
        __pyx_v_neighbour = __pyx_t_25;
/* … */
      }
+0188:                 for neighbour2 in original_neighbourhood[i]:
        __pyx_t_30 = &(__pyx_v_9CACompute_original_neighbourhood[__pyx_v_i]);
        __pyx_t_29 = __pyx_t_30->begin();
        for (;;) {
          if (!(__pyx_t_29 != __pyx_t_30->end())) break;
          __pyx_t_25 = *__pyx_t_29;
          ++__pyx_t_29;
          __pyx_v_neighbour2 = __pyx_t_25;
/* … */
        }
+0189:                     set_neighbourhood.insert(pair[int, int] (neighbour.first + neighbour2.first,
          try {
            __pyx_t_25 = std::pair<int,int> ((__pyx_v_neighbour.first + __pyx_v_neighbour2.first), (__pyx_v_neighbour.second + __pyx_v_neighbour2.second));
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 189, __pyx_L1_error)
          }
          (void)(__pyx_v_set_neighbourhood.insert(__pyx_t_25));
 0190:                                                              neighbour.second + neighbour2.second))
+0191:                 set_neighbourhood.insert(neighbour)
        (void)(__pyx_v_set_neighbourhood.insert(__pyx_v_neighbour));
 0192: 
+0193:             pair_temp.clear()
      __pyx_v_pair_temp.clear();
+0194:             pair_temp.insert(pair_temp.end(), set_neighbourhood.begin(), set_neighbourhood.end())
      try {
        __pyx_v_pair_temp.insert(__pyx_v_pair_temp.end(), __pyx_v_set_neighbourhood.begin(), __pyx_v_set_neighbourhood.end());
      } catch(...) {
        __Pyx_CppExn2PyErr();
        __PYX_ERR(0, 194, __pyx_L1_error)
      }
+0195:             neighbourhood.push_back(pair_temp)
      try {
        __pyx_v_9CACompute_neighbourhood.push_back(__pyx_v_pair_temp);
      } catch(...) {
        __Pyx_CppExn2PyErr();
        __PYX_ERR(0, 195, __pyx_L1_error)
      }
 0196: 
+0197:             map_temp.clear()
      __pyx_v_map_temp.clear();
+0198:             for j in range(len(neighbourhood[i])):
      __pyx_t_2 = __pyx_convert_vector_to_py_std_3a__3a_pair_3c_int_2c_int_3e___((__pyx_v_9CACompute_neighbourhood[__pyx_v_i])); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 198, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_6 = PyObject_Length(__pyx_t_2); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 198, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_10 = __pyx_t_6;
      for (__pyx_t_31 = 0; __pyx_t_31 < __pyx_t_10; __pyx_t_31+=1) {
        __pyx_v_j = __pyx_t_31;
+0199:                 map_temp[neighbourhood[i][j]] = j
        (__pyx_v_map_temp[((__pyx_v_9CACompute_neighbourhood[__pyx_v_i])[__pyx_v_j])]) = __pyx_v_j;
      }
+0200:             index_map.push_back(map_temp)
      try {
        __pyx_v_9CACompute_index_map.push_back(__pyx_v_map_temp);
      } catch(...) {
        __Pyx_CppExn2PyErr();
        __PYX_ERR(0, 200, __pyx_L1_error)
      }
    }
 0201: 
+0202:     for weights in unflattened_neighbourhood_weights:
  __pyx_t_18 = __pyx_v_unflattened_neighbourhood_weights.begin();
  for (;;) {
    if (!(__pyx_t_18 != __pyx_v_unflattened_neighbourhood_weights.end())) break;
    __pyx_t_19 = *__pyx_t_18;
    ++__pyx_t_18;
    __pyx_v_weights = __pyx_t_19;
/* … */
  }
+0203:         temp.clear()
    __pyx_v_temp.clear();
+0204:         for k in weights:
    __pyx_t_32 = __pyx_v_weights.begin();
    for (;;) {
      if (!(__pyx_t_32 != __pyx_v_weights.end())) break;
      __pyx_t_33 = *__pyx_t_32;
      ++__pyx_t_32;
      __pyx_v_k = __pyx_t_33;
/* … */
    }
+0205:             for j in k:
      __pyx_t_34 = __pyx_v_k.begin();
      for (;;) {
        if (!(__pyx_t_34 != __pyx_v_k.end())) break;
        __pyx_t_12 = *__pyx_t_34;
        ++__pyx_t_34;
        __pyx_v_j = __pyx_t_12;
/* … */
      }
+0206:                 if j != 0:
        __pyx_t_8 = ((__pyx_v_j != 0) != 0);
        if (__pyx_t_8) {
/* … */
        }
+0207:                     temp.push_back(j)
          try {
            __pyx_v_temp.push_back(__pyx_v_j);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 207, __pyx_L1_error)
          }
 0208: 
+0209:         neighbourhood_weights.push_back(temp)
    try {
      __pyx_v_9CACompute_neighbourhood_weights.push_back(__pyx_v_temp);
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 209, __pyx_L1_error)
    }
 0210: 
+0211:     if rule_space == b"Single State":
  __pyx_t_8 = ((__pyx_v_9CACompute_rule_space == ((char const *)"Single State")) != 0);
  if (__pyx_t_8) {
/* … */
    goto __pyx_L44;
  }
+0212:         for individual_rule_string in rule_string:
    __pyx_t_35 = __pyx_v_rule_string.begin();
    for (;;) {
      if (!(__pyx_t_35 != __pyx_v_rule_string.end())) break;
      __pyx_t_1 = *__pyx_t_35;
      ++__pyx_t_35;
      __pyx_v_individual_rule_string = __pyx_t_1;
/* … */
    }
+0213:             if bsconditions == b"Outer Totalistic":
      __pyx_t_8 = ((__pyx_v_9CACompute_bsconditions == ((char const *)"Outer Totalistic")) != 0);
      if (__pyx_t_8) {
/* … */
        goto __pyx_L47;
      }
+0214:                 if individual_rule_string.find(b"/") != -1:
        __pyx_t_8 = ((__pyx_v_individual_rule_string.find(__pyx_k__13) != -1L) != 0);
        if (__pyx_t_8) {
/* … */
          goto __pyx_L48;
        }
+0215:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0216:                     for x in individual_rule_string.split(b"/")[1].split(b","):
          __pyx_t_13 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 216, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 216, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
            }
          }
          __pyx_t_5 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_13, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
          if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 216, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_5, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 216, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 216, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
            if (likely(__pyx_t_4)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_4);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_5, function);
            }
          }
          __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 216, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
            __pyx_t_5 = __pyx_t_2; __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 216, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __pyx_t_7 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 216, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_5))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_5)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 216, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 216, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 216, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 216, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              }
            } else {
              __pyx_t_2 = __pyx_t_7(__pyx_t_5);
              if (unlikely(!__pyx_t_2)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 216, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_2);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
            __pyx_t_2 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0217:                         if x.find(b"-") != -1:
            __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 217, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_13 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
              __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_4);
              if (likely(__pyx_t_13)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                __Pyx_INCREF(__pyx_t_13);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_4, function);
              }
            }
            __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 217, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_4 = __Pyx_PyInt_NeObjC(__pyx_t_2, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 217, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 217, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L51;
            }
+0218:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 218, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_13 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
                __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_2);
                if (likely(__pyx_t_13)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
                  __Pyx_INCREF(__pyx_t_13);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_2, function);
                }
              }
              __pyx_t_4 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 218, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_4, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 218, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 218, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 218, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 218, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 218, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_13 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
                __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_4);
                if (likely(__pyx_t_13)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                  __Pyx_INCREF(__pyx_t_13);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_4, function);
                }
              }
              __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 218, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 218, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 218, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 218, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_21; __pyx_t_12 < __pyx_t_22; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0219:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0220:                         else:
+0221:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 221, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 221, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L51:;
+0222:                     birth.push_back(set_temp)
          try {
            __pyx_v_9CACompute_birth.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 222, __pyx_L1_error)
          }
 0223: 
+0224:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0225:                     for x in individual_rule_string.split(b"/")[0].split(b","):
          __pyx_t_4 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 225, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 225, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_13);
            if (likely(__pyx_t_4)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
              __Pyx_INCREF(__pyx_t_4);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_13, function);
            }
          }
          __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_4, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 225, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 225, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 225, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
            }
          }
          __pyx_t_5 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_13, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
          if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 225, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
            __pyx_t_2 = __pyx_t_5; __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 225, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_7 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 225, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_2)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_5 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 225, __pyx_L1_error)
                #else
                __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 225, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_5);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 225, __pyx_L1_error)
                #else
                __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 225, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_5);
                #endif
              }
            } else {
              __pyx_t_5 = __pyx_t_7(__pyx_t_2);
              if (unlikely(!__pyx_t_5)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 225, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_5);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5);
            __pyx_t_5 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0226:                         if x.find(b"-") != -1:
            __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 226, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __pyx_t_4 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
              __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_13);
              if (likely(__pyx_t_4)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
                __Pyx_INCREF(__pyx_t_4);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_13, function);
              }
            }
            __pyx_t_5 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_4, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 226, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            __pyx_t_13 = __Pyx_PyInt_NeObjC(__pyx_t_5, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 226, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 226, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L56;
            }
+0227:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 227, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_4 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
                __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
                if (likely(__pyx_t_4)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                  __Pyx_INCREF(__pyx_t_4);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_5, function);
                }
              }
              __pyx_t_13 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 227, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_13, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 227, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_t_5); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 227, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_t_13, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 227, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_5); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 227, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 227, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_4 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
                __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_13);
                if (likely(__pyx_t_4)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
                  __Pyx_INCREF(__pyx_t_4);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_13, function);
                }
              }
              __pyx_t_5 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_4, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 227, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_5, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 227, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_13); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 227, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_5); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 227, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_22; __pyx_t_12 < __pyx_t_21; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0228:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0229:                         else:
+0230:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 230, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 230, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L56:;
+0231:                     survival.push_back(set_temp)
          try {
            __pyx_v_9CACompute_survival.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 231, __pyx_L1_error)
          }
 0232: 
+0233:                     try: naive_lst.push_back(individual_rule_string.split(b"/")[2])
          {
            /*try:*/ {
              __pyx_t_5 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 233, __pyx_L59_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 233, __pyx_L59_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
                __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13);
                if (likely(__pyx_t_5)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
                  __Pyx_INCREF(__pyx_t_5);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_13, function);
                }
              }
              __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__13);
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 233, __pyx_L59_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_2, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 233, __pyx_L59_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_t_13); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 233, __pyx_L59_error)
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 233, __pyx_L59_error)
              }
            }
            __Pyx_XDECREF(__pyx_t_36); __pyx_t_36 = 0;
            __Pyx_XDECREF(__pyx_t_37); __pyx_t_37 = 0;
            __Pyx_XDECREF(__pyx_t_38); __pyx_t_38 = 0;
            goto __pyx_L66_try_end;
            __pyx_L59_error:;
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
/* … */
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_ExceptionReset(__pyx_t_36, __pyx_t_37, __pyx_t_38);
            goto __pyx_L1_error;
            __pyx_L60_exception_handled:;
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_ExceptionReset(__pyx_t_36, __pyx_t_37, __pyx_t_38);
            __pyx_L66_try_end:;
          }
+0234:                     except IndexError: naive_lst.push_back(b"-1")
            __pyx_t_12 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_IndexError);
            if (__pyx_t_12) {
              __Pyx_AddTraceback("CACompute.load", __pyx_clineno, __pyx_lineno, __pyx_filename);
              if (__Pyx_GetException(&__pyx_t_13, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 234, __pyx_L61_except_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_kp_b_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 234, __pyx_L61_except_error)
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 234, __pyx_L61_except_error)
              }
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              goto __pyx_L60_exception_handled;
            }
            goto __pyx_L61_except_error;
            __pyx_L61_except_error:;
 0235:                 else:
+0236:                     set_temp.clear()
        /*else*/ {
          __pyx_v_set_temp.clear();
+0237:                     for x in re.split(b"b|s|nn", individual_rule_string)[1].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_re); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 237, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 237, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 237, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_14 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_14)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_14);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_kp_b_b_s_nn, __pyx_t_13};
            __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 237, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_kp_b_b_s_nn, __pyx_t_13};
            __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 237, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          {
            __pyx_t_3 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 237, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            if (__pyx_t_14) {
              __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_14); __pyx_t_14 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_b_s_nn);
            __Pyx_GIVEREF(__pyx_kp_b_b_s_nn);
            PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_12, __pyx_kp_b_b_s_nn);
            __Pyx_GIVEREF(__pyx_t_13);
            PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_12, __pyx_t_13);
            __pyx_t_13 = 0;
            __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 237, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 237, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 237, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_4)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_4);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
            }
          }
          __pyx_t_5 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 237, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
            __pyx_t_2 = __pyx_t_5; __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 237, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_7 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 237, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_2)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_5 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 237, __pyx_L1_error)
                #else
                __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 237, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_5);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 237, __pyx_L1_error)
                #else
                __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 237, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_5);
                #endif
              }
            } else {
              __pyx_t_5 = __pyx_t_7(__pyx_t_2);
              if (unlikely(!__pyx_t_5)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 237, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_5);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5);
            __pyx_t_5 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0238:                         if x.find(b"-") != -1:
            __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 238, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_3 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
              __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
              if (likely(__pyx_t_3)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                __Pyx_INCREF(__pyx_t_3);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_4, function);
              }
            }
            __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 238, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_4 = __Pyx_PyInt_NeObjC(__pyx_t_5, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 238, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 238, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L71;
            }
+0239:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 239, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_3 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
                __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
                if (likely(__pyx_t_3)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                  __Pyx_INCREF(__pyx_t_3);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_5, function);
                }
              }
              __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 239, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_4, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 239, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 239, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 239, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_5); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 239, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 239, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_3 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
                __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
                if (likely(__pyx_t_3)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                  __Pyx_INCREF(__pyx_t_3);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_4, function);
                }
              }
              __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 239, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_5, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 239, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 239, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_5); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 239, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_21; __pyx_t_12 < __pyx_t_22; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0240:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0241:                         else:
+0242:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 242, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 242, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L71:;
+0243:                     birth.push_back(set_temp)
          try {
            __pyx_v_9CACompute_birth.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 243, __pyx_L1_error)
          }
 0244: 
+0245:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0246:                     for x in re.split(b"b|s|nn", individual_rule_string)[2].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_re); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 246, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 246, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 246, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_13 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_kp_b_b_s_nn, __pyx_t_4};
            __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 246, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_kp_b_b_s_nn, __pyx_t_4};
            __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 246, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          {
            __pyx_t_14 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 246, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            if (__pyx_t_13) {
              __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __pyx_t_13 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_b_s_nn);
            __Pyx_GIVEREF(__pyx_kp_b_b_s_nn);
            PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_12, __pyx_kp_b_b_s_nn);
            __Pyx_GIVEREF(__pyx_t_4);
            PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_12, __pyx_t_4);
            __pyx_t_4 = 0;
            __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_14, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 246, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_5, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 246, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 246, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_5, function);
            }
          }
          __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 246, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
            __pyx_t_5 = __pyx_t_2; __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 246, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __pyx_t_7 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 246, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_5))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_5)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 246, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 246, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 246, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 246, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              }
            } else {
              __pyx_t_2 = __pyx_t_7(__pyx_t_5);
              if (unlikely(!__pyx_t_2)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 246, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_2);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
            __pyx_t_2 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0247:                         if x.find(b"-") != -1:
            __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 247, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_14 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
              __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_3);
              if (likely(__pyx_t_14)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                __Pyx_INCREF(__pyx_t_14);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_3, function);
              }
            }
            __pyx_t_2 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_14, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 247, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            __pyx_t_3 = __Pyx_PyInt_NeObjC(__pyx_t_2, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 247, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 247, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L76;
            }
+0248:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 248, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_14 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
                __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_2);
                if (likely(__pyx_t_14)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
                  __Pyx_INCREF(__pyx_t_14);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_2, function);
                }
              }
              __pyx_t_3 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_14, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
              if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 248, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_3, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 248, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 248, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_t_3, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 248, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 248, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 248, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_14 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
                __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_3);
                if (likely(__pyx_t_14)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                  __Pyx_INCREF(__pyx_t_14);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_3, function);
                }
              }
              __pyx_t_2 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_14, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
              if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 248, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 248, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 248, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 248, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_22; __pyx_t_12 < __pyx_t_21; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0249:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0250:                         else:
+0251:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 251, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 251, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L76:;
+0252:                     survival.push_back(set_temp)
          try {
            __pyx_v_9CACompute_survival.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 252, __pyx_L1_error)
          }
 0253: 
+0254:                     try: naive_lst.push_back(re.split(b"b|s|nn", individual_rule_string)[3])
          {
            /*try:*/ {
              __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_re); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 254, __pyx_L79_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 254, __pyx_L79_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 254, __pyx_L79_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_14 = NULL;
              __pyx_t_12 = 0;
              if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
                __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_3);
                if (likely(__pyx_t_14)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                  __Pyx_INCREF(__pyx_t_14);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_3, function);
                  __pyx_t_12 = 1;
                }
              }
              #if CYTHON_FAST_PYCALL
              if (PyFunction_Check(__pyx_t_3)) {
                PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_kp_b_b_s_nn, __pyx_t_2};
                __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 254, __pyx_L79_error)
                __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
                __Pyx_GOTREF(__pyx_t_5);
                __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              } else
              #endif
              #if CYTHON_FAST_PYCCALL
              if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
                PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_kp_b_b_s_nn, __pyx_t_2};
                __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 254, __pyx_L79_error)
                __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
                __Pyx_GOTREF(__pyx_t_5);
                __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              } else
              #endif
              {
                __pyx_t_4 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 254, __pyx_L79_error)
                __Pyx_GOTREF(__pyx_t_4);
                if (__pyx_t_14) {
                  __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_14); __pyx_t_14 = NULL;
                }
                __Pyx_INCREF(__pyx_kp_b_b_s_nn);
                __Pyx_GIVEREF(__pyx_kp_b_b_s_nn);
                PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_12, __pyx_kp_b_b_s_nn);
                __Pyx_GIVEREF(__pyx_t_2);
                PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_12, __pyx_t_2);
                __pyx_t_2 = 0;
                __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 254, __pyx_L79_error)
                __Pyx_GOTREF(__pyx_t_5);
                __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              }
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_5, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 254, __pyx_L79_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_t_3); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 254, __pyx_L79_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 254, __pyx_L79_error)
              }
            }
            __Pyx_XDECREF(__pyx_t_38); __pyx_t_38 = 0;
            __Pyx_XDECREF(__pyx_t_37); __pyx_t_37 = 0;
            __Pyx_XDECREF(__pyx_t_36); __pyx_t_36 = 0;
            goto __pyx_L86_try_end;
            __pyx_L79_error:;
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
/* … */
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_ExceptionReset(__pyx_t_38, __pyx_t_37, __pyx_t_36);
            goto __pyx_L1_error;
            __pyx_L80_exception_handled:;
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_ExceptionReset(__pyx_t_38, __pyx_t_37, __pyx_t_36);
            __pyx_L86_try_end:;
          }
        }
        __pyx_L48:;
+0255:                     except IndexError: naive_lst.push_back(b"-1")
            __pyx_t_12 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_IndexError);
            if (__pyx_t_12) {
              __Pyx_AddTraceback("CACompute.load", __pyx_clineno, __pyx_lineno, __pyx_filename);
              if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_4) < 0) __PYX_ERR(0, 255, __pyx_L81_except_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_kp_b_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 255, __pyx_L81_except_error)
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 255, __pyx_L81_except_error)
              }
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              goto __pyx_L80_exception_handled;
            }
            goto __pyx_L81_except_error;
            __pyx_L81_except_error:;
+0256:             elif bsconditions == b"Double Totalistic":
      __pyx_t_8 = ((__pyx_v_9CACompute_bsconditions == ((char const *)"Double Totalistic")) != 0);
      if (__pyx_t_8) {
/* … */
        goto __pyx_L47;
      }
+0257:                 if individual_rule_string.find(b"/") != -1:
        __pyx_t_8 = ((__pyx_v_individual_rule_string.find(__pyx_k__13) != -1L) != 0);
        if (__pyx_t_8) {
/* … */
          goto __pyx_L89;
        }
+0258:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0259:                     for x in re.findall(b"\((.*?)\)", individual_rule_string.split(b"/")[1])[0].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_re); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 259, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_findall); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 259, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_14 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 259, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 259, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
            __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_13);
            if (likely(__pyx_t_14)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
              __Pyx_INCREF(__pyx_t_14);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_13, function);
            }
          }
          __pyx_t_3 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_14, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 259, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_3, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 259, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_2)) {
            PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_b__15, __pyx_t_13};
            __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 259, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
            PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_b__15, __pyx_t_13};
            __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 259, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          {
            __pyx_t_14 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 259, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            if (__pyx_t_3) {
              __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_3); __pyx_t_3 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_kp_b__15);
            PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_12, __pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_t_13);
            PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_12, __pyx_t_13);
            __pyx_t_13 = 0;
            __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_14, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 259, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_5, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 259, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 259, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5);
            if (likely(__pyx_t_2)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_2);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_5, function);
            }
          }
          __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 259, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
            __pyx_t_5 = __pyx_t_4; __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 259, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __pyx_t_7 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 259, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_5))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_5)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 259, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 259, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 259, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 259, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              }
            } else {
              __pyx_t_4 = __pyx_t_7(__pyx_t_5);
              if (unlikely(!__pyx_t_4)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 259, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_4);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4);
            __pyx_t_4 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0260:                         if x.find(b"-") != -1:
            __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 260, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_14 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
              __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_2);
              if (likely(__pyx_t_14)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
                __Pyx_INCREF(__pyx_t_14);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_2, function);
              }
            }
            __pyx_t_4 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_14, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 260, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __pyx_t_2 = __Pyx_PyInt_NeObjC(__pyx_t_4, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 260, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 260, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L92;
            }
+0261:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 261, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_14 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
                __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_4);
                if (likely(__pyx_t_14)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                  __Pyx_INCREF(__pyx_t_14);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_4, function);
                }
              }
              __pyx_t_2 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_14, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
              if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 261, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 261, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 261, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_PyInt_AddObjC(__pyx_t_2, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 261, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_4); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 261, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 261, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_14 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
                __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_2);
                if (likely(__pyx_t_14)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
                  __Pyx_INCREF(__pyx_t_14);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_2, function);
                }
              }
              __pyx_t_4 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_14, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
              if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 261, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_4, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 261, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 261, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_4); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 261, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_21; __pyx_t_12 < __pyx_t_22; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0262:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0263:                         else:
+0264:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 264, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 264, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L92:;
+0265:                     birth.push_back(set_temp)
          try {
            __pyx_v_9CACompute_birth.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 265, __pyx_L1_error)
          }
 0266: 
+0267:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0268:                     for x in re.findall(b"\((.*?)\)", individual_rule_string.split(b"/")[0])[0].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_re); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 268, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_findall); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 268, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_13 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 268, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 268, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
            }
          }
          __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_13, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 268, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 268, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) {
            __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_14);
            if (likely(__pyx_t_2)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
              __Pyx_INCREF(__pyx_t_2);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_14, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_14)) {
            PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_b__15, __pyx_t_3};
            __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 268, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) {
            PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_b__15, __pyx_t_3};
            __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 268, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          } else
          #endif
          {
            __pyx_t_13 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 268, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            if (__pyx_t_2) {
              __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_2); __pyx_t_2 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_kp_b__15);
            PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_12, __pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_t_3);
            PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_12, __pyx_t_3);
            __pyx_t_3 = 0;
            __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_13, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 268, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_4, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 268, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 268, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_14)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_14);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
            }
          }
          __pyx_t_5 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_14, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
          if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 268, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
            __pyx_t_4 = __pyx_t_5; __Pyx_INCREF(__pyx_t_4); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 268, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_7 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 268, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_4))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_4)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_5 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 268, __pyx_L1_error)
                #else
                __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 268, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_5);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 268, __pyx_L1_error)
                #else
                __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 268, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_5);
                #endif
              }
            } else {
              __pyx_t_5 = __pyx_t_7(__pyx_t_4);
              if (unlikely(!__pyx_t_5)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 268, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_5);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5);
            __pyx_t_5 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+0269:                         if x.find(b"-") != -1:
            __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 269, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __pyx_t_13 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
              __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_14);
              if (likely(__pyx_t_13)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
                __Pyx_INCREF(__pyx_t_13);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_14, function);
              }
            }
            __pyx_t_5 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 269, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
            __pyx_t_14 = __Pyx_PyInt_NeObjC(__pyx_t_5, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 269, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 269, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L97;
            }
+0270:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 270, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_13 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
                __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_5);
                if (likely(__pyx_t_13)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                  __Pyx_INCREF(__pyx_t_13);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_5, function);
                }
              }
              __pyx_t_14 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 270, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_14, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 270, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_t_5); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 270, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_t_14, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 270, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_5); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 270, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 270, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_13 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
                __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_14);
                if (likely(__pyx_t_13)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
                  __Pyx_INCREF(__pyx_t_13);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_14, function);
                }
              }
              __pyx_t_5 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 270, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_5, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 270, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 270, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_5); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 270, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_22; __pyx_t_12 < __pyx_t_21; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0271:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0272:                         else:
+0273:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 273, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 273, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L97:;
+0274:                     survival.push_back(set_temp)
          try {
            __pyx_v_9CACompute_survival.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 274, __pyx_L1_error)
          }
 0275: 
+0276:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0277:                     for x in re.sub(b"\(.*?\)", b"", individual_rule_string.split(b"/")[1]).split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_re); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 277, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_sub); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 277, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 277, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 277, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
            }
          }
          __pyx_t_14 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 277, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_14, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 277, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) {
            __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_13);
            if (likely(__pyx_t_14)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
              __Pyx_INCREF(__pyx_t_14);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_13, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_13)) {
            PyObject *__pyx_temp[4] = {__pyx_t_14, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_2};
            __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 277, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) {
            PyObject *__pyx_temp[4] = {__pyx_t_14, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_2};
            __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 277, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          } else
          #endif
          {
            __pyx_t_3 = PyTuple_New(3+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 277, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            if (__pyx_t_14) {
              __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_14); __pyx_t_14 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__16);
            __Pyx_GIVEREF(__pyx_kp_b__16);
            PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_12, __pyx_kp_b__16);
            __Pyx_INCREF(__pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_kp_b_);
            PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_12, __pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_t_2);
            PyTuple_SET_ITEM(__pyx_t_3, 2+__pyx_t_12, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_3, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 277, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          }
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 277, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_13, function);
            }
          }
          __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 277, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
            __pyx_t_13 = __pyx_t_4; __Pyx_INCREF(__pyx_t_13); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_13 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 277, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __pyx_t_7 = Py_TYPE(__pyx_t_13)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 277, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_13))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_13)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyList_GET_ITEM(__pyx_t_13, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 277, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_13, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 277, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_13)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_13, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 277, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_13, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 277, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              }
            } else {
              __pyx_t_4 = __pyx_t_7(__pyx_t_13);
              if (unlikely(!__pyx_t_4)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 277, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_4);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4);
            __pyx_t_4 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+0278:                         if x.find(b"-") != -1:
            __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 278, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __pyx_t_3 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
              __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
              if (likely(__pyx_t_3)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                __Pyx_INCREF(__pyx_t_3);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_5, function);
              }
            }
            __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 278, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            __pyx_t_5 = __Pyx_PyInt_NeObjC(__pyx_t_4, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 278, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 278, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L102;
            }
+0279:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 279, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_3 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
                __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
                if (likely(__pyx_t_3)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                  __Pyx_INCREF(__pyx_t_3);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_4, function);
                }
              }
              __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 279, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_5, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 279, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 279, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_PyInt_AddObjC(__pyx_t_5, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 279, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_4); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 279, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 279, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_3 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
                __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
                if (likely(__pyx_t_3)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                  __Pyx_INCREF(__pyx_t_3);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_5, function);
                }
              }
              __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 279, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_4, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 279, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 279, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_4); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 279, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_21; __pyx_t_12 < __pyx_t_22; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0280:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0281:                         else:
+0282:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 282, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 282, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L102:;
+0283:                     other_birth.push_back(set_temp)
          try {
            __pyx_v_9CACompute_other_birth.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 283, __pyx_L1_error)
          }
 0284: 
+0285:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0286:                     for x in re.sub(b"\(.*?\)", b"", individual_rule_string.split(b"/")[0]).split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_re); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 286, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_sub); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 286, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_2 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 286, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 286, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
            __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_14);
            if (likely(__pyx_t_2)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
              __Pyx_INCREF(__pyx_t_2);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_14, function);
            }
          }
          __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_2, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 286, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_5, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 286, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_14};
            __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 286, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_14};
            __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 286, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          } else
          #endif
          {
            __pyx_t_2 = PyTuple_New(3+__pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 286, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (__pyx_t_5) {
              __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); __pyx_t_5 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__16);
            __Pyx_GIVEREF(__pyx_kp_b__16);
            PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_12, __pyx_kp_b__16);
            __Pyx_INCREF(__pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_kp_b_);
            PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_12, __pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_t_14);
            PyTuple_SET_ITEM(__pyx_t_2, 2+__pyx_t_12, __pyx_t_14);
            __pyx_t_14 = 0;
            __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 286, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 286, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_4)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_4);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
            }
          }
          __pyx_t_13 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 286, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (likely(PyList_CheckExact(__pyx_t_13)) || PyTuple_CheckExact(__pyx_t_13)) {
            __pyx_t_3 = __pyx_t_13; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 286, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 286, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_3))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_13 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_13); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 286, __pyx_L1_error)
                #else
                __pyx_t_13 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 286, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_13);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_13 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_13); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 286, __pyx_L1_error)
                #else
                __pyx_t_13 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 286, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_13);
                #endif
              }
            } else {
              __pyx_t_13 = __pyx_t_7(__pyx_t_3);
              if (unlikely(!__pyx_t_13)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 286, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_13);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_13);
            __pyx_t_13 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0287:                         if x.find(b"-") != -1:
            __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 287, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_2 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
              __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
              if (likely(__pyx_t_2)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                __Pyx_INCREF(__pyx_t_2);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_4, function);
              }
            }
            __pyx_t_13 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_2, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 287, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_4 = __Pyx_PyInt_NeObjC(__pyx_t_13, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 287, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 287, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L107;
            }
+0288:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 288, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_2 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
                __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_13);
                if (likely(__pyx_t_2)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
                  __Pyx_INCREF(__pyx_t_2);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_13, function);
                }
              }
              __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_2, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
              if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 288, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_4, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 288, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_13); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 288, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 288, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_13); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 288, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 288, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_2 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
                __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
                if (likely(__pyx_t_2)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                  __Pyx_INCREF(__pyx_t_2);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_4, function);
                }
              }
              __pyx_t_13 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_2, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
              if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 288, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_13, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 288, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 288, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_13); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 288, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_22; __pyx_t_12 < __pyx_t_21; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0289:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0290:                         else:
+0291:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 291, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_13); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 291, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L107:;
+0292:                     other_survival.push_back(set_temp)
          try {
            __pyx_v_9CACompute_other_survival.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 292, __pyx_L1_error)
          }
 0293: 
+0294:                     try: naive_lst.push_back(individual_rule_string.split(b"/")[2])
          {
            /*try:*/ {
              __pyx_t_13 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 294, __pyx_L110_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 294, __pyx_L110_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
                __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_4);
                if (likely(__pyx_t_13)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                  __Pyx_INCREF(__pyx_t_13);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_4, function);
                }
              }
              __pyx_t_3 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_13, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__13);
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 294, __pyx_L110_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_3, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 294, __pyx_L110_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_t_4); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 294, __pyx_L110_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 294, __pyx_L110_error)
              }
            }
            __Pyx_XDECREF(__pyx_t_36); __pyx_t_36 = 0;
            __Pyx_XDECREF(__pyx_t_37); __pyx_t_37 = 0;
            __Pyx_XDECREF(__pyx_t_38); __pyx_t_38 = 0;
            goto __pyx_L117_try_end;
            __pyx_L110_error:;
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
/* … */
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_ExceptionReset(__pyx_t_36, __pyx_t_37, __pyx_t_38);
            goto __pyx_L1_error;
            __pyx_L111_exception_handled:;
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_ExceptionReset(__pyx_t_36, __pyx_t_37, __pyx_t_38);
            __pyx_L117_try_end:;
          }
+0295:                     except IndexError: naive_lst.push_back(b"-1")
            __pyx_t_12 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_IndexError);
            if (__pyx_t_12) {
              __Pyx_AddTraceback("CACompute.load", __pyx_clineno, __pyx_lineno, __pyx_filename);
              if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_3, &__pyx_t_13) < 0) __PYX_ERR(0, 295, __pyx_L112_except_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_kp_b_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 295, __pyx_L112_except_error)
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 295, __pyx_L112_except_error)
              }
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              goto __pyx_L111_exception_handled;
            }
            goto __pyx_L112_except_error;
            __pyx_L112_except_error:;
 0296:                 else:
+0297:                     set_temp.clear()
        /*else*/ {
          __pyx_v_set_temp.clear();
+0298:                     for x in re.findall(b"\((.*?)\)", re.split(b"b|s|nn", individual_rule_string)[1])[0].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_re); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 298, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_findall); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 298, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_re); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 298, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 298, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 298, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __pyx_t_39 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_5);
            if (likely(__pyx_t_39)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_39);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_5, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_5)) {
            PyObject *__pyx_temp[3] = {__pyx_t_39, __pyx_kp_b_b_s_nn, __pyx_t_14};
            __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 298, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
            PyObject *__pyx_temp[3] = {__pyx_t_39, __pyx_kp_b_b_s_nn, __pyx_t_14};
            __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 298, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          } else
          #endif
          {
            __pyx_t_40 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 298, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            if (__pyx_t_39) {
              __Pyx_GIVEREF(__pyx_t_39); PyTuple_SET_ITEM(__pyx_t_40, 0, __pyx_t_39); __pyx_t_39 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_b_s_nn);
            __Pyx_GIVEREF(__pyx_kp_b_b_s_nn);
            PyTuple_SET_ITEM(__pyx_t_40, 0+__pyx_t_12, __pyx_kp_b_b_s_nn);
            __Pyx_GIVEREF(__pyx_t_14);
            PyTuple_SET_ITEM(__pyx_t_40, 1+__pyx_t_12, __pyx_t_14);
            __pyx_t_14 = 0;
            __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_40, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 298, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_4, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 298, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_4)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_4);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_2)) {
            PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_b__15, __pyx_t_5};
            __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 298, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
            PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_b__15, __pyx_t_5};
            __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 298, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          {
            __pyx_t_40 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 298, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            if (__pyx_t_4) {
              __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_40, 0, __pyx_t_4); __pyx_t_4 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_kp_b__15);
            PyTuple_SET_ITEM(__pyx_t_40, 0+__pyx_t_12, __pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_t_5);
            PyTuple_SET_ITEM(__pyx_t_40, 1+__pyx_t_12, __pyx_t_5);
            __pyx_t_5 = 0;
            __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_40, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 298, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 298, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 298, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_2)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_2);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
            }
          }
          __pyx_t_13 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 298, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (likely(PyList_CheckExact(__pyx_t_13)) || PyTuple_CheckExact(__pyx_t_13)) {
            __pyx_t_3 = __pyx_t_13; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 298, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 298, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_3))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_13 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_13); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 298, __pyx_L1_error)
                #else
                __pyx_t_13 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 298, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_13);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_13 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_13); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 298, __pyx_L1_error)
                #else
                __pyx_t_13 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 298, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_13);
                #endif
              }
            } else {
              __pyx_t_13 = __pyx_t_7(__pyx_t_3);
              if (unlikely(!__pyx_t_13)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 298, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_13);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_13);
            __pyx_t_13 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0299:                         if x.find(b"-") != -1:
            __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 299, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_40 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
              __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_2);
              if (likely(__pyx_t_40)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
                __Pyx_INCREF(__pyx_t_40);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_2, function);
              }
            }
            __pyx_t_13 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_40, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 299, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __pyx_t_2 = __Pyx_PyInt_NeObjC(__pyx_t_13, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 299, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 299, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L122;
            }
+0300:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 300, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_40 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
                __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_13);
                if (likely(__pyx_t_40)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
                  __Pyx_INCREF(__pyx_t_40);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_13, function);
                }
              }
              __pyx_t_2 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_40, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
              if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 300, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 300, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 300, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_PyInt_AddObjC(__pyx_t_2, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 300, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_13); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 300, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 300, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_40 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
                __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_2);
                if (likely(__pyx_t_40)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
                  __Pyx_INCREF(__pyx_t_40);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_2, function);
                }
              }
              __pyx_t_13 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_40, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
              if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 300, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_13, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 300, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 300, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_13); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 300, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_21; __pyx_t_12 < __pyx_t_22; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0301:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0302:                         else:
+0303:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 303, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_13); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 303, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L122:;
+0304:                     birth.push_back(set_temp)
          try {
            __pyx_v_9CACompute_birth.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 304, __pyx_L1_error)
          }
 0305: 
+0306:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0307:                     for x in re.findall(b"\((.*?)\)", re.split(b"b|s|nn", individual_rule_string)[2])[0].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_re); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 307, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_findall); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 307, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_re); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 307, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 307, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 307, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_14 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_14)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_14);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_kp_b_b_s_nn, __pyx_t_5};
            __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 307, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_kp_b_b_s_nn, __pyx_t_5};
            __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 307, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          {
            __pyx_t_39 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 307, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            if (__pyx_t_14) {
              __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_39, 0, __pyx_t_14); __pyx_t_14 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_b_s_nn);
            __Pyx_GIVEREF(__pyx_kp_b_b_s_nn);
            PyTuple_SET_ITEM(__pyx_t_39, 0+__pyx_t_12, __pyx_kp_b_b_s_nn);
            __Pyx_GIVEREF(__pyx_t_5);
            PyTuple_SET_ITEM(__pyx_t_39, 1+__pyx_t_12, __pyx_t_5);
            __pyx_t_5 = 0;
            __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_39, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 307, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_2, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 307, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_40))) {
            __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_40);
            if (likely(__pyx_t_2)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
              __Pyx_INCREF(__pyx_t_2);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_40, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_40)) {
            PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_b__15, __pyx_t_4};
            __pyx_t_13 = __Pyx_PyFunction_FastCall(__pyx_t_40, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 307, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_40)) {
            PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_b__15, __pyx_t_4};
            __pyx_t_13 = __Pyx_PyCFunction_FastCall(__pyx_t_40, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 307, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          {
            __pyx_t_39 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 307, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            if (__pyx_t_2) {
              __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_39, 0, __pyx_t_2); __pyx_t_2 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_kp_b__15);
            PyTuple_SET_ITEM(__pyx_t_39, 0+__pyx_t_12, __pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_t_4);
            PyTuple_SET_ITEM(__pyx_t_39, 1+__pyx_t_12, __pyx_t_4);
            __pyx_t_4 = 0;
            __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_40, __pyx_t_39, NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 307, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_13, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 307, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 307, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
            __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_13);
            if (likely(__pyx_t_40)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
              __Pyx_INCREF(__pyx_t_40);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_13, function);
            }
          }
          __pyx_t_3 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_40, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 307, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
            __pyx_t_13 = __pyx_t_3; __Pyx_INCREF(__pyx_t_13); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_13 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 307, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __pyx_t_7 = Py_TYPE(__pyx_t_13)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 307, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_13))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_13)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_3 = PyList_GET_ITEM(__pyx_t_13, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 307, __pyx_L1_error)
                #else
                __pyx_t_3 = PySequence_ITEM(__pyx_t_13, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 307, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_3);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_13)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_13, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 307, __pyx_L1_error)
                #else
                __pyx_t_3 = PySequence_ITEM(__pyx_t_13, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 307, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_3);
                #endif
              }
            } else {
              __pyx_t_3 = __pyx_t_7(__pyx_t_13);
              if (unlikely(!__pyx_t_3)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 307, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_3);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_3);
            __pyx_t_3 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+0308:                         if x.find(b"-") != -1:
            __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 308, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __pyx_t_39 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
              __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_40);
              if (likely(__pyx_t_39)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
                __Pyx_INCREF(__pyx_t_39);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_40, function);
              }
            }
            __pyx_t_3 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_39, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 308, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
            __pyx_t_40 = __Pyx_PyInt_NeObjC(__pyx_t_3, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 308, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_40); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 308, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L127;
            }
+0309:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 309, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_39 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
                __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_3);
                if (likely(__pyx_t_39)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                  __Pyx_INCREF(__pyx_t_39);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_3, function);
                }
              }
              __pyx_t_40 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_39, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
              if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 309, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_40, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 309, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 309, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_t_40, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 309, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_3); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 309, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 309, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_39 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
                __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_40);
                if (likely(__pyx_t_39)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
                  __Pyx_INCREF(__pyx_t_39);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_40, function);
                }
              }
              __pyx_t_3 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_39, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
              if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 309, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 309, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_40); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 309, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_3); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 309, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_22; __pyx_t_12 < __pyx_t_21; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0310:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0311:                         else:
+0312:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 312, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 312, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L127:;
+0313:                     survival.push_back(set_temp)
          try {
            __pyx_v_9CACompute_survival.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 313, __pyx_L1_error)
          }
 0314: 
+0315:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0316:                     for x in re.sub(b"\(.*?\)", b"", re.split(b"b|s|nn", individual_rule_string)[1]).split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_re); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 316, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_sub); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 316, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_re); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 316, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 316, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 316, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_5 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_2)) {
            PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_b_b_s_nn, __pyx_t_4};
            __pyx_t_40 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 316, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
            PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_b_b_s_nn, __pyx_t_4};
            __pyx_t_40 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 316, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          {
            __pyx_t_14 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 316, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            if (__pyx_t_5) {
              __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_5); __pyx_t_5 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_b_s_nn);
            __Pyx_GIVEREF(__pyx_kp_b_b_s_nn);
            PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_12, __pyx_kp_b_b_s_nn);
            __Pyx_GIVEREF(__pyx_t_4);
            PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_12, __pyx_t_4);
            __pyx_t_4 = 0;
            __pyx_t_40 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_14, NULL); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 316, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_40, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 316, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_39))) {
            __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_39);
            if (likely(__pyx_t_40)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
              __Pyx_INCREF(__pyx_t_40);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_39, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_39)) {
            PyObject *__pyx_temp[4] = {__pyx_t_40, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_2};
            __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_39, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 316, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_39)) {
            PyObject *__pyx_temp[4] = {__pyx_t_40, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_2};
            __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_39, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 316, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          } else
          #endif
          {
            __pyx_t_14 = PyTuple_New(3+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 316, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            if (__pyx_t_40) {
              __Pyx_GIVEREF(__pyx_t_40); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_40); __pyx_t_40 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__16);
            __Pyx_GIVEREF(__pyx_kp_b__16);
            PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_12, __pyx_kp_b__16);
            __Pyx_INCREF(__pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_kp_b_);
            PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_12, __pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_t_2);
            PyTuple_SET_ITEM(__pyx_t_14, 2+__pyx_t_12, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_39, __pyx_t_14, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 316, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 316, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_39);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_39, function);
            }
          }
          __pyx_t_13 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_3, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 316, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          if (likely(PyList_CheckExact(__pyx_t_13)) || PyTuple_CheckExact(__pyx_t_13)) {
            __pyx_t_39 = __pyx_t_13; __Pyx_INCREF(__pyx_t_39); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_39 = PyObject_GetIter(__pyx_t_13); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 316, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __pyx_t_7 = Py_TYPE(__pyx_t_39)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 316, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_39))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_39)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_13 = PyList_GET_ITEM(__pyx_t_39, __pyx_t_6); __Pyx_INCREF(__pyx_t_13); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 316, __pyx_L1_error)
                #else
                __pyx_t_13 = PySequence_ITEM(__pyx_t_39, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 316, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_13);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_39)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_13 = PyTuple_GET_ITEM(__pyx_t_39, __pyx_t_6); __Pyx_INCREF(__pyx_t_13); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 316, __pyx_L1_error)
                #else
                __pyx_t_13 = PySequence_ITEM(__pyx_t_39, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 316, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_13);
                #endif
              }
            } else {
              __pyx_t_13 = __pyx_t_7(__pyx_t_39);
              if (unlikely(!__pyx_t_13)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 316, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_13);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_13);
            __pyx_t_13 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
+0317:                         if x.find(b"-") != -1:
            __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 317, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_14 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
              __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_3);
              if (likely(__pyx_t_14)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                __Pyx_INCREF(__pyx_t_14);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_3, function);
              }
            }
            __pyx_t_13 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_14, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 317, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            __pyx_t_3 = __Pyx_PyInt_NeObjC(__pyx_t_13, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 317, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 317, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L132;
            }
+0318:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 318, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_14 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
                __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_13);
                if (likely(__pyx_t_14)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
                  __Pyx_INCREF(__pyx_t_14);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_13, function);
                }
              }
              __pyx_t_3 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_14, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
              if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 318, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_3, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 318, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 318, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_PyInt_AddObjC(__pyx_t_3, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 318, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_13); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 318, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 318, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_14 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
                __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_3);
                if (likely(__pyx_t_14)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                  __Pyx_INCREF(__pyx_t_14);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_3, function);
                }
              }
              __pyx_t_13 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_14, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
              if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 318, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_13, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 318, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 318, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_13); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 318, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_21; __pyx_t_12 < __pyx_t_22; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0319:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0320:                         else:
+0321:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 321, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_13); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 321, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L132:;
+0322:                     other_birth.push_back(set_temp)
          try {
            __pyx_v_9CACompute_other_birth.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 322, __pyx_L1_error)
          }
 0323: 
+0324:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0325:                     for x in re.sub(b"\(.*?\)", b"", re.split(b"b|s|nn", individual_rule_string)[2]).split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_re); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 325, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_sub); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 325, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_re); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 325, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 325, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 325, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_4 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_40))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_40);
            if (likely(__pyx_t_4)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
              __Pyx_INCREF(__pyx_t_4);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_40, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_40)) {
            PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_b_b_s_nn, __pyx_t_2};
            __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_40, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 325, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_40)) {
            PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_b_b_s_nn, __pyx_t_2};
            __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_40, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 325, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          } else
          #endif
          {
            __pyx_t_5 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 325, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            if (__pyx_t_4) {
              __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_b_s_nn);
            __Pyx_GIVEREF(__pyx_kp_b_b_s_nn);
            PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_12, __pyx_kp_b_b_s_nn);
            __Pyx_GIVEREF(__pyx_t_2);
            PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_12, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_40, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 325, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_3, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 325, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_14);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_14, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_14)) {
            PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_40};
            __pyx_t_13 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 325, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) {
            PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_40};
            __pyx_t_13 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 325, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          } else
          #endif
          {
            __pyx_t_5 = PyTuple_New(3+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 325, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            if (__pyx_t_3) {
              __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__16);
            __Pyx_GIVEREF(__pyx_kp_b__16);
            PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_12, __pyx_kp_b__16);
            __Pyx_INCREF(__pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_kp_b_);
            PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_12, __pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_t_40);
            PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_12, __pyx_t_40);
            __pyx_t_40 = 0;
            __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_5, NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 325, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 325, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_14);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_14, function);
            }
          }
          __pyx_t_39 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_13, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
          if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 325, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          if (likely(PyList_CheckExact(__pyx_t_39)) || PyTuple_CheckExact(__pyx_t_39)) {
            __pyx_t_14 = __pyx_t_39; __Pyx_INCREF(__pyx_t_14); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_14 = PyObject_GetIter(__pyx_t_39); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 325, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __pyx_t_7 = Py_TYPE(__pyx_t_14)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 325, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_14))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_14)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_39 = PyList_GET_ITEM(__pyx_t_14, __pyx_t_6); __Pyx_INCREF(__pyx_t_39); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 325, __pyx_L1_error)
                #else
                __pyx_t_39 = PySequence_ITEM(__pyx_t_14, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 325, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_39);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_14)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_39 = PyTuple_GET_ITEM(__pyx_t_14, __pyx_t_6); __Pyx_INCREF(__pyx_t_39); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 325, __pyx_L1_error)
                #else
                __pyx_t_39 = PySequence_ITEM(__pyx_t_14, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 325, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_39);
                #endif
              }
            } else {
              __pyx_t_39 = __pyx_t_7(__pyx_t_14);
              if (unlikely(!__pyx_t_39)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 325, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_39);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_39);
            __pyx_t_39 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+0326:                         if x.find(b"-") != -1:
            __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 326, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __pyx_t_5 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
              __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13);
              if (likely(__pyx_t_5)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
                __Pyx_INCREF(__pyx_t_5);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_13, function);
              }
            }
            __pyx_t_39 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 326, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            __pyx_t_13 = __Pyx_PyInt_NeObjC(__pyx_t_39, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 326, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 326, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L137;
            }
+0327:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 327, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_5 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
                __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_39);
                if (likely(__pyx_t_5)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
                  __Pyx_INCREF(__pyx_t_5);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_39, function);
                }
              }
              __pyx_t_13 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_5, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 327, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_13, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 327, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_t_39); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 327, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_PyInt_AddObjC(__pyx_t_13, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 327, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_39); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 327, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 327, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_5 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
                __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13);
                if (likely(__pyx_t_5)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
                  __Pyx_INCREF(__pyx_t_5);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_13, function);
                }
              }
              __pyx_t_39 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 327, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_39, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 327, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_t_13); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 327, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_39); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 327, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_22; __pyx_t_12 < __pyx_t_21; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0328:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0329:                         else:
+0330:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 330, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_39); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 330, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L137:;
+0331:                     other_survival.push_back(set_temp)
          try {
            __pyx_v_9CACompute_other_survival.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 331, __pyx_L1_error)
          }
 0332: 
+0333:                     try: naive_lst.push_back(re.split(b"b|s|nn", individual_rule_string)[3])
          {
            /*try:*/ {
              __Pyx_GetModuleGlobalName(__pyx_t_39, __pyx_n_s_re); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 333, __pyx_L140_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 333, __pyx_L140_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 333, __pyx_L140_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_5 = NULL;
              __pyx_t_12 = 0;
              if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) {
                __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13);
                if (likely(__pyx_t_5)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
                  __Pyx_INCREF(__pyx_t_5);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_13, function);
                  __pyx_t_12 = 1;
                }
              }
              #if CYTHON_FAST_PYCALL
              if (PyFunction_Check(__pyx_t_13)) {
                PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_b_b_s_nn, __pyx_t_39};
                __pyx_t_14 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 333, __pyx_L140_error)
                __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
                __Pyx_GOTREF(__pyx_t_14);
                __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              } else
              #endif
              #if CYTHON_FAST_PYCCALL
              if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) {
                PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_b_b_s_nn, __pyx_t_39};
                __pyx_t_14 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 333, __pyx_L140_error)
                __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
                __Pyx_GOTREF(__pyx_t_14);
                __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              } else
              #endif
              {
                __pyx_t_40 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 333, __pyx_L140_error)
                __Pyx_GOTREF(__pyx_t_40);
                if (__pyx_t_5) {
                  __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_40, 0, __pyx_t_5); __pyx_t_5 = NULL;
                }
                __Pyx_INCREF(__pyx_kp_b_b_s_nn);
                __Pyx_GIVEREF(__pyx_kp_b_b_s_nn);
                PyTuple_SET_ITEM(__pyx_t_40, 0+__pyx_t_12, __pyx_kp_b_b_s_nn);
                __Pyx_GIVEREF(__pyx_t_39);
                PyTuple_SET_ITEM(__pyx_t_40, 1+__pyx_t_12, __pyx_t_39);
                __pyx_t_39 = 0;
                __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_40, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 333, __pyx_L140_error)
                __Pyx_GOTREF(__pyx_t_14);
                __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              }
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_14, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 333, __pyx_L140_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_t_13); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 333, __pyx_L140_error)
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 333, __pyx_L140_error)
              }
            }
            __Pyx_XDECREF(__pyx_t_38); __pyx_t_38 = 0;
            __Pyx_XDECREF(__pyx_t_37); __pyx_t_37 = 0;
            __Pyx_XDECREF(__pyx_t_36); __pyx_t_36 = 0;
            goto __pyx_L147_try_end;
            __pyx_L140_error:;
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
/* … */
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_ExceptionReset(__pyx_t_38, __pyx_t_37, __pyx_t_36);
            goto __pyx_L1_error;
            __pyx_L141_exception_handled:;
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_ExceptionReset(__pyx_t_38, __pyx_t_37, __pyx_t_36);
            __pyx_L147_try_end:;
          }
        }
        __pyx_L89:;
+0334:                     except IndexError: naive_lst.push_back(b"-1")
            __pyx_t_12 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_IndexError);
            if (__pyx_t_12) {
              __Pyx_AddTraceback("CACompute.load", __pyx_clineno, __pyx_lineno, __pyx_filename);
              if (__Pyx_GetException(&__pyx_t_13, &__pyx_t_14, &__pyx_t_40) < 0) __PYX_ERR(0, 334, __pyx_L142_except_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_kp_b_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 334, __pyx_L142_except_error)
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 334, __pyx_L142_except_error)
              }
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
              __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
              goto __pyx_L141_exception_handled;
            }
            goto __pyx_L142_except_error;
            __pyx_L142_except_error:;
+0335:             elif bsconditions == b"Range 1 Moore Semi Totalistic":
      __pyx_t_8 = ((__pyx_v_9CACompute_bsconditions == ((char const *)"Range 1 Moore Semi Totalistic")) != 0);
      if (__pyx_t_8) {
/* … */
      }
      __pyx_L47:;
+0336:                 if individual_rule_string.find(b"/") != -1:
        __pyx_t_8 = ((__pyx_v_individual_rule_string.find(__pyx_k__13) != -1L) != 0);
        if (__pyx_t_8) {
/* … */
          goto __pyx_L150;
        }
+0337:                     temp_semi_1.clear()
          __pyx_v_temp_semi_1.clear();
+0338:                     current_trans = []
          __pyx_t_40 = PyList_New(0); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 338, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_XDECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_40));
          __pyx_t_40 = 0;
+0339:                     for x in individual_rule_string.split(b"/")[1]:
          __pyx_t_14 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 339, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 339, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
            __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_13);
            if (likely(__pyx_t_14)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
              __Pyx_INCREF(__pyx_t_14);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_13, function);
            }
          }
          __pyx_t_40 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_14, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
          if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 339, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_40, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 339, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          if (likely(PyList_CheckExact(__pyx_t_13)) || PyTuple_CheckExact(__pyx_t_13)) {
            __pyx_t_40 = __pyx_t_13; __Pyx_INCREF(__pyx_t_40); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_40 = PyObject_GetIter(__pyx_t_13); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 339, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __pyx_t_7 = Py_TYPE(__pyx_t_40)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 339, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_40))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_40)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_13 = PyList_GET_ITEM(__pyx_t_40, __pyx_t_6); __Pyx_INCREF(__pyx_t_13); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 339, __pyx_L1_error)
                #else
                __pyx_t_13 = PySequence_ITEM(__pyx_t_40, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 339, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_13);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_40)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_13 = PyTuple_GET_ITEM(__pyx_t_40, __pyx_t_6); __Pyx_INCREF(__pyx_t_13); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 339, __pyx_L1_error)
                #else
                __pyx_t_13 = PySequence_ITEM(__pyx_t_40, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 339, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_13);
                #endif
              }
            } else {
              __pyx_t_13 = __pyx_t_7(__pyx_t_40);
              if (unlikely(!__pyx_t_13)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 339, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_13);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_13);
            __pyx_t_13 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
+0340:                         current_trans.append(int(str(x)))
            __pyx_t_13 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_x); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 340, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_t_13); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 340, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            __pyx_t_41 = __Pyx_PyList_Append(__pyx_v_current_trans, __pyx_t_14); if (unlikely(__pyx_t_41 == ((int)-1))) __PYX_ERR(0, 340, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+0341:                         if len(current_trans) == 2:
            __pyx_t_10 = PyList_GET_SIZE(__pyx_v_current_trans); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 341, __pyx_L1_error)
            __pyx_t_8 = ((__pyx_t_10 == 2) != 0);
            if (__pyx_t_8) {
/* … */
            }
+0342:                             temp_semi_1.insert(pair[int, int] (current_trans[0] - 48, current_trans[1] - 48))
              __pyx_t_14 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 342, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_13 = __Pyx_PyInt_SubtractObjC(__pyx_t_14, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 342, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_13); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 342, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 342, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_14 = __Pyx_PyInt_SubtractObjC(__pyx_t_13, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 342, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_14); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 342, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              try {
                __pyx_t_25 = std::pair<int,int> (__pyx_t_12, __pyx_t_24);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 342, __pyx_L1_error)
              }
              (void)(__pyx_v_temp_semi_1.insert(__pyx_t_25));
+0343:                             current_trans = []
              __pyx_t_14 = PyList_New(0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 343, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_14));
              __pyx_t_14 = 0;
+0344:                     birth_semi_1.push_back(temp_semi_1)
          try {
            __pyx_v_9CACompute_birth_semi_1.push_back(__pyx_v_temp_semi_1);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 344, __pyx_L1_error)
          }
 0345: 
+0346:                     temp_semi_1.clear()
          __pyx_v_temp_semi_1.clear();
+0347:                     current_trans = []
          __pyx_t_40 = PyList_New(0); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 347, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_40));
          __pyx_t_40 = 0;
+0348:                     for x in individual_rule_string.split(b"/")[0]:
          __pyx_t_14 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 348, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 348, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
            __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_13);
            if (likely(__pyx_t_14)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
              __Pyx_INCREF(__pyx_t_14);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_13, function);
            }
          }
          __pyx_t_40 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_14, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
          if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 348, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_40, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 348, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          if (likely(PyList_CheckExact(__pyx_t_13)) || PyTuple_CheckExact(__pyx_t_13)) {
            __pyx_t_40 = __pyx_t_13; __Pyx_INCREF(__pyx_t_40); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_40 = PyObject_GetIter(__pyx_t_13); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 348, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __pyx_t_7 = Py_TYPE(__pyx_t_40)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 348, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_40))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_40)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_13 = PyList_GET_ITEM(__pyx_t_40, __pyx_t_6); __Pyx_INCREF(__pyx_t_13); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 348, __pyx_L1_error)
                #else
                __pyx_t_13 = PySequence_ITEM(__pyx_t_40, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 348, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_13);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_40)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_13 = PyTuple_GET_ITEM(__pyx_t_40, __pyx_t_6); __Pyx_INCREF(__pyx_t_13); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 348, __pyx_L1_error)
                #else
                __pyx_t_13 = PySequence_ITEM(__pyx_t_40, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 348, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_13);
                #endif
              }
            } else {
              __pyx_t_13 = __pyx_t_7(__pyx_t_40);
              if (unlikely(!__pyx_t_13)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 348, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_13);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_13);
            __pyx_t_13 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
+0349:                         current_trans.append(int(str(x)))
            __pyx_t_13 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_x); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 349, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_t_13); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 349, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            __pyx_t_41 = __Pyx_PyList_Append(__pyx_v_current_trans, __pyx_t_14); if (unlikely(__pyx_t_41 == ((int)-1))) __PYX_ERR(0, 349, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+0350:                         if len(current_trans) == 2:
            __pyx_t_10 = PyList_GET_SIZE(__pyx_v_current_trans); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 350, __pyx_L1_error)
            __pyx_t_8 = ((__pyx_t_10 == 2) != 0);
            if (__pyx_t_8) {
/* … */
            }
+0351:                             temp_semi_1.insert(pair[int, int] (current_trans[0] - 48, current_trans[1] - 48))
              __pyx_t_14 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 351, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_13 = __Pyx_PyInt_SubtractObjC(__pyx_t_14, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 351, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_13); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 351, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 351, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_14 = __Pyx_PyInt_SubtractObjC(__pyx_t_13, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 351, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_14); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 351, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              try {
                __pyx_t_25 = std::pair<int,int> (__pyx_t_24, __pyx_t_12);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 351, __pyx_L1_error)
              }
              (void)(__pyx_v_temp_semi_1.insert(__pyx_t_25));
+0352:                             current_trans = []
              __pyx_t_14 = PyList_New(0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 352, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_14));
              __pyx_t_14 = 0;
+0353:                     survival_semi_1.push_back(temp_semi_1)
          try {
            __pyx_v_9CACompute_survival_semi_1.push_back(__pyx_v_temp_semi_1);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 353, __pyx_L1_error)
          }
 0354: 
+0355:                     file = open("log.log", "a")
          __pyx_t_40 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 355, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF_SET(__pyx_v_file, __pyx_t_40);
          __pyx_t_40 = 0;
+0356:                     file.write(str(birth_semi_1) + " " + str(survival_semi_1) + "\n")
          __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_file, __pyx_n_s_write); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 356, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __pyx_t_13 = __pyx_convert_vector_to_py_std_3a__3a_unordered_set_3c_std_3a__3a_pair_3c_int_2c_int_3e____3e___(__pyx_v_9CACompute_birth_semi_1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 356, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_39 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_13); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 356, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __Pyx_PyUnicode_Concat(__pyx_t_39, __pyx_kp_u__18); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 356, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = __pyx_convert_vector_to_py_std_3a__3a_unordered_set_3c_std_3a__3a_pair_3c_int_2c_int_3e____3e___(__pyx_v_9CACompute_survival_semi_1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 356, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_39); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 356, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = __Pyx_PyUnicode_Concat(__pyx_t_13, __pyx_t_5); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 356, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_t_39, __pyx_kp_u__2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 356, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_14);
            if (likely(__pyx_t_39)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
              __Pyx_INCREF(__pyx_t_39);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_14, function);
            }
          }
          __pyx_t_40 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_39, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_5);
          __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 356, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
+0357:                     file.close()
          __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_file, __pyx_n_s_close); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 357, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __pyx_t_5 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_14);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_14, function);
            }
          }
          __pyx_t_40 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_14);
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 357, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
 0358: 
+0359:                     try: naive_lst.push_back(individual_rule_string.split(b"/")[2])
          {
            /*try:*/ {
              __pyx_t_14 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 359, __pyx_L157_error)
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 359, __pyx_L157_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
                __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_5);
                if (likely(__pyx_t_14)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                  __Pyx_INCREF(__pyx_t_14);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_5, function);
                }
              }
              __pyx_t_40 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_14, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__13);
              __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
              if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 359, __pyx_L157_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_40, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 359, __pyx_L157_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_t_5); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 359, __pyx_L157_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 359, __pyx_L157_error)
              }
            }
            __Pyx_XDECREF(__pyx_t_36); __pyx_t_36 = 0;
            __Pyx_XDECREF(__pyx_t_37); __pyx_t_37 = 0;
            __Pyx_XDECREF(__pyx_t_38); __pyx_t_38 = 0;
            goto __pyx_L164_try_end;
            __pyx_L157_error:;
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
/* … */
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_ExceptionReset(__pyx_t_36, __pyx_t_37, __pyx_t_38);
            goto __pyx_L1_error;
            __pyx_L158_exception_handled:;
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_ExceptionReset(__pyx_t_36, __pyx_t_37, __pyx_t_38);
            __pyx_L164_try_end:;
          }
+0360:                     except IndexError: naive_lst.push_back(b"-1")
            __pyx_t_12 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_IndexError);
            if (__pyx_t_12) {
              __Pyx_AddTraceback("CACompute.load", __pyx_clineno, __pyx_lineno, __pyx_filename);
              if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_40, &__pyx_t_14) < 0) __PYX_ERR(0, 360, __pyx_L159_except_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_kp_b_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 360, __pyx_L159_except_error)
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 360, __pyx_L159_except_error)
              }
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
              __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
              goto __pyx_L158_exception_handled;
            }
            goto __pyx_L159_except_error;
            __pyx_L159_except_error:;
 0361:                 else:
+0362:                     temp_semi_1.clear()
        /*else*/ {
          __pyx_v_temp_semi_1.clear();
+0363:                     current_trans = []
          __pyx_t_14 = PyList_New(0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 363, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_XDECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_14));
          __pyx_t_14 = 0;
+0364:                     for x in re.split(b"b|s|nn", individual_rule_string)[1]:
          __Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_re); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 364, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 364, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 364, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __pyx_t_39 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_5);
            if (likely(__pyx_t_39)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_39);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_5, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_5)) {
            PyObject *__pyx_temp[3] = {__pyx_t_39, __pyx_kp_b_b_s_nn, __pyx_t_40};
            __pyx_t_14 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 364, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
            PyObject *__pyx_temp[3] = {__pyx_t_39, __pyx_kp_b_b_s_nn, __pyx_t_40};
            __pyx_t_14 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 364, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          } else
          #endif
          {
            __pyx_t_13 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 364, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            if (__pyx_t_39) {
              __Pyx_GIVEREF(__pyx_t_39); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_39); __pyx_t_39 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_b_s_nn);
            __Pyx_GIVEREF(__pyx_kp_b_b_s_nn);
            PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_12, __pyx_kp_b_b_s_nn);
            __Pyx_GIVEREF(__pyx_t_40);
            PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_12, __pyx_t_40);
            __pyx_t_40 = 0;
            __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_13, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 364, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_14, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 364, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
            __pyx_t_14 = __pyx_t_5; __Pyx_INCREF(__pyx_t_14); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_14 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 364, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __pyx_t_7 = Py_TYPE(__pyx_t_14)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 364, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_14))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_14)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_5 = PyList_GET_ITEM(__pyx_t_14, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 364, __pyx_L1_error)
                #else
                __pyx_t_5 = PySequence_ITEM(__pyx_t_14, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 364, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_5);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_14)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_14, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 364, __pyx_L1_error)
                #else
                __pyx_t_5 = PySequence_ITEM(__pyx_t_14, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 364, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_5);
                #endif
              }
            } else {
              __pyx_t_5 = __pyx_t_7(__pyx_t_14);
              if (unlikely(!__pyx_t_5)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 364, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_5);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5);
            __pyx_t_5 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+0365:                         current_trans.append(int(str(x)))
            __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_x); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 365, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_t_5); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 365, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            __pyx_t_41 = __Pyx_PyList_Append(__pyx_v_current_trans, __pyx_t_13); if (unlikely(__pyx_t_41 == ((int)-1))) __PYX_ERR(0, 365, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+0366:                         if len(current_trans) == 2:
            __pyx_t_10 = PyList_GET_SIZE(__pyx_v_current_trans); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 366, __pyx_L1_error)
            __pyx_t_8 = ((__pyx_t_10 == 2) != 0);
            if (__pyx_t_8) {
/* … */
            }
+0367:                             temp_semi_1.insert(pair[int, int] (current_trans[0] - 48, current_trans[1] - 48))
              __pyx_t_13 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 367, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_5 = __Pyx_PyInt_SubtractObjC(__pyx_t_13, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 367, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 367, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 367, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_13 = __Pyx_PyInt_SubtractObjC(__pyx_t_5, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 367, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_13); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 367, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              try {
                __pyx_t_25 = std::pair<int,int> (__pyx_t_12, __pyx_t_24);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 367, __pyx_L1_error)
              }
              (void)(__pyx_v_temp_semi_1.insert(__pyx_t_25));
+0368:                             current_trans = []
              __pyx_t_13 = PyList_New(0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 368, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_13));
              __pyx_t_13 = 0;
+0369:                     birth_semi_1.push_back(temp_semi_1)
          try {
            __pyx_v_9CACompute_birth_semi_1.push_back(__pyx_v_temp_semi_1);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 369, __pyx_L1_error)
          }
 0370: 
+0371:                     temp_semi_1.clear()
          __pyx_v_temp_semi_1.clear();
+0372:                     for x in re.split(b"b|s|nn", individual_rule_string)[2]:
          __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_re); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 372, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 372, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 372, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_40 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_5);
            if (likely(__pyx_t_40)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_40);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_5, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_5)) {
            PyObject *__pyx_temp[3] = {__pyx_t_40, __pyx_kp_b_b_s_nn, __pyx_t_13};
            __pyx_t_14 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 372, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
            PyObject *__pyx_temp[3] = {__pyx_t_40, __pyx_kp_b_b_s_nn, __pyx_t_13};
            __pyx_t_14 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 372, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          {
            __pyx_t_39 = PyTuple_New(2+__pyx_t_24); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 372, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            if (__pyx_t_40) {
              __Pyx_GIVEREF(__pyx_t_40); PyTuple_SET_ITEM(__pyx_t_39, 0, __pyx_t_40); __pyx_t_40 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_b_s_nn);
            __Pyx_GIVEREF(__pyx_kp_b_b_s_nn);
            PyTuple_SET_ITEM(__pyx_t_39, 0+__pyx_t_24, __pyx_kp_b_b_s_nn);
            __Pyx_GIVEREF(__pyx_t_13);
            PyTuple_SET_ITEM(__pyx_t_39, 1+__pyx_t_24, __pyx_t_13);
            __pyx_t_13 = 0;
            __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_39, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 372, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_14, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 372, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
            __pyx_t_14 = __pyx_t_5; __Pyx_INCREF(__pyx_t_14); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_14 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 372, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __pyx_t_7 = Py_TYPE(__pyx_t_14)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 372, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_14))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_14)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_5 = PyList_GET_ITEM(__pyx_t_14, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 372, __pyx_L1_error)
                #else
                __pyx_t_5 = PySequence_ITEM(__pyx_t_14, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 372, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_5);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_14)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_14, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 372, __pyx_L1_error)
                #else
                __pyx_t_5 = PySequence_ITEM(__pyx_t_14, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 372, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_5);
                #endif
              }
            } else {
              __pyx_t_5 = __pyx_t_7(__pyx_t_14);
              if (unlikely(!__pyx_t_5)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 372, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_5);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5);
            __pyx_t_5 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+0373:                         current_trans.append(int(str(x)))
            __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_x); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 373, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_t_5); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 373, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            __pyx_t_41 = __Pyx_PyList_Append(__pyx_v_current_trans, __pyx_t_39); if (unlikely(__pyx_t_41 == ((int)-1))) __PYX_ERR(0, 373, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
+0374:                         if len(current_trans) == 2:
            __pyx_t_10 = PyList_GET_SIZE(__pyx_v_current_trans); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 374, __pyx_L1_error)
            __pyx_t_8 = ((__pyx_t_10 == 2) != 0);
            if (__pyx_t_8) {
/* … */
            }
+0375:                             temp_semi_1.insert(pair[int, int] (current_trans[0] - 48, current_trans[1] - 48))
              __pyx_t_39 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 375, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_5 = __Pyx_PyInt_SubtractObjC(__pyx_t_39, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 375, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 375, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 375, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_39 = __Pyx_PyInt_SubtractObjC(__pyx_t_5, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 375, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_39); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 375, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              try {
                __pyx_t_25 = std::pair<int,int> (__pyx_t_24, __pyx_t_12);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 375, __pyx_L1_error)
              }
              (void)(__pyx_v_temp_semi_1.insert(__pyx_t_25));
+0376:                             current_trans = []
              __pyx_t_39 = PyList_New(0); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 376, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_39));
              __pyx_t_39 = 0;
+0377:                     survival_semi_1.push_back(temp_semi_1)
          try {
            __pyx_v_9CACompute_survival_semi_1.push_back(__pyx_v_temp_semi_1);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 377, __pyx_L1_error)
          }
 0378: 
+0379:                     try: naive_lst.push_back(re.split(b"b|s|nn", individual_rule_string)[3])
          {
            /*try:*/ {
              __Pyx_GetModuleGlobalName(__pyx_t_39, __pyx_n_s_re); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 379, __pyx_L173_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 379, __pyx_L173_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 379, __pyx_L173_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_13 = NULL;
              __pyx_t_12 = 0;
              if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
                __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_5);
                if (likely(__pyx_t_13)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                  __Pyx_INCREF(__pyx_t_13);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_5, function);
                  __pyx_t_12 = 1;
                }
              }
              #if CYTHON_FAST_PYCALL
              if (PyFunction_Check(__pyx_t_5)) {
                PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_kp_b_b_s_nn, __pyx_t_39};
                __pyx_t_14 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 379, __pyx_L173_error)
                __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
                __Pyx_GOTREF(__pyx_t_14);
                __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              } else
              #endif
              #if CYTHON_FAST_PYCCALL
              if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
                PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_kp_b_b_s_nn, __pyx_t_39};
                __pyx_t_14 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 379, __pyx_L173_error)
                __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
                __Pyx_GOTREF(__pyx_t_14);
                __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              } else
              #endif
              {
                __pyx_t_40 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 379, __pyx_L173_error)
                __Pyx_GOTREF(__pyx_t_40);
                if (__pyx_t_13) {
                  __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_40, 0, __pyx_t_13); __pyx_t_13 = NULL;
                }
                __Pyx_INCREF(__pyx_kp_b_b_s_nn);
                __Pyx_GIVEREF(__pyx_kp_b_b_s_nn);
                PyTuple_SET_ITEM(__pyx_t_40, 0+__pyx_t_12, __pyx_kp_b_b_s_nn);
                __Pyx_GIVEREF(__pyx_t_39);
                PyTuple_SET_ITEM(__pyx_t_40, 1+__pyx_t_12, __pyx_t_39);
                __pyx_t_39 = 0;
                __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_40, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 379, __pyx_L173_error)
                __Pyx_GOTREF(__pyx_t_14);
                __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              }
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_14, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 379, __pyx_L173_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_t_5); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 379, __pyx_L173_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 379, __pyx_L173_error)
              }
            }
            __Pyx_XDECREF(__pyx_t_38); __pyx_t_38 = 0;
            __Pyx_XDECREF(__pyx_t_37); __pyx_t_37 = 0;
            __Pyx_XDECREF(__pyx_t_36); __pyx_t_36 = 0;
            goto __pyx_L180_try_end;
            __pyx_L173_error:;
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
/* … */
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_ExceptionReset(__pyx_t_38, __pyx_t_37, __pyx_t_36);
            goto __pyx_L1_error;
            __pyx_L174_exception_handled:;
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_ExceptionReset(__pyx_t_38, __pyx_t_37, __pyx_t_36);
            __pyx_L180_try_end:;
          }
        }
        __pyx_L150:;
+0380:                     except IndexError: naive_lst.push_back(b"-1")
            __pyx_t_12 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_IndexError);
            if (__pyx_t_12) {
              __Pyx_AddTraceback("CACompute.load", __pyx_clineno, __pyx_lineno, __pyx_filename);
              if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_14, &__pyx_t_40) < 0) __PYX_ERR(0, 380, __pyx_L175_except_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_kp_b_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 380, __pyx_L175_except_error)
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 380, __pyx_L175_except_error)
              }
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
              __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
              goto __pyx_L174_exception_handled;
            }
            goto __pyx_L175_except_error;
            __pyx_L175_except_error:;
+0381:     elif rule_space == b"BSFKL":
  __pyx_t_8 = ((__pyx_v_9CACompute_rule_space == ((char const *)"BSFKL")) != 0);
  if (__pyx_t_8) {
/* … */
    goto __pyx_L44;
  }
+0382:         for individual_rule_string in rule_string:
    __pyx_t_35 = __pyx_v_rule_string.begin();
    for (;;) {
      if (!(__pyx_t_35 != __pyx_v_rule_string.end())) break;
      __pyx_t_1 = *__pyx_t_35;
      ++__pyx_t_35;
      __pyx_v_individual_rule_string = __pyx_t_1;
/* … */
    }
+0383:             if bsconditions == b"Outer Totalistic":
      __pyx_t_8 = ((__pyx_v_9CACompute_bsconditions == ((char const *)"Outer Totalistic")) != 0);
      if (__pyx_t_8) {
/* … */
        goto __pyx_L185;
      }
+0384:                 if individual_rule_string.find(b"/") != -1:
        __pyx_t_8 = ((__pyx_v_individual_rule_string.find(__pyx_k__13) != -1L) != 0);
        if (__pyx_t_8) {
/* … */
          goto __pyx_L186;
        }
+0385:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0386:                     for x in individual_rule_string.split(b"/")[0].split(b","):
          __pyx_t_5 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 386, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 386, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_39);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_39, function);
            }
          }
          __pyx_t_14 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_5, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 386, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_14, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 386, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 386, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_14);
            if (likely(__pyx_t_39)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
              __Pyx_INCREF(__pyx_t_39);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_14, function);
            }
          }
          __pyx_t_40 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_39, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
          if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 386, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          if (likely(PyList_CheckExact(__pyx_t_40)) || PyTuple_CheckExact(__pyx_t_40)) {
            __pyx_t_14 = __pyx_t_40; __Pyx_INCREF(__pyx_t_14); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_14 = PyObject_GetIter(__pyx_t_40); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 386, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __pyx_t_7 = Py_TYPE(__pyx_t_14)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 386, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_14))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_14)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_40 = PyList_GET_ITEM(__pyx_t_14, __pyx_t_6); __Pyx_INCREF(__pyx_t_40); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 386, __pyx_L1_error)
                #else
                __pyx_t_40 = PySequence_ITEM(__pyx_t_14, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 386, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_40);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_14)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_40 = PyTuple_GET_ITEM(__pyx_t_14, __pyx_t_6); __Pyx_INCREF(__pyx_t_40); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 386, __pyx_L1_error)
                #else
                __pyx_t_40 = PySequence_ITEM(__pyx_t_14, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 386, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_40);
                #endif
              }
            } else {
              __pyx_t_40 = __pyx_t_7(__pyx_t_14);
              if (unlikely(!__pyx_t_40)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 386, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_40);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_40);
            __pyx_t_40 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+0387:                         if x.find(b"-") != -1:
            __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 387, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __pyx_t_5 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
              __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_39);
              if (likely(__pyx_t_5)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
                __Pyx_INCREF(__pyx_t_5);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_39, function);
              }
            }
            __pyx_t_40 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_5, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 387, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
            __pyx_t_39 = __Pyx_PyInt_NeObjC(__pyx_t_40, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 387, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_39); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 387, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L189;
            }
+0388:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 388, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_5 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
                __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_40);
                if (likely(__pyx_t_5)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
                  __Pyx_INCREF(__pyx_t_5);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_40, function);
                }
              }
              __pyx_t_39 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_5, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 388, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_39, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 388, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_t_40); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 388, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyInt_AddObjC(__pyx_t_39, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 388, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_40); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 388, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 388, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_5 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
                __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_39);
                if (likely(__pyx_t_5)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
                  __Pyx_INCREF(__pyx_t_5);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_39, function);
                }
              }
              __pyx_t_40 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_5, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 388, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_40, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 388, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_t_39); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 388, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_40); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 388, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_21; __pyx_t_12 < __pyx_t_22; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0389:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0390:                         else:
+0391:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 391, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_40); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 391, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L189:;
+0392:                     birth.push_back(set_temp)
          try {
            __pyx_v_9CACompute_birth.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 392, __pyx_L1_error)
          }
 0393: 
+0394:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0395:                     for x in individual_rule_string.split(b"/")[1].split(b","):
          __pyx_t_39 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 395, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 395, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_5);
            if (likely(__pyx_t_39)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_39);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_5, function);
            }
          }
          __pyx_t_40 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_39, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
          if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 395, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_40, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 395, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 395, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_40);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_40, function);
            }
          }
          __pyx_t_14 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_5, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 395, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          if (likely(PyList_CheckExact(__pyx_t_14)) || PyTuple_CheckExact(__pyx_t_14)) {
            __pyx_t_40 = __pyx_t_14; __Pyx_INCREF(__pyx_t_40); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_40 = PyObject_GetIter(__pyx_t_14); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 395, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __pyx_t_7 = Py_TYPE(__pyx_t_40)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 395, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_40))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_40)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_14 = PyList_GET_ITEM(__pyx_t_40, __pyx_t_6); __Pyx_INCREF(__pyx_t_14); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 395, __pyx_L1_error)
                #else
                __pyx_t_14 = PySequence_ITEM(__pyx_t_40, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 395, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_14);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_40)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_14 = PyTuple_GET_ITEM(__pyx_t_40, __pyx_t_6); __Pyx_INCREF(__pyx_t_14); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 395, __pyx_L1_error)
                #else
                __pyx_t_14 = PySequence_ITEM(__pyx_t_40, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 395, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_14);
                #endif
              }
            } else {
              __pyx_t_14 = __pyx_t_7(__pyx_t_40);
              if (unlikely(!__pyx_t_14)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 395, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_14);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_14);
            __pyx_t_14 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
+0396:                         if x.find(b"-") != -1:
            __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 396, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __pyx_t_39 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
              __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_5);
              if (likely(__pyx_t_39)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                __Pyx_INCREF(__pyx_t_39);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_5, function);
              }
            }
            __pyx_t_14 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_39, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 396, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            __pyx_t_5 = __Pyx_PyInt_NeObjC(__pyx_t_14, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 396, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 396, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L194;
            }
+0397:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 397, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_39 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
                __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_14);
                if (likely(__pyx_t_39)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
                  __Pyx_INCREF(__pyx_t_39);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_14, function);
                }
              }
              __pyx_t_5 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_39, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 397, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_5, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 397, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 397, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_PyInt_AddObjC(__pyx_t_5, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 397, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_14); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 397, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 397, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_39 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
                __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_5);
                if (likely(__pyx_t_39)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                  __Pyx_INCREF(__pyx_t_39);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_5, function);
                }
              }
              __pyx_t_14 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_39, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
              if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 397, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_14, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 397, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_t_5); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 397, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_14); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 397, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_22; __pyx_t_12 < __pyx_t_21; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0398:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0399:                         else:
+0400:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 400, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_14); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 400, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L194:;
+0401:                     survival.push_back(set_temp)
          try {
            __pyx_v_9CACompute_survival.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 401, __pyx_L1_error)
          }
 0402: 
+0403:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0404:                     for x in individual_rule_string.split(b"/")[2].split(b","):
          __pyx_t_5 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 404, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 404, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_39);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_39, function);
            }
          }
          __pyx_t_14 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_5, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 404, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_14, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 404, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 404, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_14);
            if (likely(__pyx_t_39)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
              __Pyx_INCREF(__pyx_t_39);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_14, function);
            }
          }
          __pyx_t_40 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_39, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
          if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 404, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          if (likely(PyList_CheckExact(__pyx_t_40)) || PyTuple_CheckExact(__pyx_t_40)) {
            __pyx_t_14 = __pyx_t_40; __Pyx_INCREF(__pyx_t_14); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_14 = PyObject_GetIter(__pyx_t_40); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 404, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __pyx_t_7 = Py_TYPE(__pyx_t_14)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 404, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_14))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_14)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_40 = PyList_GET_ITEM(__pyx_t_14, __pyx_t_6); __Pyx_INCREF(__pyx_t_40); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 404, __pyx_L1_error)
                #else
                __pyx_t_40 = PySequence_ITEM(__pyx_t_14, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 404, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_40);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_14)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_40 = PyTuple_GET_ITEM(__pyx_t_14, __pyx_t_6); __Pyx_INCREF(__pyx_t_40); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 404, __pyx_L1_error)
                #else
                __pyx_t_40 = PySequence_ITEM(__pyx_t_14, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 404, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_40);
                #endif
              }
            } else {
              __pyx_t_40 = __pyx_t_7(__pyx_t_14);
              if (unlikely(!__pyx_t_40)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 404, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_40);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_40);
            __pyx_t_40 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+0405:                         if x.find(b"-") != -1:
            __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 405, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __pyx_t_5 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
              __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_39);
              if (likely(__pyx_t_5)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
                __Pyx_INCREF(__pyx_t_5);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_39, function);
              }
            }
            __pyx_t_40 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_5, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 405, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
            __pyx_t_39 = __Pyx_PyInt_NeObjC(__pyx_t_40, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 405, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_39); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 405, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L199;
            }
+0406:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 406, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_5 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
                __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_40);
                if (likely(__pyx_t_5)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
                  __Pyx_INCREF(__pyx_t_5);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_40, function);
                }
              }
              __pyx_t_39 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_5, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 406, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_39, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 406, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_t_40); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 406, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyInt_AddObjC(__pyx_t_39, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 406, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_40); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 406, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 406, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_5 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
                __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_39);
                if (likely(__pyx_t_5)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
                  __Pyx_INCREF(__pyx_t_5);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_39, function);
                }
              }
              __pyx_t_40 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_5, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 406, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_40, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 406, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_t_39); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 406, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_40); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 406, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_21; __pyx_t_12 < __pyx_t_22; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0407:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0408:                         else:
+0409:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 409, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_40); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 409, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L199:;
+0410:                     forcing.push_back(set_temp)
          try {
            __pyx_v_9CACompute_forcing.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 410, __pyx_L1_error)
          }
 0411: 
+0412:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0413:                     for x in individual_rule_string.split(b"/")[3].split(b","):
          __pyx_t_39 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 413, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 413, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_5);
            if (likely(__pyx_t_39)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_39);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_5, function);
            }
          }
          __pyx_t_40 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_39, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
          if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 413, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_40, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 413, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 413, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_40);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_40, function);
            }
          }
          __pyx_t_14 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_5, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 413, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          if (likely(PyList_CheckExact(__pyx_t_14)) || PyTuple_CheckExact(__pyx_t_14)) {
            __pyx_t_40 = __pyx_t_14; __Pyx_INCREF(__pyx_t_40); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_40 = PyObject_GetIter(__pyx_t_14); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 413, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __pyx_t_7 = Py_TYPE(__pyx_t_40)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 413, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_40))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_40)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_14 = PyList_GET_ITEM(__pyx_t_40, __pyx_t_6); __Pyx_INCREF(__pyx_t_14); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 413, __pyx_L1_error)
                #else
                __pyx_t_14 = PySequence_ITEM(__pyx_t_40, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 413, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_14);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_40)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_14 = PyTuple_GET_ITEM(__pyx_t_40, __pyx_t_6); __Pyx_INCREF(__pyx_t_14); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 413, __pyx_L1_error)
                #else
                __pyx_t_14 = PySequence_ITEM(__pyx_t_40, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 413, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_14);
                #endif
              }
            } else {
              __pyx_t_14 = __pyx_t_7(__pyx_t_40);
              if (unlikely(!__pyx_t_14)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 413, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_14);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_14);
            __pyx_t_14 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
+0414:                         if x.find(b"-") != -1:
            __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 414, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __pyx_t_39 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
              __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_5);
              if (likely(__pyx_t_39)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                __Pyx_INCREF(__pyx_t_39);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_5, function);
              }
            }
            __pyx_t_14 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_39, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 414, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            __pyx_t_5 = __Pyx_PyInt_NeObjC(__pyx_t_14, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 414, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 414, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L204;
            }
+0415:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 415, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_39 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
                __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_14);
                if (likely(__pyx_t_39)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
                  __Pyx_INCREF(__pyx_t_39);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_14, function);
                }
              }
              __pyx_t_5 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_39, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 415, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_5, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 415, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 415, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_PyInt_AddObjC(__pyx_t_5, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 415, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_14); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 415, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 415, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_39 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
                __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_5);
                if (likely(__pyx_t_39)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                  __Pyx_INCREF(__pyx_t_39);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_5, function);
                }
              }
              __pyx_t_14 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_39, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
              if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 415, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_14, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 415, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_t_5); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 415, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_14); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 415, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_22; __pyx_t_12 < __pyx_t_21; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0416:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0417:                         else:
+0418:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 418, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_14); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 418, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L204:;
+0419:                     killing.push_back(set_temp)
          try {
            __pyx_v_9CACompute_killing.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 419, __pyx_L1_error)
          }
 0420: 
+0421:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0422:                     for x in individual_rule_string.split(b"/")[4].split(b","):
          __pyx_t_5 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 422, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 422, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_39);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_39, function);
            }
          }
          __pyx_t_14 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_5, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 422, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_14, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 422, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 422, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_14);
            if (likely(__pyx_t_39)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
              __Pyx_INCREF(__pyx_t_39);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_14, function);
            }
          }
          __pyx_t_40 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_39, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
          if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 422, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          if (likely(PyList_CheckExact(__pyx_t_40)) || PyTuple_CheckExact(__pyx_t_40)) {
            __pyx_t_14 = __pyx_t_40; __Pyx_INCREF(__pyx_t_14); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_14 = PyObject_GetIter(__pyx_t_40); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 422, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __pyx_t_7 = Py_TYPE(__pyx_t_14)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 422, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_14))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_14)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_40 = PyList_GET_ITEM(__pyx_t_14, __pyx_t_6); __Pyx_INCREF(__pyx_t_40); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 422, __pyx_L1_error)
                #else
                __pyx_t_40 = PySequence_ITEM(__pyx_t_14, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 422, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_40);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_14)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_40 = PyTuple_GET_ITEM(__pyx_t_14, __pyx_t_6); __Pyx_INCREF(__pyx_t_40); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 422, __pyx_L1_error)
                #else
                __pyx_t_40 = PySequence_ITEM(__pyx_t_14, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 422, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_40);
                #endif
              }
            } else {
              __pyx_t_40 = __pyx_t_7(__pyx_t_14);
              if (unlikely(!__pyx_t_40)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 422, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_40);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_40);
            __pyx_t_40 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+0423:                         if x.find(b"-") != -1:
            __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 423, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __pyx_t_5 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
              __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_39);
              if (likely(__pyx_t_5)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
                __Pyx_INCREF(__pyx_t_5);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_39, function);
              }
            }
            __pyx_t_40 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_5, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 423, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
            __pyx_t_39 = __Pyx_PyInt_NeObjC(__pyx_t_40, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 423, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_39); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 423, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L209;
            }
+0424:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 424, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_5 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
                __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_40);
                if (likely(__pyx_t_5)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
                  __Pyx_INCREF(__pyx_t_5);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_40, function);
                }
              }
              __pyx_t_39 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_5, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 424, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_39, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 424, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_t_40); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 424, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyInt_AddObjC(__pyx_t_39, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 424, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_40); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 424, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 424, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_5 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
                __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_39);
                if (likely(__pyx_t_5)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
                  __Pyx_INCREF(__pyx_t_5);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_39, function);
                }
              }
              __pyx_t_40 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_5, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 424, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_40, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 424, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_t_39); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 424, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_40); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 424, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_21; __pyx_t_12 < __pyx_t_22; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0425:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0426:                         else:
+0427:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 427, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_40); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 427, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L209:;
+0428:                     living.push_back(set_temp)
          try {
            __pyx_v_9CACompute_living.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 428, __pyx_L1_error)
          }
 0429: 
+0430:                     try: naive_lst.push_back(individual_rule_string.split(b"/")[5])
          {
            /*try:*/ {
              __pyx_t_40 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 430, __pyx_L212_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 430, __pyx_L212_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
                __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_39);
                if (likely(__pyx_t_40)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
                  __Pyx_INCREF(__pyx_t_40);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_39, function);
                }
              }
              __pyx_t_14 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_40, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__13);
              __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
              if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 430, __pyx_L212_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_14, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 430, __pyx_L212_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_t_39); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 430, __pyx_L212_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 430, __pyx_L212_error)
              }
            }
            __Pyx_XDECREF(__pyx_t_36); __pyx_t_36 = 0;
            __Pyx_XDECREF(__pyx_t_37); __pyx_t_37 = 0;
            __Pyx_XDECREF(__pyx_t_38); __pyx_t_38 = 0;
            goto __pyx_L219_try_end;
            __pyx_L212_error:;
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
/* … */
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_ExceptionReset(__pyx_t_36, __pyx_t_37, __pyx_t_38);
            goto __pyx_L1_error;
            __pyx_L213_exception_handled:;
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_ExceptionReset(__pyx_t_36, __pyx_t_37, __pyx_t_38);
            __pyx_L219_try_end:;
          }
+0431:                     except IndexError: naive_lst.push_back(b"-1")
            __pyx_t_12 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_IndexError);
            if (__pyx_t_12) {
              __Pyx_AddTraceback("CACompute.load", __pyx_clineno, __pyx_lineno, __pyx_filename);
              if (__Pyx_GetException(&__pyx_t_39, &__pyx_t_14, &__pyx_t_40) < 0) __PYX_ERR(0, 431, __pyx_L214_except_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_kp_b_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 431, __pyx_L214_except_error)
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 431, __pyx_L214_except_error)
              }
              __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
              __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
              __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
              goto __pyx_L213_exception_handled;
            }
            goto __pyx_L214_except_error;
            __pyx_L214_except_error:;
 0432:                 else:
+0433:                     set_temp.clear()
        /*else*/ {
          __pyx_v_set_temp.clear();
+0434:                     for x in re.split(b"b|s|f|k|l|nn", individual_rule_string)[1].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_39, __pyx_n_s_re); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 434, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 434, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 434, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __pyx_t_13 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_5);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_5, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_5)) {
            PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_39};
            __pyx_t_14 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 434, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
            PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_39};
            __pyx_t_14 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 434, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          } else
          #endif
          {
            __pyx_t_3 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 434, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            if (__pyx_t_13) {
              __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_13); __pyx_t_13 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_kp_b_b_s_f_k_l_nn);
            PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_12, __pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_t_39);
            PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_12, __pyx_t_39);
            __pyx_t_39 = 0;
            __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 434, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_14, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 434, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 434, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_14);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_14, function);
            }
          }
          __pyx_t_40 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_5, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 434, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          if (likely(PyList_CheckExact(__pyx_t_40)) || PyTuple_CheckExact(__pyx_t_40)) {
            __pyx_t_14 = __pyx_t_40; __Pyx_INCREF(__pyx_t_14); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_14 = PyObject_GetIter(__pyx_t_40); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 434, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __pyx_t_7 = Py_TYPE(__pyx_t_14)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 434, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_14))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_14)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_40 = PyList_GET_ITEM(__pyx_t_14, __pyx_t_6); __Pyx_INCREF(__pyx_t_40); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 434, __pyx_L1_error)
                #else
                __pyx_t_40 = PySequence_ITEM(__pyx_t_14, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 434, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_40);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_14)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_40 = PyTuple_GET_ITEM(__pyx_t_14, __pyx_t_6); __Pyx_INCREF(__pyx_t_40); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 434, __pyx_L1_error)
                #else
                __pyx_t_40 = PySequence_ITEM(__pyx_t_14, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 434, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_40);
                #endif
              }
            } else {
              __pyx_t_40 = __pyx_t_7(__pyx_t_14);
              if (unlikely(!__pyx_t_40)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 434, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_40);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_40);
            __pyx_t_40 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+0435:                         if x.find(b"-") != -1:
            __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 435, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __pyx_t_3 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
              __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
              if (likely(__pyx_t_3)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                __Pyx_INCREF(__pyx_t_3);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_5, function);
              }
            }
            __pyx_t_40 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 435, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            __pyx_t_5 = __Pyx_PyInt_NeObjC(__pyx_t_40, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 435, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 435, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L224;
            }
+0436:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 436, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_3 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
                __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_40);
                if (likely(__pyx_t_3)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
                  __Pyx_INCREF(__pyx_t_3);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_40, function);
                }
              }
              __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 436, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_5, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 436, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_40); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 436, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyInt_AddObjC(__pyx_t_5, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 436, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_40); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 436, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 436, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_3 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
                __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
                if (likely(__pyx_t_3)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                  __Pyx_INCREF(__pyx_t_3);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_5, function);
                }
              }
              __pyx_t_40 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 436, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_40, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 436, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_t_5); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 436, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_40); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 436, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_22; __pyx_t_12 < __pyx_t_21; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0437:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0438:                         else:
+0439:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 439, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_40); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 439, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L224:;
+0440:                     birth.push_back(set_temp)
          try {
            __pyx_v_9CACompute_birth.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 440, __pyx_L1_error)
          }
 0441: 
+0442:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0443:                     for x in re.split(b"b|s|f|k|l|nn", individual_rule_string)[2].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_re); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 443, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 443, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 443, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_39 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_39)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_39);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[3] = {__pyx_t_39, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_5};
            __pyx_t_40 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 443, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[3] = {__pyx_t_39, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_5};
            __pyx_t_40 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 443, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          {
            __pyx_t_13 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 443, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            if (__pyx_t_39) {
              __Pyx_GIVEREF(__pyx_t_39); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_39); __pyx_t_39 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_kp_b_b_s_f_k_l_nn);
            PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_12, __pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_t_5);
            PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_12, __pyx_t_5);
            __pyx_t_5 = 0;
            __pyx_t_40 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_13, NULL); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 443, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_40, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 443, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 443, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_40);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_40, function);
            }
          }
          __pyx_t_14 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_3, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 443, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          if (likely(PyList_CheckExact(__pyx_t_14)) || PyTuple_CheckExact(__pyx_t_14)) {
            __pyx_t_40 = __pyx_t_14; __Pyx_INCREF(__pyx_t_40); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_40 = PyObject_GetIter(__pyx_t_14); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 443, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __pyx_t_7 = Py_TYPE(__pyx_t_40)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 443, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_40))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_40)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_14 = PyList_GET_ITEM(__pyx_t_40, __pyx_t_6); __Pyx_INCREF(__pyx_t_14); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 443, __pyx_L1_error)
                #else
                __pyx_t_14 = PySequence_ITEM(__pyx_t_40, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 443, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_14);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_40)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_14 = PyTuple_GET_ITEM(__pyx_t_40, __pyx_t_6); __Pyx_INCREF(__pyx_t_14); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 443, __pyx_L1_error)
                #else
                __pyx_t_14 = PySequence_ITEM(__pyx_t_40, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 443, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_14);
                #endif
              }
            } else {
              __pyx_t_14 = __pyx_t_7(__pyx_t_40);
              if (unlikely(!__pyx_t_14)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 443, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_14);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_14);
            __pyx_t_14 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
+0444:                         if x.find(b"-") != -1:
            __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 444, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_13 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
              __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3);
              if (likely(__pyx_t_13)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                __Pyx_INCREF(__pyx_t_13);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_3, function);
              }
            }
            __pyx_t_14 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 444, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            __pyx_t_3 = __Pyx_PyInt_NeObjC(__pyx_t_14, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 444, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 444, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L229;
            }
+0445:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 445, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_13 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
                __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_14);
                if (likely(__pyx_t_13)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
                  __Pyx_INCREF(__pyx_t_13);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_14, function);
                }
              }
              __pyx_t_3 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 445, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_3, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 445, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_14); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 445, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_PyInt_AddObjC(__pyx_t_3, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 445, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_14); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 445, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 445, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_13 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
                __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3);
                if (likely(__pyx_t_13)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                  __Pyx_INCREF(__pyx_t_13);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_3, function);
                }
              }
              __pyx_t_14 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 445, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_14, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 445, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 445, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_14); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 445, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_21; __pyx_t_12 < __pyx_t_22; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0446:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0447:                         else:
+0448:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 448, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_14); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 448, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L229:;
+0449:                     survival.push_back(set_temp)
          try {
            __pyx_v_9CACompute_survival.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 449, __pyx_L1_error)
          }
 0450: 
+0451:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0452:                     for x in re.split(b"b|s|f|k|l|nn", individual_rule_string)[3].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_re); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 452, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 452, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 452, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_5 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_13, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_13)) {
            PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_3};
            __pyx_t_14 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 452, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) {
            PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_3};
            __pyx_t_14 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 452, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          } else
          #endif
          {
            __pyx_t_39 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 452, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            if (__pyx_t_5) {
              __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_39, 0, __pyx_t_5); __pyx_t_5 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_kp_b_b_s_f_k_l_nn);
            PyTuple_SET_ITEM(__pyx_t_39, 0+__pyx_t_12, __pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_t_3);
            PyTuple_SET_ITEM(__pyx_t_39, 1+__pyx_t_12, __pyx_t_3);
            __pyx_t_3 = 0;
            __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_39, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 452, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          }
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_14, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 452, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 452, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_14);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_14, function);
            }
          }
          __pyx_t_40 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_13, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
          if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 452, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          if (likely(PyList_CheckExact(__pyx_t_40)) || PyTuple_CheckExact(__pyx_t_40)) {
            __pyx_t_14 = __pyx_t_40; __Pyx_INCREF(__pyx_t_14); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_14 = PyObject_GetIter(__pyx_t_40); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 452, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __pyx_t_7 = Py_TYPE(__pyx_t_14)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 452, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_14))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_14)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_40 = PyList_GET_ITEM(__pyx_t_14, __pyx_t_6); __Pyx_INCREF(__pyx_t_40); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 452, __pyx_L1_error)
                #else
                __pyx_t_40 = PySequence_ITEM(__pyx_t_14, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 452, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_40);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_14)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_40 = PyTuple_GET_ITEM(__pyx_t_14, __pyx_t_6); __Pyx_INCREF(__pyx_t_40); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 452, __pyx_L1_error)
                #else
                __pyx_t_40 = PySequence_ITEM(__pyx_t_14, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 452, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_40);
                #endif
              }
            } else {
              __pyx_t_40 = __pyx_t_7(__pyx_t_14);
              if (unlikely(!__pyx_t_40)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 452, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_40);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_40);
            __pyx_t_40 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+0453:                         if x.find(b"-") != -1:
            __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 453, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __pyx_t_39 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
              __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_13);
              if (likely(__pyx_t_39)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
                __Pyx_INCREF(__pyx_t_39);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_13, function);
              }
            }
            __pyx_t_40 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_39, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 453, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            __pyx_t_13 = __Pyx_PyInt_NeObjC(__pyx_t_40, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 453, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 453, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L234;
            }
+0454:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 454, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_39 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
                __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_40);
                if (likely(__pyx_t_39)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
                  __Pyx_INCREF(__pyx_t_39);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_40, function);
                }
              }
              __pyx_t_13 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_39, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
              if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 454, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_13, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 454, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_t_40); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 454, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyInt_AddObjC(__pyx_t_13, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 454, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_40); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 454, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 454, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_39 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
                __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_13);
                if (likely(__pyx_t_39)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
                  __Pyx_INCREF(__pyx_t_39);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_13, function);
                }
              }
              __pyx_t_40 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_39, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
              if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 454, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_40, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 454, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_t_13); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 454, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_40); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 454, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_22; __pyx_t_12 < __pyx_t_21; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0455:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0456:                         else:
+0457:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 457, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_40); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 457, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L234:;
+0458:                     forcing.push_back(set_temp)
          try {
            __pyx_v_9CACompute_forcing.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 458, __pyx_L1_error)
          }
 0459: 
+0460:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0461:                     for x in re.split(b"b|s|f|k|l|nn", individual_rule_string)[4].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_re); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 461, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 461, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 461, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_3 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_39))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_39);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_39, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_39)) {
            PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_13};
            __pyx_t_40 = __Pyx_PyFunction_FastCall(__pyx_t_39, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 461, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_39)) {
            PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_13};
            __pyx_t_40 = __Pyx_PyCFunction_FastCall(__pyx_t_39, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 461, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          {
            __pyx_t_5 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 461, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            if (__pyx_t_3) {
              __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_kp_b_b_s_f_k_l_nn);
            PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_12, __pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_t_13);
            PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_12, __pyx_t_13);
            __pyx_t_13 = 0;
            __pyx_t_40 = __Pyx_PyObject_Call(__pyx_t_39, __pyx_t_5, NULL); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 461, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_40, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 461, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 461, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_40);
            if (likely(__pyx_t_39)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
              __Pyx_INCREF(__pyx_t_39);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_40, function);
            }
          }
          __pyx_t_14 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_39, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
          if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 461, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          if (likely(PyList_CheckExact(__pyx_t_14)) || PyTuple_CheckExact(__pyx_t_14)) {
            __pyx_t_40 = __pyx_t_14; __Pyx_INCREF(__pyx_t_40); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_40 = PyObject_GetIter(__pyx_t_14); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 461, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __pyx_t_7 = Py_TYPE(__pyx_t_40)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 461, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_40))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_40)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_14 = PyList_GET_ITEM(__pyx_t_40, __pyx_t_6); __Pyx_INCREF(__pyx_t_14); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 461, __pyx_L1_error)
                #else
                __pyx_t_14 = PySequence_ITEM(__pyx_t_40, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 461, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_14);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_40)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_14 = PyTuple_GET_ITEM(__pyx_t_40, __pyx_t_6); __Pyx_INCREF(__pyx_t_14); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 461, __pyx_L1_error)
                #else
                __pyx_t_14 = PySequence_ITEM(__pyx_t_40, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 461, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_14);
                #endif
              }
            } else {
              __pyx_t_14 = __pyx_t_7(__pyx_t_40);
              if (unlikely(!__pyx_t_14)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 461, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_14);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_14);
            __pyx_t_14 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
+0462:                         if x.find(b"-") != -1:
            __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 462, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __pyx_t_5 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
              __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_39);
              if (likely(__pyx_t_5)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
                __Pyx_INCREF(__pyx_t_5);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_39, function);
              }
            }
            __pyx_t_14 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_5, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 462, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
            __pyx_t_39 = __Pyx_PyInt_NeObjC(__pyx_t_14, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 462, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_39); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 462, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L239;
            }
+0463:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 463, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_5 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
                __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_14);
                if (likely(__pyx_t_5)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
                  __Pyx_INCREF(__pyx_t_5);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_14, function);
                }
              }
              __pyx_t_39 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_5, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 463, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_39, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 463, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_t_14); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 463, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_PyInt_AddObjC(__pyx_t_39, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 463, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_14); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 463, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 463, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_5 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
                __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_39);
                if (likely(__pyx_t_5)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
                  __Pyx_INCREF(__pyx_t_5);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_39, function);
                }
              }
              __pyx_t_14 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_5, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 463, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_14, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 463, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_t_39); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 463, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_14); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 463, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_21; __pyx_t_12 < __pyx_t_22; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0464:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0465:                         else:
+0466:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 466, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_14); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 466, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L239:;
+0467:                     killing.push_back(set_temp)
          try {
            __pyx_v_9CACompute_killing.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 467, __pyx_L1_error)
          }
 0468: 
+0469:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0470:                     for x in re.split(b"b|s|f|k|l|nn", individual_rule_string)[5].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_39, __pyx_n_s_re); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 470, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 470, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 470, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __pyx_t_13 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_5);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_5, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_5)) {
            PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_39};
            __pyx_t_14 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 470, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
            PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_39};
            __pyx_t_14 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 470, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          } else
          #endif
          {
            __pyx_t_3 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 470, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            if (__pyx_t_13) {
              __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_13); __pyx_t_13 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_kp_b_b_s_f_k_l_nn);
            PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_12, __pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_t_39);
            PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_12, __pyx_t_39);
            __pyx_t_39 = 0;
            __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 470, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_14, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 470, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 470, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_14);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_14, function);
            }
          }
          __pyx_t_40 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_5, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 470, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          if (likely(PyList_CheckExact(__pyx_t_40)) || PyTuple_CheckExact(__pyx_t_40)) {
            __pyx_t_14 = __pyx_t_40; __Pyx_INCREF(__pyx_t_14); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_14 = PyObject_GetIter(__pyx_t_40); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 470, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __pyx_t_7 = Py_TYPE(__pyx_t_14)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 470, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_14))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_14)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_40 = PyList_GET_ITEM(__pyx_t_14, __pyx_t_6); __Pyx_INCREF(__pyx_t_40); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 470, __pyx_L1_error)
                #else
                __pyx_t_40 = PySequence_ITEM(__pyx_t_14, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 470, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_40);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_14)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_40 = PyTuple_GET_ITEM(__pyx_t_14, __pyx_t_6); __Pyx_INCREF(__pyx_t_40); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 470, __pyx_L1_error)
                #else
                __pyx_t_40 = PySequence_ITEM(__pyx_t_14, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 470, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_40);
                #endif
              }
            } else {
              __pyx_t_40 = __pyx_t_7(__pyx_t_14);
              if (unlikely(!__pyx_t_40)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 470, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_40);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_40);
            __pyx_t_40 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+0471:                         if x.find(b"-") != -1:
            __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 471, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __pyx_t_3 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
              __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
              if (likely(__pyx_t_3)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                __Pyx_INCREF(__pyx_t_3);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_5, function);
              }
            }
            __pyx_t_40 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 471, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            __pyx_t_5 = __Pyx_PyInt_NeObjC(__pyx_t_40, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 471, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 471, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L244;
            }
+0472:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 472, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_3 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
                __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_40);
                if (likely(__pyx_t_3)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
                  __Pyx_INCREF(__pyx_t_3);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_40, function);
                }
              }
              __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 472, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_5, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 472, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_40); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 472, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyInt_AddObjC(__pyx_t_5, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 472, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_40); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 472, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 472, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_3 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
                __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
                if (likely(__pyx_t_3)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                  __Pyx_INCREF(__pyx_t_3);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_5, function);
                }
              }
              __pyx_t_40 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 472, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_40, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 472, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_t_5); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 472, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_40); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 472, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_22; __pyx_t_12 < __pyx_t_21; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0473:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0474:                         else:
+0475:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 475, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_40); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 475, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L244:;
+0476:                     living.push_back(set_temp)
          try {
            __pyx_v_9CACompute_living.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 476, __pyx_L1_error)
          }
 0477: 
+0478:                     try: naive_lst.push_back(re.split(b"b|s|f|k|l|nn", individual_rule_string)[6])
          {
            /*try:*/ {
              __Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_re); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 478, __pyx_L247_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 478, __pyx_L247_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 478, __pyx_L247_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_3 = NULL;
              __pyx_t_12 = 0;
              if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
                __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
                if (likely(__pyx_t_3)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                  __Pyx_INCREF(__pyx_t_3);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_5, function);
                  __pyx_t_12 = 1;
                }
              }
              #if CYTHON_FAST_PYCALL
              if (PyFunction_Check(__pyx_t_5)) {
                PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_40};
                __pyx_t_14 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 478, __pyx_L247_error)
                __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
                __Pyx_GOTREF(__pyx_t_14);
                __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              } else
              #endif
              #if CYTHON_FAST_PYCCALL
              if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
                PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_40};
                __pyx_t_14 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 478, __pyx_L247_error)
                __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
                __Pyx_GOTREF(__pyx_t_14);
                __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              } else
              #endif
              {
                __pyx_t_39 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 478, __pyx_L247_error)
                __Pyx_GOTREF(__pyx_t_39);
                if (__pyx_t_3) {
                  __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_39, 0, __pyx_t_3); __pyx_t_3 = NULL;
                }
                __Pyx_INCREF(__pyx_kp_b_b_s_f_k_l_nn);
                __Pyx_GIVEREF(__pyx_kp_b_b_s_f_k_l_nn);
                PyTuple_SET_ITEM(__pyx_t_39, 0+__pyx_t_12, __pyx_kp_b_b_s_f_k_l_nn);
                __Pyx_GIVEREF(__pyx_t_40);
                PyTuple_SET_ITEM(__pyx_t_39, 1+__pyx_t_12, __pyx_t_40);
                __pyx_t_40 = 0;
                __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_39, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 478, __pyx_L247_error)
                __Pyx_GOTREF(__pyx_t_14);
                __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              }
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_14, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 478, __pyx_L247_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_t_5); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 478, __pyx_L247_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 478, __pyx_L247_error)
              }
            }
            __Pyx_XDECREF(__pyx_t_38); __pyx_t_38 = 0;
            __Pyx_XDECREF(__pyx_t_37); __pyx_t_37 = 0;
            __Pyx_XDECREF(__pyx_t_36); __pyx_t_36 = 0;
            goto __pyx_L254_try_end;
            __pyx_L247_error:;
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
/* … */
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_ExceptionReset(__pyx_t_38, __pyx_t_37, __pyx_t_36);
            goto __pyx_L1_error;
            __pyx_L248_exception_handled:;
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_ExceptionReset(__pyx_t_38, __pyx_t_37, __pyx_t_36);
            __pyx_L254_try_end:;
          }
        }
        __pyx_L186:;
+0479:                     except IndexError: naive_lst.push_back(b"-1")
            __pyx_t_12 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_IndexError);
            if (__pyx_t_12) {
              __Pyx_AddTraceback("CACompute.load", __pyx_clineno, __pyx_lineno, __pyx_filename);
              if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_14, &__pyx_t_39) < 0) __PYX_ERR(0, 479, __pyx_L249_except_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_kp_b_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 479, __pyx_L249_except_error)
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 479, __pyx_L249_except_error)
              }
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
              __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
              goto __pyx_L248_exception_handled;
            }
            goto __pyx_L249_except_error;
            __pyx_L249_except_error:;
+0480:             elif bsconditions == b"Double Totalistic":
      __pyx_t_8 = ((__pyx_v_9CACompute_bsconditions == ((char const *)"Double Totalistic")) != 0);
      if (__pyx_t_8) {
/* … */
        goto __pyx_L185;
      }
+0481:                 if individual_rule_string.find(b"/") != -1:
        __pyx_t_8 = ((__pyx_v_individual_rule_string.find(__pyx_k__13) != -1L) != 0);
        if (__pyx_t_8) {
/* … */
          goto __pyx_L257;
        }
+0482:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0483:                     for x in re.findall(b"\((.*?)\)", individual_rule_string.split(b"/")[0])[0].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_re); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 483, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_findall); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 483, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 483, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 483, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_13);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_13, function);
            }
          }
          __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_3, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 483, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_5, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 483, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_40))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_40);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_40, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_40)) {
            PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_b__15, __pyx_t_13};
            __pyx_t_14 = __Pyx_PyFunction_FastCall(__pyx_t_40, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 483, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_40)) {
            PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_b__15, __pyx_t_13};
            __pyx_t_14 = __Pyx_PyCFunction_FastCall(__pyx_t_40, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 483, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          {
            __pyx_t_3 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 483, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            if (__pyx_t_5) {
              __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); __pyx_t_5 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_kp_b__15);
            PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_12, __pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_t_13);
            PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_12, __pyx_t_13);
            __pyx_t_13 = 0;
            __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_40, __pyx_t_3, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 483, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_14, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 483, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 483, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
            __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_14);
            if (likely(__pyx_t_40)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
              __Pyx_INCREF(__pyx_t_40);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_14, function);
            }
          }
          __pyx_t_39 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_40, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
          if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 483, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          if (likely(PyList_CheckExact(__pyx_t_39)) || PyTuple_CheckExact(__pyx_t_39)) {
            __pyx_t_14 = __pyx_t_39; __Pyx_INCREF(__pyx_t_14); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_14 = PyObject_GetIter(__pyx_t_39); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 483, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __pyx_t_7 = Py_TYPE(__pyx_t_14)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 483, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_14))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_14)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_39 = PyList_GET_ITEM(__pyx_t_14, __pyx_t_6); __Pyx_INCREF(__pyx_t_39); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 483, __pyx_L1_error)
                #else
                __pyx_t_39 = PySequence_ITEM(__pyx_t_14, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 483, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_39);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_14)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_39 = PyTuple_GET_ITEM(__pyx_t_14, __pyx_t_6); __Pyx_INCREF(__pyx_t_39); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 483, __pyx_L1_error)
                #else
                __pyx_t_39 = PySequence_ITEM(__pyx_t_14, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 483, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_39);
                #endif
              }
            } else {
              __pyx_t_39 = __pyx_t_7(__pyx_t_14);
              if (unlikely(!__pyx_t_39)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 483, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_39);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_39);
            __pyx_t_39 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+0484:                         if x.find(b"-") != -1:
            __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 484, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __pyx_t_3 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
              __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_40);
              if (likely(__pyx_t_3)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
                __Pyx_INCREF(__pyx_t_3);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_40, function);
              }
            }
            __pyx_t_39 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 484, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
            __pyx_t_40 = __Pyx_PyInt_NeObjC(__pyx_t_39, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 484, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_40); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 484, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L260;
            }
+0485:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 485, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_3 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
                __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_39);
                if (likely(__pyx_t_3)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
                  __Pyx_INCREF(__pyx_t_3);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_39, function);
                }
              }
              __pyx_t_40 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 485, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_40, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 485, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_t_39); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 485, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_PyInt_AddObjC(__pyx_t_40, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 485, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_39); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 485, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 485, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_3 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
                __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_40);
                if (likely(__pyx_t_3)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
                  __Pyx_INCREF(__pyx_t_3);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_40, function);
                }
              }
              __pyx_t_39 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 485, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_39, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 485, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_t_40); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 485, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_39); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 485, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_21; __pyx_t_12 < __pyx_t_22; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0486:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0487:                         else:
+0488:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 488, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_39); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 488, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L260:;
+0489:                     birth.push_back(set_temp)
          try {
            __pyx_v_9CACompute_birth.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 489, __pyx_L1_error)
          }
 0490: 
+0491:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0492:                     for x in re.findall(b"\((.*?)\)", individual_rule_string.split(b"/")[1])[0].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_re); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 492, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_findall); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 492, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_13 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 492, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 492, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_5);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_5, function);
            }
          }
          __pyx_t_40 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_13, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
          if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 492, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_40, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 492, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_40)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_40);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[3] = {__pyx_t_40, __pyx_kp_b__15, __pyx_t_5};
            __pyx_t_39 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 492, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[3] = {__pyx_t_40, __pyx_kp_b__15, __pyx_t_5};
            __pyx_t_39 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 492, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          {
            __pyx_t_13 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 492, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            if (__pyx_t_40) {
              __Pyx_GIVEREF(__pyx_t_40); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_40); __pyx_t_40 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_kp_b__15);
            PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_12, __pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_t_5);
            PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_12, __pyx_t_5);
            __pyx_t_5 = 0;
            __pyx_t_39 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_13, NULL); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 492, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_39, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 492, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 492, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_39);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_39, function);
            }
          }
          __pyx_t_14 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_3, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 492, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          if (likely(PyList_CheckExact(__pyx_t_14)) || PyTuple_CheckExact(__pyx_t_14)) {
            __pyx_t_39 = __pyx_t_14; __Pyx_INCREF(__pyx_t_39); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_39 = PyObject_GetIter(__pyx_t_14); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 492, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __pyx_t_7 = Py_TYPE(__pyx_t_39)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 492, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_39))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_39)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_14 = PyList_GET_ITEM(__pyx_t_39, __pyx_t_6); __Pyx_INCREF(__pyx_t_14); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 492, __pyx_L1_error)
                #else
                __pyx_t_14 = PySequence_ITEM(__pyx_t_39, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 492, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_14);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_39)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_14 = PyTuple_GET_ITEM(__pyx_t_39, __pyx_t_6); __Pyx_INCREF(__pyx_t_14); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 492, __pyx_L1_error)
                #else
                __pyx_t_14 = PySequence_ITEM(__pyx_t_39, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 492, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_14);
                #endif
              }
            } else {
              __pyx_t_14 = __pyx_t_7(__pyx_t_39);
              if (unlikely(!__pyx_t_14)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 492, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_14);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_14);
            __pyx_t_14 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
+0493:                         if x.find(b"-") != -1:
            __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 493, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_13 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
              __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3);
              if (likely(__pyx_t_13)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                __Pyx_INCREF(__pyx_t_13);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_3, function);
              }
            }
            __pyx_t_14 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 493, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            __pyx_t_3 = __Pyx_PyInt_NeObjC(__pyx_t_14, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 493, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 493, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L265;
            }
+0494:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 494, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_13 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
                __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_14);
                if (likely(__pyx_t_13)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
                  __Pyx_INCREF(__pyx_t_13);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_14, function);
                }
              }
              __pyx_t_3 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 494, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_3, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 494, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_14); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 494, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_PyInt_AddObjC(__pyx_t_3, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 494, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_14); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 494, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 494, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_13 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
                __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3);
                if (likely(__pyx_t_13)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                  __Pyx_INCREF(__pyx_t_13);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_3, function);
                }
              }
              __pyx_t_14 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 494, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_14, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 494, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 494, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_14); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 494, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_22; __pyx_t_12 < __pyx_t_21; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0495:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0496:                         else:
+0497:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 497, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_14); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 497, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L265:;
+0498:                     survival.push_back(set_temp)
          try {
            __pyx_v_9CACompute_survival.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 498, __pyx_L1_error)
          }
 0499: 
+0500:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0501:                     for x in re.findall(b"\((.*?)\)", individual_rule_string.split(b"/")[2])[0].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_re); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 501, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_findall); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 501, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_5 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 501, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 501, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_40);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_40, function);
            }
          }
          __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_5, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 501, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_3, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 501, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_13);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_13, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_13)) {
            PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_b__15, __pyx_t_40};
            __pyx_t_14 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 501, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) {
            PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_b__15, __pyx_t_40};
            __pyx_t_14 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 501, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          } else
          #endif
          {
            __pyx_t_5 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 501, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            if (__pyx_t_3) {
              __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_kp_b__15);
            PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_12, __pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_t_40);
            PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_12, __pyx_t_40);
            __pyx_t_40 = 0;
            __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_5, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 501, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          }
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_14, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 501, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 501, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_14);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_14, function);
            }
          }
          __pyx_t_39 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_13, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
          if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 501, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          if (likely(PyList_CheckExact(__pyx_t_39)) || PyTuple_CheckExact(__pyx_t_39)) {
            __pyx_t_14 = __pyx_t_39; __Pyx_INCREF(__pyx_t_14); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_14 = PyObject_GetIter(__pyx_t_39); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 501, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __pyx_t_7 = Py_TYPE(__pyx_t_14)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 501, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_14))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_14)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_39 = PyList_GET_ITEM(__pyx_t_14, __pyx_t_6); __Pyx_INCREF(__pyx_t_39); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 501, __pyx_L1_error)
                #else
                __pyx_t_39 = PySequence_ITEM(__pyx_t_14, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 501, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_39);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_14)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_39 = PyTuple_GET_ITEM(__pyx_t_14, __pyx_t_6); __Pyx_INCREF(__pyx_t_39); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 501, __pyx_L1_error)
                #else
                __pyx_t_39 = PySequence_ITEM(__pyx_t_14, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 501, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_39);
                #endif
              }
            } else {
              __pyx_t_39 = __pyx_t_7(__pyx_t_14);
              if (unlikely(!__pyx_t_39)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 501, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_39);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_39);
            __pyx_t_39 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+0502:                         if x.find(b"-") != -1:
            __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 502, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __pyx_t_5 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
              __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13);
              if (likely(__pyx_t_5)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
                __Pyx_INCREF(__pyx_t_5);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_13, function);
              }
            }
            __pyx_t_39 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 502, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            __pyx_t_13 = __Pyx_PyInt_NeObjC(__pyx_t_39, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 502, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 502, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L270;
            }
+0503:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 503, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_5 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
                __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_39);
                if (likely(__pyx_t_5)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
                  __Pyx_INCREF(__pyx_t_5);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_39, function);
                }
              }
              __pyx_t_13 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_5, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 503, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_13, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 503, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_t_39); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 503, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_PyInt_AddObjC(__pyx_t_13, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 503, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_39); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 503, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 503, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_5 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
                __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13);
                if (likely(__pyx_t_5)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
                  __Pyx_INCREF(__pyx_t_5);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_13, function);
                }
              }
              __pyx_t_39 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 503, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_39, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 503, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_t_13); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 503, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_39); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 503, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_21; __pyx_t_12 < __pyx_t_22; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0504:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0505:                         else:
+0506:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 506, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_39); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 506, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L270:;
+0507:                     forcing.push_back(set_temp)
          try {
            __pyx_v_9CACompute_forcing.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 507, __pyx_L1_error)
          }
 0508: 
+0509:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0510:                     for x in re.findall(b"\((.*?)\)", individual_rule_string.split(b"/")[3])[0].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_re); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 510, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_findall); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 510, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_40 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 510, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 510, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_40)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_40);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
            }
          }
          __pyx_t_13 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_40, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
          if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 510, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_13, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 510, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_5);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_5, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_5)) {
            PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_kp_b__15, __pyx_t_3};
            __pyx_t_39 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 510, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
            PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_kp_b__15, __pyx_t_3};
            __pyx_t_39 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 510, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          } else
          #endif
          {
            __pyx_t_40 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 510, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            if (__pyx_t_13) {
              __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_40, 0, __pyx_t_13); __pyx_t_13 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_kp_b__15);
            PyTuple_SET_ITEM(__pyx_t_40, 0+__pyx_t_12, __pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_t_3);
            PyTuple_SET_ITEM(__pyx_t_40, 1+__pyx_t_12, __pyx_t_3);
            __pyx_t_3 = 0;
            __pyx_t_39 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_40, NULL); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 510, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_39, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 510, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 510, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_39);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_39, function);
            }
          }
          __pyx_t_14 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_5, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 510, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          if (likely(PyList_CheckExact(__pyx_t_14)) || PyTuple_CheckExact(__pyx_t_14)) {
            __pyx_t_39 = __pyx_t_14; __Pyx_INCREF(__pyx_t_39); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_39 = PyObject_GetIter(__pyx_t_14); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 510, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __pyx_t_7 = Py_TYPE(__pyx_t_39)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 510, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_39))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_39)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_14 = PyList_GET_ITEM(__pyx_t_39, __pyx_t_6); __Pyx_INCREF(__pyx_t_14); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 510, __pyx_L1_error)
                #else
                __pyx_t_14 = PySequence_ITEM(__pyx_t_39, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 510, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_14);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_39)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_14 = PyTuple_GET_ITEM(__pyx_t_39, __pyx_t_6); __Pyx_INCREF(__pyx_t_14); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 510, __pyx_L1_error)
                #else
                __pyx_t_14 = PySequence_ITEM(__pyx_t_39, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 510, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_14);
                #endif
              }
            } else {
              __pyx_t_14 = __pyx_t_7(__pyx_t_39);
              if (unlikely(!__pyx_t_14)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 510, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_14);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_14);
            __pyx_t_14 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
+0511:                         if x.find(b"-") != -1:
            __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 511, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __pyx_t_40 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
              __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_5);
              if (likely(__pyx_t_40)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                __Pyx_INCREF(__pyx_t_40);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_5, function);
              }
            }
            __pyx_t_14 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_40, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 511, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            __pyx_t_5 = __Pyx_PyInt_NeObjC(__pyx_t_14, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 511, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 511, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L275;
            }
+0512:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 512, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_40 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
                __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_14);
                if (likely(__pyx_t_40)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
                  __Pyx_INCREF(__pyx_t_40);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_14, function);
                }
              }
              __pyx_t_5 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_40, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 512, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_5, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 512, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 512, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_PyInt_AddObjC(__pyx_t_5, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 512, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_14); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 512, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 512, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_40 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
                __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_5);
                if (likely(__pyx_t_40)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                  __Pyx_INCREF(__pyx_t_40);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_5, function);
                }
              }
              __pyx_t_14 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_40, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
              if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 512, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_14, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 512, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_t_5); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 512, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_14); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 512, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_22; __pyx_t_12 < __pyx_t_21; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0513:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0514:                         else:
+0515:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 515, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_14); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 515, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L275:;
+0516:                     killing.push_back(set_temp)
          try {
            __pyx_v_9CACompute_killing.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 516, __pyx_L1_error)
          }
 0517: 
+0518:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0519:                     for x in re.findall(b"\((.*?)\)", individual_rule_string.split(b"/")[4])[0].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_re); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 519, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_findall); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 519, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 519, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 519, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_13);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_13, function);
            }
          }
          __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_3, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 519, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_5, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 519, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_40))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_40);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_40, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_40)) {
            PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_b__15, __pyx_t_13};
            __pyx_t_14 = __Pyx_PyFunction_FastCall(__pyx_t_40, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 519, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_40)) {
            PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_b__15, __pyx_t_13};
            __pyx_t_14 = __Pyx_PyCFunction_FastCall(__pyx_t_40, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 519, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          {
            __pyx_t_3 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 519, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            if (__pyx_t_5) {
              __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); __pyx_t_5 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_kp_b__15);
            PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_12, __pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_t_13);
            PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_12, __pyx_t_13);
            __pyx_t_13 = 0;
            __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_40, __pyx_t_3, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 519, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_14, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 519, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 519, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
            __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_14);
            if (likely(__pyx_t_40)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
              __Pyx_INCREF(__pyx_t_40);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_14, function);
            }
          }
          __pyx_t_39 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_40, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
          if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 519, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          if (likely(PyList_CheckExact(__pyx_t_39)) || PyTuple_CheckExact(__pyx_t_39)) {
            __pyx_t_14 = __pyx_t_39; __Pyx_INCREF(__pyx_t_14); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_14 = PyObject_GetIter(__pyx_t_39); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 519, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __pyx_t_7 = Py_TYPE(__pyx_t_14)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 519, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_14))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_14)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_39 = PyList_GET_ITEM(__pyx_t_14, __pyx_t_6); __Pyx_INCREF(__pyx_t_39); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 519, __pyx_L1_error)
                #else
                __pyx_t_39 = PySequence_ITEM(__pyx_t_14, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 519, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_39);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_14)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_39 = PyTuple_GET_ITEM(__pyx_t_14, __pyx_t_6); __Pyx_INCREF(__pyx_t_39); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 519, __pyx_L1_error)
                #else
                __pyx_t_39 = PySequence_ITEM(__pyx_t_14, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 519, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_39);
                #endif
              }
            } else {
              __pyx_t_39 = __pyx_t_7(__pyx_t_14);
              if (unlikely(!__pyx_t_39)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 519, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_39);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_39);
            __pyx_t_39 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+0520:                         if x.find(b"-") != -1:
            __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 520, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __pyx_t_3 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
              __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_40);
              if (likely(__pyx_t_3)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
                __Pyx_INCREF(__pyx_t_3);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_40, function);
              }
            }
            __pyx_t_39 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 520, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
            __pyx_t_40 = __Pyx_PyInt_NeObjC(__pyx_t_39, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 520, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_40); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 520, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L280;
            }
+0521:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 521, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_3 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
                __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_39);
                if (likely(__pyx_t_3)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
                  __Pyx_INCREF(__pyx_t_3);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_39, function);
                }
              }
              __pyx_t_40 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 521, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_40, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 521, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_t_39); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 521, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_PyInt_AddObjC(__pyx_t_40, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 521, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_39); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 521, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 521, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_3 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
                __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_40);
                if (likely(__pyx_t_3)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
                  __Pyx_INCREF(__pyx_t_3);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_40, function);
                }
              }
              __pyx_t_39 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 521, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_39, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 521, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_t_40); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 521, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_39); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 521, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_21; __pyx_t_12 < __pyx_t_22; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0522:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0523:                         else:
+0524:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 524, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_39); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 524, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L280:;
+0525:                     living.push_back(set_temp)
          try {
            __pyx_v_9CACompute_living.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 525, __pyx_L1_error)
          }
 0526: 
+0527:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0528:                     for x in re.sub(b"\(.*?\)", b"", individual_rule_string.split(b"/")[0]).split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_re); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 528, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_sub); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 528, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_13 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 528, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 528, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_5);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_5, function);
            }
          }
          __pyx_t_40 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_13, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
          if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 528, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_40, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 528, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_40)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_40);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[4] = {__pyx_t_40, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_5};
            __pyx_t_39 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 528, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[4] = {__pyx_t_40, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_5};
            __pyx_t_39 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 528, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          {
            __pyx_t_13 = PyTuple_New(3+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 528, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            if (__pyx_t_40) {
              __Pyx_GIVEREF(__pyx_t_40); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_40); __pyx_t_40 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__16);
            __Pyx_GIVEREF(__pyx_kp_b__16);
            PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_12, __pyx_kp_b__16);
            __Pyx_INCREF(__pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_kp_b_);
            PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_12, __pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_t_5);
            PyTuple_SET_ITEM(__pyx_t_13, 2+__pyx_t_12, __pyx_t_5);
            __pyx_t_5 = 0;
            __pyx_t_39 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_13, NULL); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 528, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 528, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_39)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_39);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
            }
          }
          __pyx_t_14 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_39, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
          if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 528, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (likely(PyList_CheckExact(__pyx_t_14)) || PyTuple_CheckExact(__pyx_t_14)) {
            __pyx_t_3 = __pyx_t_14; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_14); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 528, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 528, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_3))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_14 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_14); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 528, __pyx_L1_error)
                #else
                __pyx_t_14 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 528, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_14);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_14 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_14); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 528, __pyx_L1_error)
                #else
                __pyx_t_14 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 528, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_14);
                #endif
              }
            } else {
              __pyx_t_14 = __pyx_t_7(__pyx_t_3);
              if (unlikely(!__pyx_t_14)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 528, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_14);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_14);
            __pyx_t_14 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0529:                         if x.find(b"-") != -1:
            __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 529, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __pyx_t_13 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
              __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_39);
              if (likely(__pyx_t_13)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
                __Pyx_INCREF(__pyx_t_13);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_39, function);
              }
            }
            __pyx_t_14 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 529, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
            __pyx_t_39 = __Pyx_PyInt_NeObjC(__pyx_t_14, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 529, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_39); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 529, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L285;
            }
+0530:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 530, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_13 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
                __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_14);
                if (likely(__pyx_t_13)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
                  __Pyx_INCREF(__pyx_t_13);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_14, function);
                }
              }
              __pyx_t_39 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 530, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_39, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 530, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_t_14); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 530, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_PyInt_AddObjC(__pyx_t_39, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 530, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_14); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 530, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 530, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_13 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
                __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_39);
                if (likely(__pyx_t_13)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
                  __Pyx_INCREF(__pyx_t_13);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_39, function);
                }
              }
              __pyx_t_14 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 530, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_14, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 530, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_t_39); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 530, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_14); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 530, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_22; __pyx_t_12 < __pyx_t_21; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0531:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0532:                         else:
+0533:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 533, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_14); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 533, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L285:;
+0534:                     other_birth.push_back(set_temp)
          try {
            __pyx_v_9CACompute_other_birth.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 534, __pyx_L1_error)
          }
 0535: 
+0536:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0537:                     for x in re.sub(b"\(.*?\)", b"", individual_rule_string.split(b"/")[1]).split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_39, __pyx_n_s_re); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 537, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_sub); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 537, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_5 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 537, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 537, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_40);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_40, function);
            }
          }
          __pyx_t_39 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_5, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 537, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_39, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 537, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) {
            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_13);
            if (likely(__pyx_t_39)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
              __Pyx_INCREF(__pyx_t_39);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_13, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_13)) {
            PyObject *__pyx_temp[4] = {__pyx_t_39, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_40};
            __pyx_t_14 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 537, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) {
            PyObject *__pyx_temp[4] = {__pyx_t_39, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_40};
            __pyx_t_14 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 537, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          } else
          #endif
          {
            __pyx_t_5 = PyTuple_New(3+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 537, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            if (__pyx_t_39) {
              __Pyx_GIVEREF(__pyx_t_39); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_39); __pyx_t_39 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__16);
            __Pyx_GIVEREF(__pyx_kp_b__16);
            PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_12, __pyx_kp_b__16);
            __Pyx_INCREF(__pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_kp_b_);
            PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_12, __pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_t_40);
            PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_12, __pyx_t_40);
            __pyx_t_40 = 0;
            __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_5, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 537, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          }
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 537, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
            __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_13);
            if (likely(__pyx_t_14)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
              __Pyx_INCREF(__pyx_t_14);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_13, function);
            }
          }
          __pyx_t_3 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_14, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 537, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
            __pyx_t_13 = __pyx_t_3; __Pyx_INCREF(__pyx_t_13); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_13 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 537, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __pyx_t_7 = Py_TYPE(__pyx_t_13)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 537, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_13))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_13)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_3 = PyList_GET_ITEM(__pyx_t_13, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 537, __pyx_L1_error)
                #else
                __pyx_t_3 = PySequence_ITEM(__pyx_t_13, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 537, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_3);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_13)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_13, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 537, __pyx_L1_error)
                #else
                __pyx_t_3 = PySequence_ITEM(__pyx_t_13, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 537, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_3);
                #endif
              }
            } else {
              __pyx_t_3 = __pyx_t_7(__pyx_t_13);
              if (unlikely(!__pyx_t_3)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 537, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_3);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_3);
            __pyx_t_3 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+0538:                         if x.find(b"-") != -1:
            __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 538, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __pyx_t_5 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
              __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_14);
              if (likely(__pyx_t_5)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
                __Pyx_INCREF(__pyx_t_5);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_14, function);
              }
            }
            __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_5, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 538, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
            __pyx_t_14 = __Pyx_PyInt_NeObjC(__pyx_t_3, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 538, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 538, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L290;
            }
+0539:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 539, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_5 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
                __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
                if (likely(__pyx_t_5)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                  __Pyx_INCREF(__pyx_t_5);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_3, function);
                }
              }
              __pyx_t_14 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 539, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_14, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 539, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 539, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_t_14, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 539, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_3); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 539, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 539, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_5 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
                __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_14);
                if (likely(__pyx_t_5)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
                  __Pyx_INCREF(__pyx_t_5);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_14, function);
                }
              }
              __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_5, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 539, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 539, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_14); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 539, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_3); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 539, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_21; __pyx_t_12 < __pyx_t_22; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0540:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0541:                         else:
+0542:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 542, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 542, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L290:;
+0543:                     other_survival.push_back(set_temp)
          try {
            __pyx_v_9CACompute_other_survival.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 543, __pyx_L1_error)
          }
 0544: 
+0545:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0546:                     for x in re.sub(b"\(.*?\)", b"", individual_rule_string.split(b"/")[2]).split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_re); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 546, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_sub); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 546, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_40 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 546, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 546, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
            __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_39);
            if (likely(__pyx_t_40)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
              __Pyx_INCREF(__pyx_t_40);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_39, function);
            }
          }
          __pyx_t_14 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_40, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
          if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 546, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_14, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 546, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_5);
            if (likely(__pyx_t_14)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_14);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_5, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_5)) {
            PyObject *__pyx_temp[4] = {__pyx_t_14, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_39};
            __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 546, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
            PyObject *__pyx_temp[4] = {__pyx_t_14, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_39};
            __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 546, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          } else
          #endif
          {
            __pyx_t_40 = PyTuple_New(3+__pyx_t_12); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 546, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            if (__pyx_t_14) {
              __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_40, 0, __pyx_t_14); __pyx_t_14 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__16);
            __Pyx_GIVEREF(__pyx_kp_b__16);
            PyTuple_SET_ITEM(__pyx_t_40, 0+__pyx_t_12, __pyx_kp_b__16);
            __Pyx_INCREF(__pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_kp_b_);
            PyTuple_SET_ITEM(__pyx_t_40, 1+__pyx_t_12, __pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_t_39);
            PyTuple_SET_ITEM(__pyx_t_40, 2+__pyx_t_12, __pyx_t_39);
            __pyx_t_39 = 0;
            __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_40, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 546, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 546, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_5, function);
            }
          }
          __pyx_t_13 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 546, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (likely(PyList_CheckExact(__pyx_t_13)) || PyTuple_CheckExact(__pyx_t_13)) {
            __pyx_t_5 = __pyx_t_13; __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_13); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 546, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __pyx_t_7 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 546, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_5))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_5)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_13 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_13); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 546, __pyx_L1_error)
                #else
                __pyx_t_13 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 546, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_13);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_13 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_13); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 546, __pyx_L1_error)
                #else
                __pyx_t_13 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 546, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_13);
                #endif
              }
            } else {
              __pyx_t_13 = __pyx_t_7(__pyx_t_5);
              if (unlikely(!__pyx_t_13)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 546, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_13);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_13);
            __pyx_t_13 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0547:                         if x.find(b"-") != -1:
            __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 547, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_40 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
              __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_3);
              if (likely(__pyx_t_40)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                __Pyx_INCREF(__pyx_t_40);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_3, function);
              }
            }
            __pyx_t_13 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_40, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 547, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            __pyx_t_3 = __Pyx_PyInt_NeObjC(__pyx_t_13, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 547, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 547, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L295;
            }
+0548:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 548, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_40 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
                __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_13);
                if (likely(__pyx_t_40)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
                  __Pyx_INCREF(__pyx_t_40);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_13, function);
                }
              }
              __pyx_t_3 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_40, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
              if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 548, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_3, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 548, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 548, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_PyInt_AddObjC(__pyx_t_3, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 548, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_13); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 548, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 548, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_40 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
                __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_3);
                if (likely(__pyx_t_40)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                  __Pyx_INCREF(__pyx_t_40);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_3, function);
                }
              }
              __pyx_t_13 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_40, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
              if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 548, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_13, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 548, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 548, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_13); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 548, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_22; __pyx_t_12 < __pyx_t_21; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0549:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0550:                         else:
+0551:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 551, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_13); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 551, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L295:;
+0552:                     other_forcing.push_back(set_temp)
          try {
            __pyx_v_9CACompute_other_forcing.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 552, __pyx_L1_error)
          }
 0553: 
+0554:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0555:                     for x in re.sub(b"\(.*?\)", b"", individual_rule_string.split(b"/")[3]).split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_re); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 555, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_sub); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 555, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_39 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 555, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 555, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_14);
            if (likely(__pyx_t_39)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
              __Pyx_INCREF(__pyx_t_39);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_14, function);
            }
          }
          __pyx_t_3 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_39, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 555, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_3, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 555, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_40))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_40);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_40, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_40)) {
            PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_14};
            __pyx_t_13 = __Pyx_PyFunction_FastCall(__pyx_t_40, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 555, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_40)) {
            PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_14};
            __pyx_t_13 = __Pyx_PyCFunction_FastCall(__pyx_t_40, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 555, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          } else
          #endif
          {
            __pyx_t_39 = PyTuple_New(3+__pyx_t_12); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 555, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            if (__pyx_t_3) {
              __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_39, 0, __pyx_t_3); __pyx_t_3 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__16);
            __Pyx_GIVEREF(__pyx_kp_b__16);
            PyTuple_SET_ITEM(__pyx_t_39, 0+__pyx_t_12, __pyx_kp_b__16);
            __Pyx_INCREF(__pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_kp_b_);
            PyTuple_SET_ITEM(__pyx_t_39, 1+__pyx_t_12, __pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_t_14);
            PyTuple_SET_ITEM(__pyx_t_39, 2+__pyx_t_12, __pyx_t_14);
            __pyx_t_14 = 0;
            __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_40, __pyx_t_39, NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 555, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 555, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_40);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_40, function);
            }
          }
          __pyx_t_5 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_13, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
          if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 555, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
            __pyx_t_40 = __pyx_t_5; __Pyx_INCREF(__pyx_t_40); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_40 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 555, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __pyx_t_7 = Py_TYPE(__pyx_t_40)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 555, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_40))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_40)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_5 = PyList_GET_ITEM(__pyx_t_40, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 555, __pyx_L1_error)
                #else
                __pyx_t_5 = PySequence_ITEM(__pyx_t_40, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 555, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_5);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_40)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_40, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 555, __pyx_L1_error)
                #else
                __pyx_t_5 = PySequence_ITEM(__pyx_t_40, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 555, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_5);
                #endif
              }
            } else {
              __pyx_t_5 = __pyx_t_7(__pyx_t_40);
              if (unlikely(!__pyx_t_5)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 555, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_5);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5);
            __pyx_t_5 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
+0556:                         if x.find(b"-") != -1:
            __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 556, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __pyx_t_39 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
              __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_13);
              if (likely(__pyx_t_39)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
                __Pyx_INCREF(__pyx_t_39);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_13, function);
              }
            }
            __pyx_t_5 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_39, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 556, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            __pyx_t_13 = __Pyx_PyInt_NeObjC(__pyx_t_5, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 556, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 556, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L300;
            }
+0557:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 557, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_39 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
                __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_5);
                if (likely(__pyx_t_39)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                  __Pyx_INCREF(__pyx_t_39);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_5, function);
                }
              }
              __pyx_t_13 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_39, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
              if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 557, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_13, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 557, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_t_5); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 557, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_t_13, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 557, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_5); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 557, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 557, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_39 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
                __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_13);
                if (likely(__pyx_t_39)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
                  __Pyx_INCREF(__pyx_t_39);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_13, function);
                }
              }
              __pyx_t_5 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_39, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 557, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_5, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 557, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_13); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 557, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_5); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 557, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_21; __pyx_t_12 < __pyx_t_22; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0558:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0559:                         else:
+0560:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 560, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 560, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L300:;
+0561:                     other_killing.push_back(set_temp)
          try {
            __pyx_v_9CACompute_other_killing.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 561, __pyx_L1_error)
          }
 0562: 
+0563:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0564:                     for x in re.sub(b"\(.*?\)", b"", individual_rule_string.split(b"/")[4]).split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_re); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 564, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_sub); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 564, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_14 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 564, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 564, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_14)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_14);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
            }
          }
          __pyx_t_13 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_14, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
          if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 564, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_13, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 564, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_39))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_39);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_39, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_39)) {
            PyObject *__pyx_temp[4] = {__pyx_t_13, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_3};
            __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_39, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 564, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_39)) {
            PyObject *__pyx_temp[4] = {__pyx_t_13, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_3};
            __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_39, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 564, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          } else
          #endif
          {
            __pyx_t_14 = PyTuple_New(3+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 564, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            if (__pyx_t_13) {
              __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __pyx_t_13 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__16);
            __Pyx_GIVEREF(__pyx_kp_b__16);
            PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_12, __pyx_kp_b__16);
            __Pyx_INCREF(__pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_kp_b_);
            PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_12, __pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_t_3);
            PyTuple_SET_ITEM(__pyx_t_14, 2+__pyx_t_12, __pyx_t_3);
            __pyx_t_3 = 0;
            __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_39, __pyx_t_14, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 564, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 564, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_39);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_39, function);
            }
          }
          __pyx_t_40 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_5, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 564, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          if (likely(PyList_CheckExact(__pyx_t_40)) || PyTuple_CheckExact(__pyx_t_40)) {
            __pyx_t_39 = __pyx_t_40; __Pyx_INCREF(__pyx_t_39); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_39 = PyObject_GetIter(__pyx_t_40); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 564, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __pyx_t_7 = Py_TYPE(__pyx_t_39)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 564, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_39))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_39)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_40 = PyList_GET_ITEM(__pyx_t_39, __pyx_t_6); __Pyx_INCREF(__pyx_t_40); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 564, __pyx_L1_error)
                #else
                __pyx_t_40 = PySequence_ITEM(__pyx_t_39, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 564, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_40);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_39)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_40 = PyTuple_GET_ITEM(__pyx_t_39, __pyx_t_6); __Pyx_INCREF(__pyx_t_40); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 564, __pyx_L1_error)
                #else
                __pyx_t_40 = PySequence_ITEM(__pyx_t_39, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 564, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_40);
                #endif
              }
            } else {
              __pyx_t_40 = __pyx_t_7(__pyx_t_39);
              if (unlikely(!__pyx_t_40)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 564, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_40);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_40);
            __pyx_t_40 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
+0565:                         if x.find(b"-") != -1:
            __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 565, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __pyx_t_14 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
              __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_5);
              if (likely(__pyx_t_14)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                __Pyx_INCREF(__pyx_t_14);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_5, function);
              }
            }
            __pyx_t_40 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_14, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 565, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            __pyx_t_5 = __Pyx_PyInt_NeObjC(__pyx_t_40, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 565, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 565, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L305;
            }
+0566:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 566, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_14 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
                __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_40);
                if (likely(__pyx_t_14)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
                  __Pyx_INCREF(__pyx_t_14);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_40, function);
                }
              }
              __pyx_t_5 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_14, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 566, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_5, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 566, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_40); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 566, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyInt_AddObjC(__pyx_t_5, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 566, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_40); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 566, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 566, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_14 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
                __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_5);
                if (likely(__pyx_t_14)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                  __Pyx_INCREF(__pyx_t_14);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_5, function);
                }
              }
              __pyx_t_40 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_14, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
              if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 566, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_40, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 566, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_t_5); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 566, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_40); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 566, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_22; __pyx_t_12 < __pyx_t_21; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0567:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0568:                         else:
+0569:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 569, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_40); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 569, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L305:;
+0570:                     other_living.push_back(set_temp)
          try {
            __pyx_v_9CACompute_other_living.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 570, __pyx_L1_error)
          }
 0571: 
+0572:                     try: naive_lst.push_back(individual_rule_string.split(b"/")[5])
          {
            /*try:*/ {
              __pyx_t_40 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 572, __pyx_L308_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 572, __pyx_L308_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
                __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_5);
                if (likely(__pyx_t_40)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                  __Pyx_INCREF(__pyx_t_40);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_5, function);
                }
              }
              __pyx_t_39 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_40, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__13);
              __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
              if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 572, __pyx_L308_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_39, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 572, __pyx_L308_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_t_5); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 572, __pyx_L308_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 572, __pyx_L308_error)
              }
            }
            __Pyx_XDECREF(__pyx_t_36); __pyx_t_36 = 0;
            __Pyx_XDECREF(__pyx_t_37); __pyx_t_37 = 0;
            __Pyx_XDECREF(__pyx_t_38); __pyx_t_38 = 0;
            goto __pyx_L315_try_end;
            __pyx_L308_error:;
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
/* … */
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_ExceptionReset(__pyx_t_36, __pyx_t_37, __pyx_t_38);
            goto __pyx_L1_error;
            __pyx_L309_exception_handled:;
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_ExceptionReset(__pyx_t_36, __pyx_t_37, __pyx_t_38);
            __pyx_L315_try_end:;
          }
+0573:                     except IndexError: naive_lst.push_back(b"-1")
            __pyx_t_12 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_IndexError);
            if (__pyx_t_12) {
              __Pyx_AddTraceback("CACompute.load", __pyx_clineno, __pyx_lineno, __pyx_filename);
              if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_39, &__pyx_t_40) < 0) __PYX_ERR(0, 573, __pyx_L310_except_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_kp_b_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 573, __pyx_L310_except_error)
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 573, __pyx_L310_except_error)
              }
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
              __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
              goto __pyx_L309_exception_handled;
            }
            goto __pyx_L310_except_error;
            __pyx_L310_except_error:;
 0574:                 else:
+0575:                     set_temp.clear()
        /*else*/ {
          __pyx_v_set_temp.clear();
+0576:                     for x in re.findall(b"\((.*?)\)", re.split(b"b|s|f|k|l|nn", individual_rule_string)[1])[0].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_re); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 576, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_findall); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 576, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_re); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 576, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 576, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 576, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_2 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) {
            __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_13);
            if (likely(__pyx_t_2)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
              __Pyx_INCREF(__pyx_t_2);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_13, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_13)) {
            PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_3};
            __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 576, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) {
            PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_3};
            __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 576, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          } else
          #endif
          {
            __pyx_t_4 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 576, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            if (__pyx_t_2) {
              __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_kp_b_b_s_f_k_l_nn);
            PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_12, __pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_t_3);
            PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_12, __pyx_t_3);
            __pyx_t_3 = 0;
            __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 576, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          }
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_5, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 576, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_14);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_14, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_14)) {
            PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_b__15, __pyx_t_13};
            __pyx_t_39 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 576, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) {
            PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_b__15, __pyx_t_13};
            __pyx_t_39 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 576, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          {
            __pyx_t_4 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 576, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            if (__pyx_t_5) {
              __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __pyx_t_5 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_kp_b__15);
            PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_12, __pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_t_13);
            PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_12, __pyx_t_13);
            __pyx_t_13 = 0;
            __pyx_t_39 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_4, NULL); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 576, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_39, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 576, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 576, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
            __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_39);
            if (likely(__pyx_t_14)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
              __Pyx_INCREF(__pyx_t_14);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_39, function);
            }
          }
          __pyx_t_40 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_14, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
          if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 576, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          if (likely(PyList_CheckExact(__pyx_t_40)) || PyTuple_CheckExact(__pyx_t_40)) {
            __pyx_t_39 = __pyx_t_40; __Pyx_INCREF(__pyx_t_39); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_39 = PyObject_GetIter(__pyx_t_40); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 576, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __pyx_t_7 = Py_TYPE(__pyx_t_39)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 576, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_39))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_39)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_40 = PyList_GET_ITEM(__pyx_t_39, __pyx_t_6); __Pyx_INCREF(__pyx_t_40); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 576, __pyx_L1_error)
                #else
                __pyx_t_40 = PySequence_ITEM(__pyx_t_39, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 576, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_40);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_39)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_40 = PyTuple_GET_ITEM(__pyx_t_39, __pyx_t_6); __Pyx_INCREF(__pyx_t_40); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 576, __pyx_L1_error)
                #else
                __pyx_t_40 = PySequence_ITEM(__pyx_t_39, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 576, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_40);
                #endif
              }
            } else {
              __pyx_t_40 = __pyx_t_7(__pyx_t_39);
              if (unlikely(!__pyx_t_40)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 576, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_40);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_40);
            __pyx_t_40 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
+0577:                         if x.find(b"-") != -1:
            __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 577, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __pyx_t_4 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
              __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_14);
              if (likely(__pyx_t_4)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
                __Pyx_INCREF(__pyx_t_4);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_14, function);
              }
            }
            __pyx_t_40 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_4, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 577, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
            __pyx_t_14 = __Pyx_PyInt_NeObjC(__pyx_t_40, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 577, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 577, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L320;
            }
+0578:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 578, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_4 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
                __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_40);
                if (likely(__pyx_t_4)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
                  __Pyx_INCREF(__pyx_t_4);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_40, function);
                }
              }
              __pyx_t_14 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_4, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 578, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_14, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 578, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_t_40); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 578, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyInt_AddObjC(__pyx_t_14, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 578, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_40); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 578, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 578, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_4 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
                __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_14);
                if (likely(__pyx_t_4)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
                  __Pyx_INCREF(__pyx_t_4);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_14, function);
                }
              }
              __pyx_t_40 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_4, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 578, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_40, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 578, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_t_14); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 578, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_40); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 578, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_21; __pyx_t_12 < __pyx_t_22; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0579:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0580:                         else:
+0581:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 581, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_40); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 581, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L320:;
+0582:                     birth.push_back(set_temp)
          try {
            __pyx_v_9CACompute_birth.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 582, __pyx_L1_error)
          }
 0583: 
+0584:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0585:                     for x in re.findall(b"\((.*?)\)", re.split(b"b|s|f|k|l|nn", individual_rule_string)[2])[0].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_re); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 585, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_findall); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 585, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_re); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 585, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 585, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 585, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_3 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_5, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_5)) {
            PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_13};
            __pyx_t_14 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 585, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
            PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_13};
            __pyx_t_14 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 585, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          {
            __pyx_t_2 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 585, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (__pyx_t_3) {
              __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); __pyx_t_3 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_kp_b_b_s_f_k_l_nn);
            PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_12, __pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_t_13);
            PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_12, __pyx_t_13);
            __pyx_t_13 = 0;
            __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_2, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 585, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_14, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 585, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_14)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_14);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_kp_b__15, __pyx_t_5};
            __pyx_t_40 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 585, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_kp_b__15, __pyx_t_5};
            __pyx_t_40 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 585, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          {
            __pyx_t_2 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 585, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (__pyx_t_14) {
              __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_14); __pyx_t_14 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_kp_b__15);
            PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_12, __pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_t_5);
            PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_12, __pyx_t_5);
            __pyx_t_5 = 0;
            __pyx_t_40 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 585, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_40, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 585, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 585, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_40);
            if (likely(__pyx_t_4)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
              __Pyx_INCREF(__pyx_t_4);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_40, function);
            }
          }
          __pyx_t_39 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_4, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 585, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          if (likely(PyList_CheckExact(__pyx_t_39)) || PyTuple_CheckExact(__pyx_t_39)) {
            __pyx_t_40 = __pyx_t_39; __Pyx_INCREF(__pyx_t_40); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_40 = PyObject_GetIter(__pyx_t_39); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 585, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __pyx_t_7 = Py_TYPE(__pyx_t_40)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 585, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_40))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_40)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_39 = PyList_GET_ITEM(__pyx_t_40, __pyx_t_6); __Pyx_INCREF(__pyx_t_39); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 585, __pyx_L1_error)
                #else
                __pyx_t_39 = PySequence_ITEM(__pyx_t_40, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 585, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_39);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_40)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_39 = PyTuple_GET_ITEM(__pyx_t_40, __pyx_t_6); __Pyx_INCREF(__pyx_t_39); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 585, __pyx_L1_error)
                #else
                __pyx_t_39 = PySequence_ITEM(__pyx_t_40, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 585, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_39);
                #endif
              }
            } else {
              __pyx_t_39 = __pyx_t_7(__pyx_t_40);
              if (unlikely(!__pyx_t_39)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 585, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_39);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_39);
            __pyx_t_39 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
+0586:                         if x.find(b"-") != -1:
            __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 586, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_2 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
              __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
              if (likely(__pyx_t_2)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                __Pyx_INCREF(__pyx_t_2);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_4, function);
              }
            }
            __pyx_t_39 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_2, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 586, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_4 = __Pyx_PyInt_NeObjC(__pyx_t_39, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 586, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 586, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L325;
            }
+0587:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 587, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_2 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
                __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_39);
                if (likely(__pyx_t_2)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
                  __Pyx_INCREF(__pyx_t_2);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_39, function);
                }
              }
              __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_2, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
              if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 587, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_4, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 587, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_39); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 587, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 587, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_39); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 587, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 587, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_2 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
                __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
                if (likely(__pyx_t_2)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                  __Pyx_INCREF(__pyx_t_2);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_4, function);
                }
              }
              __pyx_t_39 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_2, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
              if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 587, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_39, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 587, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 587, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_39); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 587, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_22; __pyx_t_12 < __pyx_t_21; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0588:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0589:                         else:
+0590:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 590, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_39); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 590, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L325:;
+0591:                     survival.push_back(set_temp)
          try {
            __pyx_v_9CACompute_survival.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 591, __pyx_L1_error)
          }
 0592: 
+0593:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0594:                     for x in re.findall(b"\((.*?)\)", re.split(b"b|s|f|k|l|nn", individual_rule_string)[3])[0].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_re); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 594, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_findall); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 594, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_re); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 594, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 594, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 594, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_13 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_14);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_14, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_14)) {
            PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_5};
            __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 594, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) {
            PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_5};
            __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 594, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          {
            __pyx_t_3 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 594, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            if (__pyx_t_13) {
              __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_13); __pyx_t_13 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_kp_b_b_s_f_k_l_nn);
            PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_12, __pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_t_5);
            PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_12, __pyx_t_5);
            __pyx_t_5 = 0;
            __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 594, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_4, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 594, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_4)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_4);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_2)) {
            PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_b__15, __pyx_t_14};
            __pyx_t_39 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 594, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
            PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_b__15, __pyx_t_14};
            __pyx_t_39 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 594, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          } else
          #endif
          {
            __pyx_t_3 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 594, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            if (__pyx_t_4) {
              __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_kp_b__15);
            PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_12, __pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_t_14);
            PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_12, __pyx_t_14);
            __pyx_t_14 = 0;
            __pyx_t_39 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 594, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_39, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 594, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 594, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
            __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_39);
            if (likely(__pyx_t_2)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
              __Pyx_INCREF(__pyx_t_2);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_39, function);
            }
          }
          __pyx_t_40 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_2, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 594, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          if (likely(PyList_CheckExact(__pyx_t_40)) || PyTuple_CheckExact(__pyx_t_40)) {
            __pyx_t_39 = __pyx_t_40; __Pyx_INCREF(__pyx_t_39); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_39 = PyObject_GetIter(__pyx_t_40); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 594, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __pyx_t_7 = Py_TYPE(__pyx_t_39)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 594, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_39))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_39)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_40 = PyList_GET_ITEM(__pyx_t_39, __pyx_t_6); __Pyx_INCREF(__pyx_t_40); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 594, __pyx_L1_error)
                #else
                __pyx_t_40 = PySequence_ITEM(__pyx_t_39, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 594, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_40);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_39)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_40 = PyTuple_GET_ITEM(__pyx_t_39, __pyx_t_6); __Pyx_INCREF(__pyx_t_40); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 594, __pyx_L1_error)
                #else
                __pyx_t_40 = PySequence_ITEM(__pyx_t_39, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 594, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_40);
                #endif
              }
            } else {
              __pyx_t_40 = __pyx_t_7(__pyx_t_39);
              if (unlikely(!__pyx_t_40)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 594, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_40);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_40);
            __pyx_t_40 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
+0595:                         if x.find(b"-") != -1:
            __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 595, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_3 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
              __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
              if (likely(__pyx_t_3)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
                __Pyx_INCREF(__pyx_t_3);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_2, function);
              }
            }
            __pyx_t_40 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 595, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __pyx_t_2 = __Pyx_PyInt_NeObjC(__pyx_t_40, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 595, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 595, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L330;
            }
+0596:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 596, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_3 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
                __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_40);
                if (likely(__pyx_t_3)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
                  __Pyx_INCREF(__pyx_t_3);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_40, function);
                }
              }
              __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 596, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 596, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_40); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 596, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyInt_AddObjC(__pyx_t_2, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 596, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_40); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 596, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 596, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_3 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
                __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
                if (likely(__pyx_t_3)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
                  __Pyx_INCREF(__pyx_t_3);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_2, function);
                }
              }
              __pyx_t_40 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 596, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_40, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 596, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 596, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_40); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 596, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_21; __pyx_t_12 < __pyx_t_22; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0597:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0598:                         else:
+0599:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 599, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_40); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 599, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L330:;
+0600:                     forcing.push_back(set_temp)
          try {
            __pyx_v_9CACompute_forcing.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 600, __pyx_L1_error)
          }
 0601: 
+0602:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0603:                     for x in re.findall(b"\((.*?)\)", re.split(b"b|s|f|k|l|nn", individual_rule_string)[4])[0].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_re); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 603, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_findall); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 603, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_re); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 603, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 603, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 603, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __pyx_t_5 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_14};
            __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 603, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_14};
            __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 603, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          } else
          #endif
          {
            __pyx_t_13 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 603, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            if (__pyx_t_5) {
              __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_5); __pyx_t_5 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_kp_b_b_s_f_k_l_nn);
            PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_12, __pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_t_14);
            PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_12, __pyx_t_14);
            __pyx_t_14 = 0;
            __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_13, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 603, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_2, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 603, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_2)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_2);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_b__15, __pyx_t_4};
            __pyx_t_40 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 603, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_b__15, __pyx_t_4};
            __pyx_t_40 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 603, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          {
            __pyx_t_13 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 603, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            if (__pyx_t_2) {
              __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_2); __pyx_t_2 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_kp_b__15);
            PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_12, __pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_t_4);
            PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_12, __pyx_t_4);
            __pyx_t_4 = 0;
            __pyx_t_40 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_13, NULL); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 603, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_40, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 603, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 603, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_40);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_40, function);
            }
          }
          __pyx_t_39 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_3, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 603, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          if (likely(PyList_CheckExact(__pyx_t_39)) || PyTuple_CheckExact(__pyx_t_39)) {
            __pyx_t_40 = __pyx_t_39; __Pyx_INCREF(__pyx_t_40); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_40 = PyObject_GetIter(__pyx_t_39); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 603, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __pyx_t_7 = Py_TYPE(__pyx_t_40)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 603, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_40))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_40)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_39 = PyList_GET_ITEM(__pyx_t_40, __pyx_t_6); __Pyx_INCREF(__pyx_t_39); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 603, __pyx_L1_error)
                #else
                __pyx_t_39 = PySequence_ITEM(__pyx_t_40, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 603, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_39);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_40)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_39 = PyTuple_GET_ITEM(__pyx_t_40, __pyx_t_6); __Pyx_INCREF(__pyx_t_39); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 603, __pyx_L1_error)
                #else
                __pyx_t_39 = PySequence_ITEM(__pyx_t_40, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 603, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_39);
                #endif
              }
            } else {
              __pyx_t_39 = __pyx_t_7(__pyx_t_40);
              if (unlikely(!__pyx_t_39)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 603, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_39);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_39);
            __pyx_t_39 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
+0604:                         if x.find(b"-") != -1:
            __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 604, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_13 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
              __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3);
              if (likely(__pyx_t_13)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                __Pyx_INCREF(__pyx_t_13);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_3, function);
              }
            }
            __pyx_t_39 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 604, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            __pyx_t_3 = __Pyx_PyInt_NeObjC(__pyx_t_39, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 604, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 604, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L335;
            }
+0605:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 605, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_13 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
                __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_39);
                if (likely(__pyx_t_13)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
                  __Pyx_INCREF(__pyx_t_13);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_39, function);
                }
              }
              __pyx_t_3 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 605, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_3, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 605, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_39); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 605, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_PyInt_AddObjC(__pyx_t_3, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 605, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_39); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 605, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 605, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_13 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
                __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3);
                if (likely(__pyx_t_13)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                  __Pyx_INCREF(__pyx_t_13);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_3, function);
                }
              }
              __pyx_t_39 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 605, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_39, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 605, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 605, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_39); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 605, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_22; __pyx_t_12 < __pyx_t_21; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0606:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0607:                         else:
+0608:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 608, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_39); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 608, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L335:;
+0609:                     killing.push_back(set_temp)
          try {
            __pyx_v_9CACompute_killing.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 609, __pyx_L1_error)
          }
 0610: 
+0611:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0612:                     for x in re.findall(b"\((.*?)\)", re.split(b"b|s|f|k|l|nn", individual_rule_string)[5])[0].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_re); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 612, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_findall); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 612, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_re); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 612, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 612, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 612, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_14 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_14)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_14);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_2)) {
            PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_4};
            __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 612, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
            PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_4};
            __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 612, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          {
            __pyx_t_5 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 612, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            if (__pyx_t_14) {
              __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_14); __pyx_t_14 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_kp_b_b_s_f_k_l_nn);
            PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_12, __pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_t_4);
            PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_12, __pyx_t_4);
            __pyx_t_4 = 0;
            __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 612, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_3, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 612, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_13);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_13, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_13)) {
            PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_b__15, __pyx_t_2};
            __pyx_t_39 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 612, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) {
            PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_b__15, __pyx_t_2};
            __pyx_t_39 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 612, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          } else
          #endif
          {
            __pyx_t_5 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 612, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            if (__pyx_t_3) {
              __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_kp_b__15);
            PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_12, __pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_t_2);
            PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_12, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_39 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_5, NULL); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 612, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          }
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_39, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 612, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 612, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_39);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_39, function);
            }
          }
          __pyx_t_40 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_13, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
          if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 612, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          if (likely(PyList_CheckExact(__pyx_t_40)) || PyTuple_CheckExact(__pyx_t_40)) {
            __pyx_t_39 = __pyx_t_40; __Pyx_INCREF(__pyx_t_39); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_39 = PyObject_GetIter(__pyx_t_40); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 612, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __pyx_t_7 = Py_TYPE(__pyx_t_39)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 612, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_39))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_39)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_40 = PyList_GET_ITEM(__pyx_t_39, __pyx_t_6); __Pyx_INCREF(__pyx_t_40); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 612, __pyx_L1_error)
                #else
                __pyx_t_40 = PySequence_ITEM(__pyx_t_39, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 612, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_40);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_39)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_40 = PyTuple_GET_ITEM(__pyx_t_39, __pyx_t_6); __Pyx_INCREF(__pyx_t_40); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 612, __pyx_L1_error)
                #else
                __pyx_t_40 = PySequence_ITEM(__pyx_t_39, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 612, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_40);
                #endif
              }
            } else {
              __pyx_t_40 = __pyx_t_7(__pyx_t_39);
              if (unlikely(!__pyx_t_40)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 612, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_40);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_40);
            __pyx_t_40 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
+0613:                         if x.find(b"-") != -1:
            __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 613, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __pyx_t_5 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
              __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13);
              if (likely(__pyx_t_5)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
                __Pyx_INCREF(__pyx_t_5);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_13, function);
              }
            }
            __pyx_t_40 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 613, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            __pyx_t_13 = __Pyx_PyInt_NeObjC(__pyx_t_40, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 613, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 613, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L340;
            }
+0614:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 614, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_5 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
                __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_40);
                if (likely(__pyx_t_5)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
                  __Pyx_INCREF(__pyx_t_5);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_40, function);
                }
              }
              __pyx_t_13 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_5, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 614, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_13, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 614, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_t_40); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 614, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyInt_AddObjC(__pyx_t_13, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 614, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_40); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 614, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 614, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_5 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
                __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_13);
                if (likely(__pyx_t_5)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
                  __Pyx_INCREF(__pyx_t_5);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_13, function);
                }
              }
              __pyx_t_40 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_5, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 614, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_40, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 614, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_t_13); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 614, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_40); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 614, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_21; __pyx_t_12 < __pyx_t_22; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0615:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0616:                         else:
+0617:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 617, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_40); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 617, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L340:;
+0618:                     living.push_back(set_temp)
          try {
            __pyx_v_9CACompute_living.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 618, __pyx_L1_error)
          }
 0619: 
+0620:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0621:                     for x in re.sub(b"\(.*?\)", b"", re.split(b"b|s|f|k|l|nn", individual_rule_string)[1]).split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_re); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 621, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_sub); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 621, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_re); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 621, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 621, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 621, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_4 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_4)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_4);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_2};
            __pyx_t_13 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 621, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_2};
            __pyx_t_13 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 621, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          } else
          #endif
          {
            __pyx_t_14 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 621, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            if (__pyx_t_4) {
              __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_4); __pyx_t_4 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_kp_b_b_s_f_k_l_nn);
            PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_12, __pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_t_2);
            PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_12, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_14, NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 621, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_13, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 621, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_5);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_5, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_5)) {
            PyObject *__pyx_temp[4] = {__pyx_t_13, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_3};
            __pyx_t_40 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 621, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
            PyObject *__pyx_temp[4] = {__pyx_t_13, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_3};
            __pyx_t_40 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 621, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          } else
          #endif
          {
            __pyx_t_14 = PyTuple_New(3+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 621, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            if (__pyx_t_13) {
              __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __pyx_t_13 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__16);
            __Pyx_GIVEREF(__pyx_kp_b__16);
            PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_12, __pyx_kp_b__16);
            __Pyx_INCREF(__pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_kp_b_);
            PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_12, __pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_t_3);
            PyTuple_SET_ITEM(__pyx_t_14, 2+__pyx_t_12, __pyx_t_3);
            __pyx_t_3 = 0;
            __pyx_t_40 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_14, NULL); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 621, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 621, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_5);
            if (likely(__pyx_t_40)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_40);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_5, function);
            }
          }
          __pyx_t_39 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_40, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
          if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 621, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (likely(PyList_CheckExact(__pyx_t_39)) || PyTuple_CheckExact(__pyx_t_39)) {
            __pyx_t_5 = __pyx_t_39; __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_39); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 621, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __pyx_t_7 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 621, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_5))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_5)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_39 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_39); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 621, __pyx_L1_error)
                #else
                __pyx_t_39 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 621, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_39);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_39 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_39); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 621, __pyx_L1_error)
                #else
                __pyx_t_39 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 621, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_39);
                #endif
              }
            } else {
              __pyx_t_39 = __pyx_t_7(__pyx_t_5);
              if (unlikely(!__pyx_t_39)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 621, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_39);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_39);
            __pyx_t_39 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0622:                         if x.find(b"-") != -1:
            __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 622, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __pyx_t_14 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
              __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_40);
              if (likely(__pyx_t_14)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
                __Pyx_INCREF(__pyx_t_14);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_40, function);
              }
            }
            __pyx_t_39 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_14, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 622, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
            __pyx_t_40 = __Pyx_PyInt_NeObjC(__pyx_t_39, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 622, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_40); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 622, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L345;
            }
+0623:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 623, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_14 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
                __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_39);
                if (likely(__pyx_t_14)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
                  __Pyx_INCREF(__pyx_t_14);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_39, function);
                }
              }
              __pyx_t_40 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_14, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
              if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 623, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_40, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 623, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_t_39); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 623, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_PyInt_AddObjC(__pyx_t_40, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 623, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_39); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 623, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 623, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_14 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
                __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_40);
                if (likely(__pyx_t_14)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
                  __Pyx_INCREF(__pyx_t_14);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_40, function);
                }
              }
              __pyx_t_39 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_14, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
              if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 623, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_39, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 623, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_t_40); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 623, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_39); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 623, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_22; __pyx_t_12 < __pyx_t_21; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0624:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0625:                         else:
+0626:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 626, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_39); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 626, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L345:;
+0627:                     other_birth.push_back(set_temp)
          try {
            __pyx_v_9CACompute_other_birth.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 627, __pyx_L1_error)
          }
 0628: 
+0629:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0630:                     for x in re.sub(b"\(.*?\)", b"", re.split(b"b|s|f|k|l|nn", individual_rule_string)[2]).split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_re); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 630, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_sub); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 630, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_re); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 630, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 630, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 630, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_2 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) {
            __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_13);
            if (likely(__pyx_t_2)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
              __Pyx_INCREF(__pyx_t_2);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_13, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_13)) {
            PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_3};
            __pyx_t_40 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 630, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) {
            PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_3};
            __pyx_t_40 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 630, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          } else
          #endif
          {
            __pyx_t_4 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 630, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            if (__pyx_t_2) {
              __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_kp_b_b_s_f_k_l_nn);
            PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_12, __pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_t_3);
            PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_12, __pyx_t_3);
            __pyx_t_3 = 0;
            __pyx_t_40 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_4, NULL); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 630, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          }
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_40, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 630, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) {
            __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_14);
            if (likely(__pyx_t_40)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
              __Pyx_INCREF(__pyx_t_40);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_14, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_14)) {
            PyObject *__pyx_temp[4] = {__pyx_t_40, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_13};
            __pyx_t_39 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 630, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) {
            PyObject *__pyx_temp[4] = {__pyx_t_40, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_13};
            __pyx_t_39 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 630, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          {
            __pyx_t_4 = PyTuple_New(3+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 630, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            if (__pyx_t_40) {
              __Pyx_GIVEREF(__pyx_t_40); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_40); __pyx_t_40 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__16);
            __Pyx_GIVEREF(__pyx_kp_b__16);
            PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_12, __pyx_kp_b__16);
            __Pyx_INCREF(__pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_kp_b_);
            PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_12, __pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_t_13);
            PyTuple_SET_ITEM(__pyx_t_4, 2+__pyx_t_12, __pyx_t_13);
            __pyx_t_13 = 0;
            __pyx_t_39 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_4, NULL); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 630, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 630, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_14);
            if (likely(__pyx_t_39)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
              __Pyx_INCREF(__pyx_t_39);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_14, function);
            }
          }
          __pyx_t_5 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_39, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
          if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 630, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
            __pyx_t_14 = __pyx_t_5; __Pyx_INCREF(__pyx_t_14); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_14 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 630, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __pyx_t_7 = Py_TYPE(__pyx_t_14)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 630, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_14))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_14)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_5 = PyList_GET_ITEM(__pyx_t_14, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 630, __pyx_L1_error)
                #else
                __pyx_t_5 = PySequence_ITEM(__pyx_t_14, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 630, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_5);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_14)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_14, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 630, __pyx_L1_error)
                #else
                __pyx_t_5 = PySequence_ITEM(__pyx_t_14, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 630, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_5);
                #endif
              }
            } else {
              __pyx_t_5 = __pyx_t_7(__pyx_t_14);
              if (unlikely(!__pyx_t_5)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 630, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_5);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5);
            __pyx_t_5 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+0631:                         if x.find(b"-") != -1:
            __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 631, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __pyx_t_4 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
              __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_39);
              if (likely(__pyx_t_4)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
                __Pyx_INCREF(__pyx_t_4);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_39, function);
              }
            }
            __pyx_t_5 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_4, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 631, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
            __pyx_t_39 = __Pyx_PyInt_NeObjC(__pyx_t_5, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 631, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_39); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 631, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L350;
            }
+0632:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 632, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_4 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
                __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
                if (likely(__pyx_t_4)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                  __Pyx_INCREF(__pyx_t_4);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_5, function);
                }
              }
              __pyx_t_39 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 632, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_39, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 632, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_t_5); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 632, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_t_39, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 632, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_5); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 632, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 632, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_4 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
                __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_39);
                if (likely(__pyx_t_4)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
                  __Pyx_INCREF(__pyx_t_4);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_39, function);
                }
              }
              __pyx_t_5 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_4, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 632, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_5, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 632, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_39); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 632, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_5); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 632, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_21; __pyx_t_12 < __pyx_t_22; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0633:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0634:                         else:
+0635:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 635, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 635, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L350:;
+0636:                     other_survival.push_back(set_temp)
          try {
            __pyx_v_9CACompute_other_survival.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 636, __pyx_L1_error)
          }
 0637: 
+0638:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0639:                     for x in re.sub(b"\(.*?\)", b"", re.split(b"b|s|f|k|l|nn", individual_rule_string)[3]).split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_39, __pyx_n_s_re); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 639, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_sub); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 639, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_re); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 639, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 639, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 639, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_3 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_40))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_40);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_40, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_40)) {
            PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_13};
            __pyx_t_39 = __Pyx_PyFunction_FastCall(__pyx_t_40, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 639, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_40)) {
            PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_13};
            __pyx_t_39 = __Pyx_PyCFunction_FastCall(__pyx_t_40, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 639, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          {
            __pyx_t_2 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 639, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (__pyx_t_3) {
              __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); __pyx_t_3 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_kp_b_b_s_f_k_l_nn);
            PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_12, __pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_t_13);
            PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_12, __pyx_t_13);
            __pyx_t_13 = 0;
            __pyx_t_39 = __Pyx_PyObject_Call(__pyx_t_40, __pyx_t_2, NULL); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 639, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_39, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 639, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_39)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_39);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[4] = {__pyx_t_39, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_40};
            __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 639, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[4] = {__pyx_t_39, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_40};
            __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 639, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          } else
          #endif
          {
            __pyx_t_2 = PyTuple_New(3+__pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 639, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (__pyx_t_39) {
              __Pyx_GIVEREF(__pyx_t_39); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_39); __pyx_t_39 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__16);
            __Pyx_GIVEREF(__pyx_kp_b__16);
            PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_12, __pyx_kp_b__16);
            __Pyx_INCREF(__pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_kp_b_);
            PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_12, __pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_t_40);
            PyTuple_SET_ITEM(__pyx_t_2, 2+__pyx_t_12, __pyx_t_40);
            __pyx_t_40 = 0;
            __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 639, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 639, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
            }
          }
          __pyx_t_14 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 639, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (likely(PyList_CheckExact(__pyx_t_14)) || PyTuple_CheckExact(__pyx_t_14)) {
            __pyx_t_4 = __pyx_t_14; __Pyx_INCREF(__pyx_t_4); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_14); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 639, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_7 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 639, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_4))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_4)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_14 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_14); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 639, __pyx_L1_error)
                #else
                __pyx_t_14 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 639, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_14);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_14 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_14); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 639, __pyx_L1_error)
                #else
                __pyx_t_14 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 639, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_14);
                #endif
              }
            } else {
              __pyx_t_14 = __pyx_t_7(__pyx_t_4);
              if (unlikely(!__pyx_t_14)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 639, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_14);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_14);
            __pyx_t_14 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+0640:                         if x.find(b"-") != -1:
            __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 640, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __pyx_t_2 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
              __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5);
              if (likely(__pyx_t_2)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                __Pyx_INCREF(__pyx_t_2);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_5, function);
              }
            }
            __pyx_t_14 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 640, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            __pyx_t_5 = __Pyx_PyInt_NeObjC(__pyx_t_14, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 640, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 640, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L355;
            }
+0641:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 641, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_2 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
                __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_14);
                if (likely(__pyx_t_2)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
                  __Pyx_INCREF(__pyx_t_2);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_14, function);
                }
              }
              __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_2, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 641, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_5, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 641, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 641, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_PyInt_AddObjC(__pyx_t_5, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 641, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_14); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 641, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 641, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_2 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
                __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5);
                if (likely(__pyx_t_2)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                  __Pyx_INCREF(__pyx_t_2);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_5, function);
                }
              }
              __pyx_t_14 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
              if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 641, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_14, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 641, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_t_5); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 641, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_14); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 641, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_22; __pyx_t_12 < __pyx_t_21; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0642:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0643:                         else:
+0644:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 644, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_14); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 644, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L355:;
+0645:                     other_forcing.push_back(set_temp)
          try {
            __pyx_v_9CACompute_other_forcing.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 645, __pyx_L1_error)
          }
 0646: 
+0647:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0648:                     for x in re.sub(b"\(.*?\)", b"", re.split(b"b|s|f|k|l|nn", individual_rule_string)[4]).split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_re); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 648, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_sub); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 648, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_re); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 648, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 648, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 648, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __pyx_t_13 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_39))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_39);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_39, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_39)) {
            PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_40};
            __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_39, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 648, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_39)) {
            PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_40};
            __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_39, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 648, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          } else
          #endif
          {
            __pyx_t_3 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 648, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            if (__pyx_t_13) {
              __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_13); __pyx_t_13 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_kp_b_b_s_f_k_l_nn);
            PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_12, __pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_t_40);
            PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_12, __pyx_t_40);
            __pyx_t_40 = 0;
            __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_39, __pyx_t_3, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 648, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_5, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 648, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_2)) {
            PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_39};
            __pyx_t_14 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 648, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
            PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_39};
            __pyx_t_14 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 648, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          } else
          #endif
          {
            __pyx_t_3 = PyTuple_New(3+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 648, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            if (__pyx_t_5) {
              __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); __pyx_t_5 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__16);
            __Pyx_GIVEREF(__pyx_kp_b__16);
            PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_12, __pyx_kp_b__16);
            __Pyx_INCREF(__pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_kp_b_);
            PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_12, __pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_t_39);
            PyTuple_SET_ITEM(__pyx_t_3, 2+__pyx_t_12, __pyx_t_39);
            __pyx_t_39 = 0;
            __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 648, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 648, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_14)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_14);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
            }
          }
          __pyx_t_4 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_14, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
          if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 648, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
            __pyx_t_2 = __pyx_t_4; __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 648, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_7 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 648, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_2)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 648, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 648, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 648, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 648, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              }
            } else {
              __pyx_t_4 = __pyx_t_7(__pyx_t_2);
              if (unlikely(!__pyx_t_4)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 648, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_4);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4);
            __pyx_t_4 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0649:                         if x.find(b"-") != -1:
            __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 649, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __pyx_t_3 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
              __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_14);
              if (likely(__pyx_t_3)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
                __Pyx_INCREF(__pyx_t_3);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_14, function);
              }
            }
            __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 649, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
            __pyx_t_14 = __Pyx_PyInt_NeObjC(__pyx_t_4, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 649, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 649, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L360;
            }
+0650:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 650, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_3 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
                __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
                if (likely(__pyx_t_3)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                  __Pyx_INCREF(__pyx_t_3);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_4, function);
                }
              }
              __pyx_t_14 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 650, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_14, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 650, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 650, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_PyInt_AddObjC(__pyx_t_14, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 650, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_4); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 650, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 650, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_3 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
                __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_14);
                if (likely(__pyx_t_3)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
                  __Pyx_INCREF(__pyx_t_3);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_14, function);
                }
              }
              __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 650, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_4, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 650, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_14); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 650, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_4); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 650, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_21; __pyx_t_12 < __pyx_t_22; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0651:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0652:                         else:
+0653:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 653, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 653, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L360:;
+0654:                     other_killing.push_back(set_temp)
          try {
            __pyx_v_9CACompute_other_killing.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 654, __pyx_L1_error)
          }
 0655: 
+0656:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0657:                     for x in re.sub(b"\(.*?\)", b"", re.split(b"b|s|f|k|l|nn", individual_rule_string)[5]).split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_re); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 657, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_sub); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 657, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __Pyx_GetModuleGlobalName(__pyx_t_39, __pyx_n_s_re); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 657, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 657, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 657, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __pyx_t_40 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_5);
            if (likely(__pyx_t_40)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_40);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_5, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_5)) {
            PyObject *__pyx_temp[3] = {__pyx_t_40, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_39};
            __pyx_t_14 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 657, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
            PyObject *__pyx_temp[3] = {__pyx_t_40, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_39};
            __pyx_t_14 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 657, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          } else
          #endif
          {
            __pyx_t_13 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 657, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            if (__pyx_t_40) {
              __Pyx_GIVEREF(__pyx_t_40); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_40); __pyx_t_40 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_kp_b_b_s_f_k_l_nn);
            PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_12, __pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_t_39);
            PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_12, __pyx_t_39);
            __pyx_t_39 = 0;
            __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_13, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 657, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_14, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 657, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_14)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_14);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[4] = {__pyx_t_14, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_5};
            __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 657, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[4] = {__pyx_t_14, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_5};
            __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 657, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          {
            __pyx_t_13 = PyTuple_New(3+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 657, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            if (__pyx_t_14) {
              __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_14); __pyx_t_14 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__16);
            __Pyx_GIVEREF(__pyx_kp_b__16);
            PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_12, __pyx_kp_b__16);
            __Pyx_INCREF(__pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_kp_b_);
            PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_12, __pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_t_5);
            PyTuple_SET_ITEM(__pyx_t_13, 2+__pyx_t_12, __pyx_t_5);
            __pyx_t_5 = 0;
            __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_13, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 657, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 657, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_4)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_4);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
            }
          }
          __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 657, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
            __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 657, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 657, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_3))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 657, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 657, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 657, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 657, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              }
            } else {
              __pyx_t_2 = __pyx_t_7(__pyx_t_3);
              if (unlikely(!__pyx_t_2)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 657, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_2);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
            __pyx_t_2 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0658:                         if x.find(b"-") != -1:
            __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 658, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_13 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
              __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_4);
              if (likely(__pyx_t_13)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                __Pyx_INCREF(__pyx_t_13);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_4, function);
              }
            }
            __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 658, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_4 = __Pyx_PyInt_NeObjC(__pyx_t_2, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 658, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 658, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L365;
            }
+0659:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 659, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_13 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
                __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_2);
                if (likely(__pyx_t_13)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
                  __Pyx_INCREF(__pyx_t_13);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_2, function);
                }
              }
              __pyx_t_4 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 659, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_4, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 659, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 659, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 659, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 659, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 659, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_13 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
                __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_4);
                if (likely(__pyx_t_13)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                  __Pyx_INCREF(__pyx_t_13);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_4, function);
                }
              }
              __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 659, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 659, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 659, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 659, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_22; __pyx_t_12 < __pyx_t_21; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0660:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0661:                         else:
+0662:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 662, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 662, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L365:;
+0663:                     other_living.push_back(set_temp)
          try {
            __pyx_v_9CACompute_other_living.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 663, __pyx_L1_error)
          }
 0664: 
+0665:                     try: naive_lst.push_back(re.split(b"b|s|f|k|l|nn", individual_rule_string)[6])
          {
            /*try:*/ {
              __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_re); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 665, __pyx_L368_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 665, __pyx_L368_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 665, __pyx_L368_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_13 = NULL;
              __pyx_t_12 = 0;
              if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
                __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_4);
                if (likely(__pyx_t_13)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                  __Pyx_INCREF(__pyx_t_13);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_4, function);
                  __pyx_t_12 = 1;
                }
              }
              #if CYTHON_FAST_PYCALL
              if (PyFunction_Check(__pyx_t_4)) {
                PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_2};
                __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 665, __pyx_L368_error)
                __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
                __Pyx_GOTREF(__pyx_t_3);
                __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              } else
              #endif
              #if CYTHON_FAST_PYCCALL
              if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
                PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_2};
                __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 665, __pyx_L368_error)
                __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
                __Pyx_GOTREF(__pyx_t_3);
                __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              } else
              #endif
              {
                __pyx_t_5 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 665, __pyx_L368_error)
                __Pyx_GOTREF(__pyx_t_5);
                if (__pyx_t_13) {
                  __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_13); __pyx_t_13 = NULL;
                }
                __Pyx_INCREF(__pyx_kp_b_b_s_f_k_l_nn);
                __Pyx_GIVEREF(__pyx_kp_b_b_s_f_k_l_nn);
                PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_12, __pyx_kp_b_b_s_f_k_l_nn);
                __Pyx_GIVEREF(__pyx_t_2);
                PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_12, __pyx_t_2);
                __pyx_t_2 = 0;
                __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 665, __pyx_L368_error)
                __Pyx_GOTREF(__pyx_t_3);
                __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              }
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_3, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 665, __pyx_L368_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_t_4); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 665, __pyx_L368_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 665, __pyx_L368_error)
              }
            }
            __Pyx_XDECREF(__pyx_t_38); __pyx_t_38 = 0;
            __Pyx_XDECREF(__pyx_t_37); __pyx_t_37 = 0;
            __Pyx_XDECREF(__pyx_t_36); __pyx_t_36 = 0;
            goto __pyx_L375_try_end;
            __pyx_L368_error:;
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
/* … */
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_ExceptionReset(__pyx_t_38, __pyx_t_37, __pyx_t_36);
            goto __pyx_L1_error;
            __pyx_L369_exception_handled:;
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_ExceptionReset(__pyx_t_38, __pyx_t_37, __pyx_t_36);
            __pyx_L375_try_end:;
          }
        }
        __pyx_L257:;
+0666:                     except IndexError: naive_lst.push_back(b"-1")
            __pyx_t_12 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_IndexError);
            if (__pyx_t_12) {
              __Pyx_AddTraceback("CACompute.load", __pyx_clineno, __pyx_lineno, __pyx_filename);
              if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(0, 666, __pyx_L370_except_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_kp_b_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 666, __pyx_L370_except_error)
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 666, __pyx_L370_except_error)
              }
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              goto __pyx_L369_exception_handled;
            }
            goto __pyx_L370_except_error;
            __pyx_L370_except_error:;
+0667:             elif bsconditions == b"Range 1 Moore Semi Totalistic":
      __pyx_t_8 = ((__pyx_v_9CACompute_bsconditions == ((char const *)"Range 1 Moore Semi Totalistic")) != 0);
      if (__pyx_t_8) {
/* … */
      }
      __pyx_L185:;
+0668:                 if individual_rule_string.find(b"/") != -1:
        __pyx_t_8 = ((__pyx_v_individual_rule_string.find(__pyx_k__13) != -1L) != 0);
        if (__pyx_t_8) {
/* … */
          goto __pyx_L378;
        }
+0669:                     current_trans = []
          __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 669, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_XDECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_5));
          __pyx_t_5 = 0;
+0670:                     temp_semi_1.clear()
          __pyx_v_temp_semi_1.clear();
+0671:                     for x in individual_rule_string.split(b"/")[0]:
          __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 671, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 671, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
            }
          }
          __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 671, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_5, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 671, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
            __pyx_t_5 = __pyx_t_4; __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 671, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __pyx_t_7 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 671, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_5))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_5)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 671, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 671, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 671, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 671, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              }
            } else {
              __pyx_t_4 = __pyx_t_7(__pyx_t_5);
              if (unlikely(!__pyx_t_4)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 671, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_4);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4);
            __pyx_t_4 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0672:                         current_trans.append(int(str(x)))
            __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 672, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 672, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_41 = __Pyx_PyList_Append(__pyx_v_current_trans, __pyx_t_3); if (unlikely(__pyx_t_41 == ((int)-1))) __PYX_ERR(0, 672, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0673:                         if len(current_trans) == 2:
            __pyx_t_10 = PyList_GET_SIZE(__pyx_v_current_trans); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 673, __pyx_L1_error)
            __pyx_t_8 = ((__pyx_t_10 == 2) != 0);
            if (__pyx_t_8) {
/* … */
            }
+0674:                             temp_semi_1.insert(pair[int, int] (current_trans[0] - 48, current_trans[1] - 48))
              __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 674, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_4 = __Pyx_PyInt_SubtractObjC(__pyx_t_3, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 674, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 674, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 674, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_t_4, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 674, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 674, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              try {
                __pyx_t_25 = std::pair<int,int> (__pyx_t_12, __pyx_t_24);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 674, __pyx_L1_error)
              }
              (void)(__pyx_v_temp_semi_1.insert(__pyx_t_25));
+0675:                             current_trans = []
              __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 675, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_3));
              __pyx_t_3 = 0;
+0676:                     birth_semi_1.push_back(temp_semi_1)
          try {
            __pyx_v_9CACompute_birth_semi_1.push_back(__pyx_v_temp_semi_1);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 676, __pyx_L1_error)
          }
 0677: 
+0678:                     current_trans = []
          __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 678, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_5));
          __pyx_t_5 = 0;
+0679:                     temp_semi_1.clear()
          __pyx_v_temp_semi_1.clear();
+0680:                     for x in individual_rule_string.split(b"/")[1]:
          __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 680, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 680, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
            }
          }
          __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 680, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_5, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 680, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
            __pyx_t_5 = __pyx_t_4; __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 680, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __pyx_t_7 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 680, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_5))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_5)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 680, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 680, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 680, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 680, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              }
            } else {
              __pyx_t_4 = __pyx_t_7(__pyx_t_5);
              if (unlikely(!__pyx_t_4)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 680, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_4);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4);
            __pyx_t_4 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0681:                         current_trans.append(int(str(x)))
            __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 681, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 681, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_41 = __Pyx_PyList_Append(__pyx_v_current_trans, __pyx_t_3); if (unlikely(__pyx_t_41 == ((int)-1))) __PYX_ERR(0, 681, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0682:                         if len(current_trans) == 2:
            __pyx_t_10 = PyList_GET_SIZE(__pyx_v_current_trans); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 682, __pyx_L1_error)
            __pyx_t_8 = ((__pyx_t_10 == 2) != 0);
            if (__pyx_t_8) {
/* … */
            }
+0683:                             temp_semi_1.insert(pair[int, int] (current_trans[0] - 48, current_trans[1] - 48))
              __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 683, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_4 = __Pyx_PyInt_SubtractObjC(__pyx_t_3, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 683, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 683, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 683, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_t_4, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 683, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 683, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              try {
                __pyx_t_25 = std::pair<int,int> (__pyx_t_24, __pyx_t_12);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 683, __pyx_L1_error)
              }
              (void)(__pyx_v_temp_semi_1.insert(__pyx_t_25));
+0684:                             current_trans = []
              __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 684, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_3));
              __pyx_t_3 = 0;
+0685:                     survival_semi_1.push_back(temp_semi_1)
          try {
            __pyx_v_9CACompute_survival_semi_1.push_back(__pyx_v_temp_semi_1);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 685, __pyx_L1_error)
          }
 0686: 
+0687:                     current_trans = []
          __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 687, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_5));
          __pyx_t_5 = 0;
+0688:                     temp_semi_1.clear()
          __pyx_v_temp_semi_1.clear();
+0689:                     for x in individual_rule_string.split(b"/")[2]:
          __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 689, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 689, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
            }
          }
          __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 689, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_5, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 689, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
            __pyx_t_5 = __pyx_t_4; __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 689, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __pyx_t_7 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 689, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_5))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_5)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 689, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 689, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 689, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 689, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              }
            } else {
              __pyx_t_4 = __pyx_t_7(__pyx_t_5);
              if (unlikely(!__pyx_t_4)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 689, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_4);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4);
            __pyx_t_4 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0690:                         current_trans.append(int(str(x)))
            __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 690, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 690, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_41 = __Pyx_PyList_Append(__pyx_v_current_trans, __pyx_t_3); if (unlikely(__pyx_t_41 == ((int)-1))) __PYX_ERR(0, 690, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0691:                         if len(current_trans) == 2:
            __pyx_t_10 = PyList_GET_SIZE(__pyx_v_current_trans); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 691, __pyx_L1_error)
            __pyx_t_8 = ((__pyx_t_10 == 2) != 0);
            if (__pyx_t_8) {
/* … */
            }
+0692:                             temp_semi_1.insert(pair[int, int] (current_trans[0] - 48, current_trans[1] - 48))
              __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 692, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_4 = __Pyx_PyInt_SubtractObjC(__pyx_t_3, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 692, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 692, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 692, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_t_4, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 692, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 692, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              try {
                __pyx_t_25 = std::pair<int,int> (__pyx_t_12, __pyx_t_24);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 692, __pyx_L1_error)
              }
              (void)(__pyx_v_temp_semi_1.insert(__pyx_t_25));
+0693:                             current_trans = []
              __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 693, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_3));
              __pyx_t_3 = 0;
+0694:                     forcing_semi_1.push_back(temp_semi_1)
          try {
            __pyx_v_9CACompute_forcing_semi_1.push_back(__pyx_v_temp_semi_1);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 694, __pyx_L1_error)
          }
 0695: 
+0696:                     current_trans = []
          __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 696, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_5));
          __pyx_t_5 = 0;
+0697:                     temp_semi_1.clear()
          __pyx_v_temp_semi_1.clear();
+0698:                     for x in individual_rule_string.split(b"/")[3]:
          __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 698, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 698, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
            }
          }
          __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 698, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_5, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 698, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
            __pyx_t_5 = __pyx_t_4; __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 698, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __pyx_t_7 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 698, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_5))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_5)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 698, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 698, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 698, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 698, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              }
            } else {
              __pyx_t_4 = __pyx_t_7(__pyx_t_5);
              if (unlikely(!__pyx_t_4)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 698, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_4);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4);
            __pyx_t_4 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0699:                         current_trans.append(int(str(x)))
            __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 699, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 699, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_41 = __Pyx_PyList_Append(__pyx_v_current_trans, __pyx_t_3); if (unlikely(__pyx_t_41 == ((int)-1))) __PYX_ERR(0, 699, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0700:                         if len(current_trans) == 2:
            __pyx_t_10 = PyList_GET_SIZE(__pyx_v_current_trans); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 700, __pyx_L1_error)
            __pyx_t_8 = ((__pyx_t_10 == 2) != 0);
            if (__pyx_t_8) {
/* … */
            }
+0701:                             temp_semi_1.insert(pair[int, int] (current_trans[0] - 48, current_trans[1] - 48))
              __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 701, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_4 = __Pyx_PyInt_SubtractObjC(__pyx_t_3, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 701, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 701, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 701, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_t_4, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 701, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 701, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              try {
                __pyx_t_25 = std::pair<int,int> (__pyx_t_24, __pyx_t_12);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 701, __pyx_L1_error)
              }
              (void)(__pyx_v_temp_semi_1.insert(__pyx_t_25));
+0702:                             current_trans = []
              __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 702, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_3));
              __pyx_t_3 = 0;
+0703:                     killing_semi_1.push_back(temp_semi_1)
          try {
            __pyx_v_9CACompute_killing_semi_1.push_back(__pyx_v_temp_semi_1);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 703, __pyx_L1_error)
          }
 0704: 
+0705:                     current_trans = []
          __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 705, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_5));
          __pyx_t_5 = 0;
+0706:                     temp_semi_1.clear()
          __pyx_v_temp_semi_1.clear();
+0707:                     for x in individual_rule_string.split(b"/")[4]:
          __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 707, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 707, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
            }
          }
          __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 707, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_5, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 707, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
            __pyx_t_5 = __pyx_t_4; __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 707, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __pyx_t_7 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 707, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_5))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_5)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 707, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 707, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 707, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 707, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              }
            } else {
              __pyx_t_4 = __pyx_t_7(__pyx_t_5);
              if (unlikely(!__pyx_t_4)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 707, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_4);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4);
            __pyx_t_4 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0708:                         current_trans.append(int(str(x)))
            __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 708, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 708, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_41 = __Pyx_PyList_Append(__pyx_v_current_trans, __pyx_t_3); if (unlikely(__pyx_t_41 == ((int)-1))) __PYX_ERR(0, 708, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0709:                         if len(current_trans) == 2:
            __pyx_t_10 = PyList_GET_SIZE(__pyx_v_current_trans); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 709, __pyx_L1_error)
            __pyx_t_8 = ((__pyx_t_10 == 2) != 0);
            if (__pyx_t_8) {
/* … */
            }
+0710:                             temp_semi_1.insert(pair[int, int] (current_trans[0] - 48, current_trans[1] - 48))
              __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 710, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_4 = __Pyx_PyInt_SubtractObjC(__pyx_t_3, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 710, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 710, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 710, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_t_4, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 710, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 710, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              try {
                __pyx_t_25 = std::pair<int,int> (__pyx_t_12, __pyx_t_24);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 710, __pyx_L1_error)
              }
              (void)(__pyx_v_temp_semi_1.insert(__pyx_t_25));
+0711:                             current_trans = []
              __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 711, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_3));
              __pyx_t_3 = 0;
+0712:                     living_semi_1.push_back(temp_semi_1)
          try {
            __pyx_v_9CACompute_living_semi_1.push_back(__pyx_v_temp_semi_1);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 712, __pyx_L1_error)
          }
 0713: 
+0714:                     try: naive_lst.push_back(individual_rule_string.split(b"/")[5])
          {
            /*try:*/ {
              __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 714, __pyx_L394_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 714, __pyx_L394_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
                __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
                if (likely(__pyx_t_3)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                  __Pyx_INCREF(__pyx_t_3);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_4, function);
                }
              }
              __pyx_t_5 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__13);
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 714, __pyx_L394_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_5, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 714, __pyx_L394_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_t_4); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 714, __pyx_L394_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 714, __pyx_L394_error)
              }
            }
            __Pyx_XDECREF(__pyx_t_36); __pyx_t_36 = 0;
            __Pyx_XDECREF(__pyx_t_37); __pyx_t_37 = 0;
            __Pyx_XDECREF(__pyx_t_38); __pyx_t_38 = 0;
            goto __pyx_L401_try_end;
            __pyx_L394_error:;
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
/* … */
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_ExceptionReset(__pyx_t_36, __pyx_t_37, __pyx_t_38);
            goto __pyx_L1_error;
            __pyx_L395_exception_handled:;
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_ExceptionReset(__pyx_t_36, __pyx_t_37, __pyx_t_38);
            __pyx_L401_try_end:;
          }
+0715:                     except IndexError: naive_lst.push_back(b"-1")
            __pyx_t_24 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_IndexError);
            if (__pyx_t_24) {
              __Pyx_AddTraceback("CACompute.load", __pyx_clineno, __pyx_lineno, __pyx_filename);
              if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_5, &__pyx_t_3) < 0) __PYX_ERR(0, 715, __pyx_L396_except_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_kp_b_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 715, __pyx_L396_except_error)
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 715, __pyx_L396_except_error)
              }
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              goto __pyx_L395_exception_handled;
            }
            goto __pyx_L396_except_error;
            __pyx_L396_except_error:;
 0716:                 else:
+0717:                     current_trans = []
        /*else*/ {
          __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 717, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_XDECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_3));
          __pyx_t_3 = 0;
+0718:                     temp_semi_1.clear()
          __pyx_v_temp_semi_1.clear();
+0719:                     for x in re.split(b"b|s|f|k|l|nn", individual_rule_string)[1]:
          __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_re); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 719, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 719, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 719, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_2 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_2)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_2);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_5};
            __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 719, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_5};
            __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 719, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          {
            __pyx_t_13 = PyTuple_New(2+__pyx_t_24); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 719, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            if (__pyx_t_2) {
              __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_2); __pyx_t_2 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_kp_b_b_s_f_k_l_nn);
            PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_24, __pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_t_5);
            PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_24, __pyx_t_5);
            __pyx_t_5 = 0;
            __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_13, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 719, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_3, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 719, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
            __pyx_t_3 = __pyx_t_4; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 719, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 719, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_3))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 719, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 719, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 719, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 719, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              }
            } else {
              __pyx_t_4 = __pyx_t_7(__pyx_t_3);
              if (unlikely(!__pyx_t_4)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 719, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_4);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4);
            __pyx_t_4 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0720:                         current_trans.append(int(str(x)))
            __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 720, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 720, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_41 = __Pyx_PyList_Append(__pyx_v_current_trans, __pyx_t_13); if (unlikely(__pyx_t_41 == ((int)-1))) __PYX_ERR(0, 720, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+0721:                         if len(current_trans) == 2:
            __pyx_t_10 = PyList_GET_SIZE(__pyx_v_current_trans); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 721, __pyx_L1_error)
            __pyx_t_8 = ((__pyx_t_10 == 2) != 0);
            if (__pyx_t_8) {
/* … */
            }
+0722:                             temp_semi_1.insert(pair[int, int] (current_trans[0] - 48, current_trans[1] - 48))
              __pyx_t_13 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 722, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_4 = __Pyx_PyInt_SubtractObjC(__pyx_t_13, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 722, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 722, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 722, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_13 = __Pyx_PyInt_SubtractObjC(__pyx_t_4, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 722, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_13); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 722, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              try {
                __pyx_t_25 = std::pair<int,int> (__pyx_t_24, __pyx_t_12);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 722, __pyx_L1_error)
              }
              (void)(__pyx_v_temp_semi_1.insert(__pyx_t_25));
+0723:                             current_trans = []
              __pyx_t_13 = PyList_New(0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 723, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_13));
              __pyx_t_13 = 0;
+0724:                     birth_semi_1.push_back(temp_semi_1)
          try {
            __pyx_v_9CACompute_birth_semi_1.push_back(__pyx_v_temp_semi_1);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 724, __pyx_L1_error)
          }
 0725: 
+0726:                     current_trans = []
          __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 726, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_3));
          __pyx_t_3 = 0;
+0727:                     temp_semi_1.clear()
          __pyx_v_temp_semi_1.clear();
+0728:                     for x in re.split(b"b|s|f|k|l|nn", individual_rule_string)[2]:
          __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_re); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 728, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 728, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 728, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_5 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_13};
            __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 728, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_13};
            __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 728, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          {
            __pyx_t_2 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 728, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (__pyx_t_5) {
              __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); __pyx_t_5 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_kp_b_b_s_f_k_l_nn);
            PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_12, __pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_t_13);
            PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_12, __pyx_t_13);
            __pyx_t_13 = 0;
            __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 728, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_3, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 728, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
            __pyx_t_3 = __pyx_t_4; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 728, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 728, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_3))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 728, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 728, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 728, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 728, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              }
            } else {
              __pyx_t_4 = __pyx_t_7(__pyx_t_3);
              if (unlikely(!__pyx_t_4)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 728, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_4);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4);
            __pyx_t_4 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0729:                         current_trans.append(int(str(x)))
            __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 729, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 729, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_41 = __Pyx_PyList_Append(__pyx_v_current_trans, __pyx_t_2); if (unlikely(__pyx_t_41 == ((int)-1))) __PYX_ERR(0, 729, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0730:                         if len(current_trans) == 2:
            __pyx_t_10 = PyList_GET_SIZE(__pyx_v_current_trans); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 730, __pyx_L1_error)
            __pyx_t_8 = ((__pyx_t_10 == 2) != 0);
            if (__pyx_t_8) {
/* … */
            }
+0731:                             temp_semi_1.insert(pair[int, int] (current_trans[0] - 48, current_trans[1] - 48))
              __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 731, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_4 = __Pyx_PyInt_SubtractObjC(__pyx_t_2, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 731, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 731, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 731, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_2 = __Pyx_PyInt_SubtractObjC(__pyx_t_4, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 731, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 731, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              try {
                __pyx_t_25 = std::pair<int,int> (__pyx_t_12, __pyx_t_24);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 731, __pyx_L1_error)
              }
              (void)(__pyx_v_temp_semi_1.insert(__pyx_t_25));
+0732:                             current_trans = []
              __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 732, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_2));
              __pyx_t_2 = 0;
+0733:                     survival_semi_1.push_back(temp_semi_1)
          try {
            __pyx_v_9CACompute_survival_semi_1.push_back(__pyx_v_temp_semi_1);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 733, __pyx_L1_error)
          }
 0734: 
+0735:                     current_trans = []
          __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 735, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_3));
          __pyx_t_3 = 0;
+0736:                     temp_semi_1.clear()
          __pyx_v_temp_semi_1.clear();
+0737:                     for x in re.split(b"b|s|f|k|l|nn", individual_rule_string)[3]:
          __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_re); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 737, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 737, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 737, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_13 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_2};
            __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 737, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_2};
            __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 737, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          } else
          #endif
          {
            __pyx_t_5 = PyTuple_New(2+__pyx_t_24); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 737, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            if (__pyx_t_13) {
              __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_13); __pyx_t_13 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_kp_b_b_s_f_k_l_nn);
            PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_24, __pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_t_2);
            PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_24, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 737, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_3, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 737, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
            __pyx_t_3 = __pyx_t_4; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 737, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 737, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_3))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 737, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 737, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 737, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 737, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              }
            } else {
              __pyx_t_4 = __pyx_t_7(__pyx_t_3);
              if (unlikely(!__pyx_t_4)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 737, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_4);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4);
            __pyx_t_4 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0738:                         current_trans.append(int(str(x)))
            __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 738, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 738, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_41 = __Pyx_PyList_Append(__pyx_v_current_trans, __pyx_t_5); if (unlikely(__pyx_t_41 == ((int)-1))) __PYX_ERR(0, 738, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0739:                         if len(current_trans) == 2:
            __pyx_t_10 = PyList_GET_SIZE(__pyx_v_current_trans); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 739, __pyx_L1_error)
            __pyx_t_8 = ((__pyx_t_10 == 2) != 0);
            if (__pyx_t_8) {
/* … */
            }
+0740:                             temp_semi_1.insert(pair[int, int] (current_trans[0] - 48, current_trans[1] - 48))
              __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 740, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_4 = __Pyx_PyInt_SubtractObjC(__pyx_t_5, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 740, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 740, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 740, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_5 = __Pyx_PyInt_SubtractObjC(__pyx_t_4, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 740, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 740, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              try {
                __pyx_t_25 = std::pair<int,int> (__pyx_t_24, __pyx_t_12);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 740, __pyx_L1_error)
              }
              (void)(__pyx_v_temp_semi_1.insert(__pyx_t_25));
+0741:                             current_trans = []
              __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 741, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_5));
              __pyx_t_5 = 0;
+0742:                     forcing_semi_1.push_back(temp_semi_1)
          try {
            __pyx_v_9CACompute_forcing_semi_1.push_back(__pyx_v_temp_semi_1);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 742, __pyx_L1_error)
          }
 0743: 
+0744:                     current_trans = []
          __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 744, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_3));
          __pyx_t_3 = 0;
+0745:                     temp_semi_1.clear()
          __pyx_v_temp_semi_1.clear();
+0746:                     for x in re.split(b"b|s|f|k|l|nn", individual_rule_string)[4]:
          __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_re); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 746, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 746, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 746, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_2 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_2)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_2);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_5};
            __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 746, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_5};
            __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 746, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          {
            __pyx_t_13 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 746, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            if (__pyx_t_2) {
              __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_2); __pyx_t_2 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_kp_b_b_s_f_k_l_nn);
            PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_12, __pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_t_5);
            PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_12, __pyx_t_5);
            __pyx_t_5 = 0;
            __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_13, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 746, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_3, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 746, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
            __pyx_t_3 = __pyx_t_4; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 746, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 746, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_3))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 746, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 746, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 746, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 746, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              }
            } else {
              __pyx_t_4 = __pyx_t_7(__pyx_t_3);
              if (unlikely(!__pyx_t_4)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 746, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_4);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4);
            __pyx_t_4 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0747:                         current_trans.append(int(str(x)))
            __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 747, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 747, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_41 = __Pyx_PyList_Append(__pyx_v_current_trans, __pyx_t_13); if (unlikely(__pyx_t_41 == ((int)-1))) __PYX_ERR(0, 747, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+0748:                         if len(current_trans) == 2:
            __pyx_t_10 = PyList_GET_SIZE(__pyx_v_current_trans); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 748, __pyx_L1_error)
            __pyx_t_8 = ((__pyx_t_10 == 2) != 0);
            if (__pyx_t_8) {
/* … */
            }
+0749:                             temp_semi_1.insert(pair[int, int] (current_trans[0] - 48, current_trans[1] - 48))
              __pyx_t_13 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 749, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_4 = __Pyx_PyInt_SubtractObjC(__pyx_t_13, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 749, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 749, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 749, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_13 = __Pyx_PyInt_SubtractObjC(__pyx_t_4, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 749, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_13); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 749, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              try {
                __pyx_t_25 = std::pair<int,int> (__pyx_t_12, __pyx_t_24);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 749, __pyx_L1_error)
              }
              (void)(__pyx_v_temp_semi_1.insert(__pyx_t_25));
+0750:                             current_trans = []
              __pyx_t_13 = PyList_New(0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 750, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_13));
              __pyx_t_13 = 0;
+0751:                     killing_semi_1.push_back(temp_semi_1)
          try {
            __pyx_v_9CACompute_killing_semi_1.push_back(__pyx_v_temp_semi_1);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 751, __pyx_L1_error)
          }
 0752: 
+0753:                     current_trans = []
          __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 753, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_3));
          __pyx_t_3 = 0;
+0754:                     temp_semi_1.clear()
          __pyx_v_temp_semi_1.clear();
+0755:                     for x in re.split(b"b|s|f|k|l|nn", individual_rule_string)[5]:
          __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_re); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 755, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 755, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 755, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_5 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_13};
            __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 755, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_13};
            __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 755, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          {
            __pyx_t_2 = PyTuple_New(2+__pyx_t_24); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 755, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (__pyx_t_5) {
              __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); __pyx_t_5 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_kp_b_b_s_f_k_l_nn);
            PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_24, __pyx_kp_b_b_s_f_k_l_nn);
            __Pyx_GIVEREF(__pyx_t_13);
            PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_24, __pyx_t_13);
            __pyx_t_13 = 0;
            __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 755, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_3, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 755, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
            __pyx_t_3 = __pyx_t_4; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 755, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 755, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_3))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 755, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 755, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 755, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 755, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              }
            } else {
              __pyx_t_4 = __pyx_t_7(__pyx_t_3);
              if (unlikely(!__pyx_t_4)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 755, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_4);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4);
            __pyx_t_4 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0756:                         current_trans.append(int(str(x)))
            __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 756, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 756, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_41 = __Pyx_PyList_Append(__pyx_v_current_trans, __pyx_t_2); if (unlikely(__pyx_t_41 == ((int)-1))) __PYX_ERR(0, 756, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0757:                         if len(current_trans) == 2:
            __pyx_t_10 = PyList_GET_SIZE(__pyx_v_current_trans); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 757, __pyx_L1_error)
            __pyx_t_8 = ((__pyx_t_10 == 2) != 0);
            if (__pyx_t_8) {
/* … */
            }
+0758:                             temp_semi_1.insert(pair[int, int] (current_trans[0] - 48, current_trans[1] - 48))
              __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 758, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_4 = __Pyx_PyInt_SubtractObjC(__pyx_t_2, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 758, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 758, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 758, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_2 = __Pyx_PyInt_SubtractObjC(__pyx_t_4, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 758, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 758, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              try {
                __pyx_t_25 = std::pair<int,int> (__pyx_t_24, __pyx_t_12);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 758, __pyx_L1_error)
              }
              (void)(__pyx_v_temp_semi_1.insert(__pyx_t_25));
+0759:                             current_trans = []
              __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 759, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_2));
              __pyx_t_2 = 0;
+0760:                     living_semi_1.push_back(temp_semi_1)
          try {
            __pyx_v_9CACompute_living_semi_1.push_back(__pyx_v_temp_semi_1);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 760, __pyx_L1_error)
          }
 0761: 
+0762:                     try: naive_lst.push_back(re.split(b"b|s|f|k|l|nn", individual_rule_string)[6])
          {
            /*try:*/ {
              __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_re); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 762, __pyx_L419_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 762, __pyx_L419_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 762, __pyx_L419_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_13 = NULL;
              __pyx_t_12 = 0;
              if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
                __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_4);
                if (likely(__pyx_t_13)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                  __Pyx_INCREF(__pyx_t_13);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_4, function);
                  __pyx_t_12 = 1;
                }
              }
              #if CYTHON_FAST_PYCALL
              if (PyFunction_Check(__pyx_t_4)) {
                PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_2};
                __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 762, __pyx_L419_error)
                __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
                __Pyx_GOTREF(__pyx_t_3);
                __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              } else
              #endif
              #if CYTHON_FAST_PYCCALL
              if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
                PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_kp_b_b_s_f_k_l_nn, __pyx_t_2};
                __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 762, __pyx_L419_error)
                __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
                __Pyx_GOTREF(__pyx_t_3);
                __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              } else
              #endif
              {
                __pyx_t_5 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 762, __pyx_L419_error)
                __Pyx_GOTREF(__pyx_t_5);
                if (__pyx_t_13) {
                  __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_13); __pyx_t_13 = NULL;
                }
                __Pyx_INCREF(__pyx_kp_b_b_s_f_k_l_nn);
                __Pyx_GIVEREF(__pyx_kp_b_b_s_f_k_l_nn);
                PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_12, __pyx_kp_b_b_s_f_k_l_nn);
                __Pyx_GIVEREF(__pyx_t_2);
                PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_12, __pyx_t_2);
                __pyx_t_2 = 0;
                __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 762, __pyx_L419_error)
                __Pyx_GOTREF(__pyx_t_3);
                __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              }
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_3, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 762, __pyx_L419_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_t_4); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 762, __pyx_L419_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 762, __pyx_L419_error)
              }
            }
            __Pyx_XDECREF(__pyx_t_38); __pyx_t_38 = 0;
            __Pyx_XDECREF(__pyx_t_37); __pyx_t_37 = 0;
            __Pyx_XDECREF(__pyx_t_36); __pyx_t_36 = 0;
            goto __pyx_L426_try_end;
            __pyx_L419_error:;
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
/* … */
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_ExceptionReset(__pyx_t_38, __pyx_t_37, __pyx_t_36);
            goto __pyx_L1_error;
            __pyx_L420_exception_handled:;
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_ExceptionReset(__pyx_t_38, __pyx_t_37, __pyx_t_36);
            __pyx_L426_try_end:;
          }
        }
        __pyx_L378:;
+0763:                     except IndexError: naive_lst.push_back(b"-1")
            __pyx_t_12 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_IndexError);
            if (__pyx_t_12) {
              __Pyx_AddTraceback("CACompute.load", __pyx_clineno, __pyx_lineno, __pyx_filename);
              if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_3, &__pyx_t_5) < 0) __PYX_ERR(0, 763, __pyx_L421_except_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_kp_b_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 763, __pyx_L421_except_error)
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 763, __pyx_L421_except_error)
              }
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              goto __pyx_L420_exception_handled;
            }
            goto __pyx_L421_except_error;
            __pyx_L421_except_error:;
+0764:     elif rule_space == b"Extended Generations":
  __pyx_t_8 = ((__pyx_v_9CACompute_rule_space == ((char const *)"Extended Generations")) != 0);
  if (__pyx_t_8) {
/* … */
    goto __pyx_L44;
  }
+0765:         for individual_rule_string in rule_string:
    __pyx_t_35 = __pyx_v_rule_string.begin();
    for (;;) {
      if (!(__pyx_t_35 != __pyx_v_rule_string.end())) break;
      __pyx_t_1 = *__pyx_t_35;
      ++__pyx_t_35;
      __pyx_v_individual_rule_string = __pyx_t_1;
/* … */
    }
+0766:             if bsconditions == b"Outer Totalistic":
      __pyx_t_8 = ((__pyx_v_9CACompute_bsconditions == ((char const *)"Outer Totalistic")) != 0);
      if (__pyx_t_8) {
/* … */
        goto __pyx_L431;
      }
+0767:                 if individual_rule_string.find(b"/") != -1:
        __pyx_t_8 = ((__pyx_v_individual_rule_string.find(__pyx_k__13) != -1L) != 0);
        if (__pyx_t_8) {
/* … */
          goto __pyx_L432;
        }
+0768:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0769:                     for x in individual_rule_string.split(b"/")[1].split(b","):
          __pyx_t_4 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 769, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 769, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_4)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_4);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
            }
          }
          __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 769, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_3, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 769, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 769, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_2)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_2);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
            }
          }
          __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 769, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
            __pyx_t_3 = __pyx_t_5; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 769, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 769, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_3))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_5 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 769, __pyx_L1_error)
                #else
                __pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 769, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_5);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 769, __pyx_L1_error)
                #else
                __pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 769, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_5);
                #endif
              }
            } else {
              __pyx_t_5 = __pyx_t_7(__pyx_t_3);
              if (unlikely(!__pyx_t_5)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 769, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_5);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5);
            __pyx_t_5 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0770:                         if x.find(b"-") != -1:
            __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 770, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_4 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
              __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
              if (likely(__pyx_t_4)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
                __Pyx_INCREF(__pyx_t_4);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_2, function);
              }
            }
            __pyx_t_5 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 770, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __pyx_t_2 = __Pyx_PyInt_NeObjC(__pyx_t_5, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 770, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 770, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L435;
            }
+0771:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 771, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_4 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
                __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
                if (likely(__pyx_t_4)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                  __Pyx_INCREF(__pyx_t_4);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_5, function);
                }
              }
              __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 771, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 771, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 771, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_t_2, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 771, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_5); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 771, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 771, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_4 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
                __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
                if (likely(__pyx_t_4)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
                  __Pyx_INCREF(__pyx_t_4);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_2, function);
                }
              }
              __pyx_t_5 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 771, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_5, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 771, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 771, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_5); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 771, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_21; __pyx_t_12 < __pyx_t_22; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0772:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0773:                         else:
+0774:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 774, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 774, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L435:;
+0775:                     birth.push_back(set_temp)
          try {
            __pyx_v_9CACompute_birth.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 775, __pyx_L1_error)
          }
 0776: 
+0777:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0778:                     for x in individual_rule_string.split(b"/")[0].split(b","):
          __pyx_t_2 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 778, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 778, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_2)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_2);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
            }
          }
          __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_2, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 778, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_5, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 778, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 778, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
            if (likely(__pyx_t_4)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_4);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_5, function);
            }
          }
          __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 778, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
            __pyx_t_5 = __pyx_t_3; __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 778, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __pyx_t_7 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 778, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_5))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_5)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_3 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 778, __pyx_L1_error)
                #else
                __pyx_t_3 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 778, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_3);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 778, __pyx_L1_error)
                #else
                __pyx_t_3 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 778, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_3);
                #endif
              }
            } else {
              __pyx_t_3 = __pyx_t_7(__pyx_t_5);
              if (unlikely(!__pyx_t_3)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 778, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_3);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_3);
            __pyx_t_3 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0779:                         if x.find(b"-") != -1:
            __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 779, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_2 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
              __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
              if (likely(__pyx_t_2)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                __Pyx_INCREF(__pyx_t_2);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_4, function);
              }
            }
            __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_2, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 779, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_4 = __Pyx_PyInt_NeObjC(__pyx_t_3, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 779, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 779, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L440;
            }
+0780:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 780, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_2 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
                __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
                if (likely(__pyx_t_2)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                  __Pyx_INCREF(__pyx_t_2);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_3, function);
                }
              }
              __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
              if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 780, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_4, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 780, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 780, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 780, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_3); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 780, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 780, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_2 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
                __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
                if (likely(__pyx_t_2)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                  __Pyx_INCREF(__pyx_t_2);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_4, function);
                }
              }
              __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_2, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
              if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 780, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 780, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 780, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_3); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 780, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_22; __pyx_t_12 < __pyx_t_21; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0781:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0782:                         else:
+0783:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 783, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 783, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L440:;
+0784:                     survival.push_back(set_temp)
          try {
            __pyx_v_9CACompute_survival.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 784, __pyx_L1_error)
          }
 0785: 
+0786:                     extended.clear()
          __pyx_v_extended.clear();
+0787:                     for x in individual_rule_string.split(b"/")[2].split(b"-"):
          __pyx_t_4 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 787, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 787, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_4)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_4);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
            }
          }
          __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 787, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_3, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 787, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 787, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_2)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_2);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
            }
          }
          __pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__14);
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 787, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
            __pyx_t_3 = __pyx_t_5; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 787, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 787, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_3))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_5 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 787, __pyx_L1_error)
                #else
                __pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 787, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_5);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 787, __pyx_L1_error)
                #else
                __pyx_t_5 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 787, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_5);
                #endif
              }
            } else {
              __pyx_t_5 = __pyx_t_7(__pyx_t_3);
              if (unlikely(!__pyx_t_5)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 787, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_5);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5);
            __pyx_t_5 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0788:                         extended.push_back(int(x))
            __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 788, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 788, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            try {
              __pyx_v_extended.push_back(__pyx_t_12);
            } catch(...) {
              __Pyx_CppExn2PyErr();
              __PYX_ERR(0, 788, __pyx_L1_error)
            }
 0789: 
+0790:                     try: naive_lst.push_back(int(individual_rule_string.split(b"/")[3]))
          {
            /*try:*/ {
              __pyx_t_5 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 790, __pyx_L445_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 790, __pyx_L445_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
                __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
                if (likely(__pyx_t_5)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
                  __Pyx_INCREF(__pyx_t_5);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_2, function);
                }
              }
              __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__13);
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 790, __pyx_L445_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_3, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 790, __pyx_L445_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 790, __pyx_L445_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_t_3); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 790, __pyx_L445_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 790, __pyx_L445_error)
              }
            }
            __Pyx_XDECREF(__pyx_t_36); __pyx_t_36 = 0;
            __Pyx_XDECREF(__pyx_t_37); __pyx_t_37 = 0;
            __Pyx_XDECREF(__pyx_t_38); __pyx_t_38 = 0;
            goto __pyx_L452_try_end;
            __pyx_L445_error:;
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
/* … */
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_ExceptionReset(__pyx_t_36, __pyx_t_37, __pyx_t_38);
            goto __pyx_L1_error;
            __pyx_L446_exception_handled:;
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_ExceptionReset(__pyx_t_36, __pyx_t_37, __pyx_t_38);
            __pyx_L452_try_end:;
          }
+0791:                     except IndexError: naive_lst.push_back(b"-1")
            __pyx_t_12 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_IndexError);
            if (__pyx_t_12) {
              __Pyx_AddTraceback("CACompute.load", __pyx_clineno, __pyx_lineno, __pyx_filename);
              if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 791, __pyx_L447_except_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_kp_b_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 791, __pyx_L447_except_error)
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 791, __pyx_L447_except_error)
              }
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              goto __pyx_L446_exception_handled;
            }
            goto __pyx_L447_except_error;
            __pyx_L447_except_error:;
 0792:                 else:
+0793:                     set_temp.clear()
        /*else*/ {
          __pyx_v_set_temp.clear();
+0794:                     for x in re.split(b"b|s|d|nn", individual_rule_string)[1].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_re); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 794, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 794, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 794, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_13 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_kp_b_b_s_d_nn, __pyx_t_3};
            __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 794, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_kp_b_b_s_d_nn, __pyx_t_3};
            __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 794, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          } else
          #endif
          {
            __pyx_t_14 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 794, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            if (__pyx_t_13) {
              __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __pyx_t_13 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_b_s_d_nn);
            __Pyx_GIVEREF(__pyx_kp_b_b_s_d_nn);
            PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_12, __pyx_kp_b_b_s_d_nn);
            __Pyx_GIVEREF(__pyx_t_3);
            PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_12, __pyx_t_3);
            __pyx_t_3 = 0;
            __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_14, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 794, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 794, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 794, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_4)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_4);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
            }
          }
          __pyx_t_5 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 794, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
            __pyx_t_2 = __pyx_t_5; __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 794, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_7 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 794, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_2)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_5 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 794, __pyx_L1_error)
                #else
                __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 794, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_5);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 794, __pyx_L1_error)
                #else
                __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 794, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_5);
                #endif
              }
            } else {
              __pyx_t_5 = __pyx_t_7(__pyx_t_2);
              if (unlikely(!__pyx_t_5)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 794, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_5);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5);
            __pyx_t_5 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0795:                         if x.find(b"-") != -1:
            __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 795, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_14 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
              __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_4);
              if (likely(__pyx_t_14)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                __Pyx_INCREF(__pyx_t_14);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_4, function);
              }
            }
            __pyx_t_5 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_14, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 795, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_4 = __Pyx_PyInt_NeObjC(__pyx_t_5, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 795, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 795, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L457;
            }
+0796:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 796, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_14 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
                __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_5);
                if (likely(__pyx_t_14)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                  __Pyx_INCREF(__pyx_t_14);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_5, function);
                }
              }
              __pyx_t_4 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_14, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
              if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 796, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_4, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 796, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 796, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 796, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_5); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 796, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 796, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_14 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
                __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_4);
                if (likely(__pyx_t_14)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                  __Pyx_INCREF(__pyx_t_14);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_4, function);
                }
              }
              __pyx_t_5 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_14, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 796, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_5, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 796, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 796, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_5); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 796, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_21; __pyx_t_12 < __pyx_t_22; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0797:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0798:                         else:
+0799:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 799, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 799, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L457:;
+0800:                     birth.push_back(set_temp)
          try {
            __pyx_v_9CACompute_birth.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 800, __pyx_L1_error)
          }
 0801: 
+0802:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0803:                     for x in re.split(b"b|s|d|nn", individual_rule_string)[2].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_re); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 803, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 803, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 803, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_3 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_14);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_14, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_14)) {
            PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_b_b_s_d_nn, __pyx_t_4};
            __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 803, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) {
            PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_b_b_s_d_nn, __pyx_t_4};
            __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 803, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          {
            __pyx_t_13 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 803, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            if (__pyx_t_3) {
              __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_3); __pyx_t_3 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_b_s_d_nn);
            __Pyx_GIVEREF(__pyx_kp_b_b_s_d_nn);
            PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_12, __pyx_kp_b_b_s_d_nn);
            __Pyx_GIVEREF(__pyx_t_4);
            PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_12, __pyx_t_4);
            __pyx_t_4 = 0;
            __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_13, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 803, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_5, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 803, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 803, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_5);
            if (likely(__pyx_t_14)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_14);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_5, function);
            }
          }
          __pyx_t_2 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_14, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 803, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
            __pyx_t_5 = __pyx_t_2; __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 803, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __pyx_t_7 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 803, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_5))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_5)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 803, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 803, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 803, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 803, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              }
            } else {
              __pyx_t_2 = __pyx_t_7(__pyx_t_5);
              if (unlikely(!__pyx_t_2)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 803, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_2);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
            __pyx_t_2 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+0804:                         if x.find(b"-") != -1:
            __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 804, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __pyx_t_13 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
              __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_14);
              if (likely(__pyx_t_13)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
                __Pyx_INCREF(__pyx_t_13);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_14, function);
              }
            }
            __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 804, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
            __pyx_t_14 = __Pyx_PyInt_NeObjC(__pyx_t_2, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 804, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 804, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L462;
            }
+0805:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 805, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_13 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
                __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_2);
                if (likely(__pyx_t_13)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
                  __Pyx_INCREF(__pyx_t_13);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_2, function);
                }
              }
              __pyx_t_14 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 805, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_14, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 805, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 805, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_t_14, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 805, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 805, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 805, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_13 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
                __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_14);
                if (likely(__pyx_t_13)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
                  __Pyx_INCREF(__pyx_t_13);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_14, function);
                }
              }
              __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 805, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 805, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_14); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 805, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 805, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_22; __pyx_t_12 < __pyx_t_21; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0806:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0807:                         else:
+0808:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 808, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 808, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L462:;
+0809:                     survival.push_back(set_temp)
          try {
            __pyx_v_9CACompute_survival.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 809, __pyx_L1_error)
          }
 0810: 
+0811:                     extended.clear()
          __pyx_v_extended.clear();
+0812:                     for x in re.split(b"b|s|d|nn", individual_rule_string)[3].split(b"-"):
          __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_re); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 812, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 812, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 812, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __pyx_t_4 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_13);
            if (likely(__pyx_t_4)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
              __Pyx_INCREF(__pyx_t_4);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_13, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_13)) {
            PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_b_b_s_d_nn, __pyx_t_14};
            __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 812, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) {
            PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_b_b_s_d_nn, __pyx_t_14};
            __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 812, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          } else
          #endif
          {
            __pyx_t_3 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 812, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            if (__pyx_t_4) {
              __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_4); __pyx_t_4 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_b_s_d_nn);
            __Pyx_GIVEREF(__pyx_kp_b_b_s_d_nn);
            PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_12, __pyx_kp_b_b_s_d_nn);
            __Pyx_GIVEREF(__pyx_t_14);
            PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_12, __pyx_t_14);
            __pyx_t_14 = 0;
            __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 812, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          }
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_2, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 812, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 812, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
            }
          }
          __pyx_t_5 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__14);
          __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
          if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 812, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
            __pyx_t_2 = __pyx_t_5; __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 812, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_7 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 812, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_2)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_5 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 812, __pyx_L1_error)
                #else
                __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 812, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_5);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 812, __pyx_L1_error)
                #else
                __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 812, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_5);
                #endif
              }
            } else {
              __pyx_t_5 = __pyx_t_7(__pyx_t_2);
              if (unlikely(!__pyx_t_5)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 812, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_5);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5);
            __pyx_t_5 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0813:                         extended.push_back(int(x))
            __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 813, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 813, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            try {
              __pyx_v_extended.push_back(__pyx_t_12);
            } catch(...) {
              __Pyx_CppExn2PyErr();
              __PYX_ERR(0, 813, __pyx_L1_error)
            }
 0814: 
+0815:                     try: naive_lst.push_back(re.split(b"b|s|d|nn", individual_rule_string)[4])
          {
            /*try:*/ {
              __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_re); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 815, __pyx_L467_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 815, __pyx_L467_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 815, __pyx_L467_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_3 = NULL;
              __pyx_t_12 = 0;
              if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) {
                __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_13);
                if (likely(__pyx_t_3)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
                  __Pyx_INCREF(__pyx_t_3);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_13, function);
                  __pyx_t_12 = 1;
                }
              }
              #if CYTHON_FAST_PYCALL
              if (PyFunction_Check(__pyx_t_13)) {
                PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_b_b_s_d_nn, __pyx_t_5};
                __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 815, __pyx_L467_error)
                __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
                __Pyx_GOTREF(__pyx_t_2);
                __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              } else
              #endif
              #if CYTHON_FAST_PYCCALL
              if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) {
                PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_b_b_s_d_nn, __pyx_t_5};
                __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 815, __pyx_L467_error)
                __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
                __Pyx_GOTREF(__pyx_t_2);
                __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              } else
              #endif
              {
                __pyx_t_14 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 815, __pyx_L467_error)
                __Pyx_GOTREF(__pyx_t_14);
                if (__pyx_t_3) {
                  __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_3); __pyx_t_3 = NULL;
                }
                __Pyx_INCREF(__pyx_kp_b_b_s_d_nn);
                __Pyx_GIVEREF(__pyx_kp_b_b_s_d_nn);
                PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_12, __pyx_kp_b_b_s_d_nn);
                __Pyx_GIVEREF(__pyx_t_5);
                PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_12, __pyx_t_5);
                __pyx_t_5 = 0;
                __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_14, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 815, __pyx_L467_error)
                __Pyx_GOTREF(__pyx_t_2);
                __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              }
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_2, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 815, __pyx_L467_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_t_13); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 815, __pyx_L467_error)
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 815, __pyx_L467_error)
              }
            }
            __Pyx_XDECREF(__pyx_t_38); __pyx_t_38 = 0;
            __Pyx_XDECREF(__pyx_t_37); __pyx_t_37 = 0;
            __Pyx_XDECREF(__pyx_t_36); __pyx_t_36 = 0;
            goto __pyx_L474_try_end;
            __pyx_L467_error:;
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
/* … */
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_ExceptionReset(__pyx_t_38, __pyx_t_37, __pyx_t_36);
            goto __pyx_L1_error;
            __pyx_L468_exception_handled:;
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_ExceptionReset(__pyx_t_38, __pyx_t_37, __pyx_t_36);
            __pyx_L474_try_end:;
          }
        }
        __pyx_L432:;
+0816:                     except IndexError: naive_lst.push_back(b"-1")
            __pyx_t_12 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_IndexError);
            if (__pyx_t_12) {
              __Pyx_AddTraceback("CACompute.load", __pyx_clineno, __pyx_lineno, __pyx_filename);
              if (__Pyx_GetException(&__pyx_t_13, &__pyx_t_2, &__pyx_t_14) < 0) __PYX_ERR(0, 816, __pyx_L469_except_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_kp_b_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 816, __pyx_L469_except_error)
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 816, __pyx_L469_except_error)
              }
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
              __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
              goto __pyx_L468_exception_handled;
            }
            goto __pyx_L469_except_error;
            __pyx_L469_except_error:;
+0817:             elif bsconditions == b"Double Totalistic":
      __pyx_t_8 = ((__pyx_v_9CACompute_bsconditions == ((char const *)"Double Totalistic")) != 0);
      if (__pyx_t_8) {
/* … */
        goto __pyx_L431;
      }
+0818:                 if individual_rule_string.find(b"/") != -1:
        __pyx_t_8 = ((__pyx_v_individual_rule_string.find(__pyx_k__13) != -1L) != 0);
        if (__pyx_t_8) {
/* … */
          goto __pyx_L477;
        }
+0819:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0820:                     for x in re.findall(b"\((.*?)\)", individual_rule_string.split(b"/")[1])[0].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_re); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 820, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_findall); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 820, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 820, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 820, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
            }
          }
          __pyx_t_13 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 820, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_13, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 820, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_5);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_5, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_5)) {
            PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_kp_b__15, __pyx_t_4};
            __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 820, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
            PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_kp_b__15, __pyx_t_4};
            __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 820, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          {
            __pyx_t_3 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 820, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            if (__pyx_t_13) {
              __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_13); __pyx_t_13 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_kp_b__15);
            PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_12, __pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_t_4);
            PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_12, __pyx_t_4);
            __pyx_t_4 = 0;
            __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 820, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 820, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 820, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
            }
          }
          __pyx_t_14 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 820, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (likely(PyList_CheckExact(__pyx_t_14)) || PyTuple_CheckExact(__pyx_t_14)) {
            __pyx_t_2 = __pyx_t_14; __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_14); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 820, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_7 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 820, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_2)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_14 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_14); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 820, __pyx_L1_error)
                #else
                __pyx_t_14 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 820, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_14);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_14 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_14); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 820, __pyx_L1_error)
                #else
                __pyx_t_14 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 820, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_14);
                #endif
              }
            } else {
              __pyx_t_14 = __pyx_t_7(__pyx_t_2);
              if (unlikely(!__pyx_t_14)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 820, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_14);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_14);
            __pyx_t_14 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0821:                         set_temp.insert(int(x))
            __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 821, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_14); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 821, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
            (void)(__pyx_v_set_temp.insert(__pyx_t_12));
+0822:                     birth.push_back(set_temp)
          try {
            __pyx_v_9CACompute_birth.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 822, __pyx_L1_error)
          }
 0823: 
+0824:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0825:                     for x in re.findall(b"\((.*?)\)", individual_rule_string.split(b"/")[0])[0].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_re); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 825, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_findall); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 825, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_4 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 825, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 825, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_13);
            if (likely(__pyx_t_4)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
              __Pyx_INCREF(__pyx_t_4);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_13, function);
            }
          }
          __pyx_t_5 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_4, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 825, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_5, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 825, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_b__15, __pyx_t_13};
            __pyx_t_14 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 825, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_b__15, __pyx_t_13};
            __pyx_t_14 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 825, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          {
            __pyx_t_4 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 825, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            if (__pyx_t_5) {
              __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __pyx_t_5 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_kp_b__15);
            PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_12, __pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_t_13);
            PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_12, __pyx_t_13);
            __pyx_t_13 = 0;
            __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 825, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_14, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 825, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 825, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_14);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_14, function);
            }
          }
          __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_3, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 825, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
            __pyx_t_14 = __pyx_t_2; __Pyx_INCREF(__pyx_t_14); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_14 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 825, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __pyx_t_7 = Py_TYPE(__pyx_t_14)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 825, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_14))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_14)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyList_GET_ITEM(__pyx_t_14, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 825, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_14, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 825, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_14)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_14, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 825, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_14, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 825, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              }
            } else {
              __pyx_t_2 = __pyx_t_7(__pyx_t_14);
              if (unlikely(!__pyx_t_2)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 825, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_2);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
            __pyx_t_2 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+0826:                         if x.find(b"-") != -1:
            __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 826, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_4 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
              __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
              if (likely(__pyx_t_4)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                __Pyx_INCREF(__pyx_t_4);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_3, function);
              }
            }
            __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 826, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            __pyx_t_3 = __Pyx_PyInt_NeObjC(__pyx_t_2, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 826, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 826, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L482;
            }
+0827:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 827, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_4 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
                __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
                if (likely(__pyx_t_4)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
                  __Pyx_INCREF(__pyx_t_4);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_2, function);
                }
              }
              __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 827, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_3, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 827, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 827, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_t_3, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 827, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 827, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 827, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_4 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
                __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
                if (likely(__pyx_t_4)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                  __Pyx_INCREF(__pyx_t_4);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_3, function);
                }
              }
              __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 827, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 827, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 827, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 827, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_21; __pyx_t_12 < __pyx_t_22; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0828:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0829:                         else:
+0830:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 830, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 830, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L482:;
+0831:                     survival.push_back(set_temp)
          try {
            __pyx_v_9CACompute_survival.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 831, __pyx_L1_error)
          }
 0832: 
+0833:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0834:                     for x in re.sub(b"\(.*?\)", b"", individual_rule_string.split(b"/")[1]).split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_re); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 834, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_sub); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 834, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_13 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 834, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 834, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_5);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_5, function);
            }
          }
          __pyx_t_3 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_13, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 834, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_3, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 834, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_5};
            __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 834, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_5};
            __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 834, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          {
            __pyx_t_13 = PyTuple_New(3+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 834, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            if (__pyx_t_3) {
              __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_3); __pyx_t_3 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__16);
            __Pyx_GIVEREF(__pyx_kp_b__16);
            PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_12, __pyx_kp_b__16);
            __Pyx_INCREF(__pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_kp_b_);
            PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_12, __pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_t_5);
            PyTuple_SET_ITEM(__pyx_t_13, 2+__pyx_t_12, __pyx_t_5);
            __pyx_t_5 = 0;
            __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_13, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 834, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 834, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_2)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_2);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
            }
          }
          __pyx_t_14 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_2, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 834, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (likely(PyList_CheckExact(__pyx_t_14)) || PyTuple_CheckExact(__pyx_t_14)) {
            __pyx_t_4 = __pyx_t_14; __Pyx_INCREF(__pyx_t_4); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_14); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 834, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_7 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 834, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_4))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_4)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_14 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_14); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 834, __pyx_L1_error)
                #else
                __pyx_t_14 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 834, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_14);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_14 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_14); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 834, __pyx_L1_error)
                #else
                __pyx_t_14 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 834, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_14);
                #endif
              }
            } else {
              __pyx_t_14 = __pyx_t_7(__pyx_t_4);
              if (unlikely(!__pyx_t_14)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 834, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_14);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_14);
            __pyx_t_14 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+0835:                         if x.find(b"-") != -1:
            __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 835, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_13 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
              __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_2);
              if (likely(__pyx_t_13)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
                __Pyx_INCREF(__pyx_t_13);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_2, function);
              }
            }
            __pyx_t_14 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 835, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __pyx_t_2 = __Pyx_PyInt_NeObjC(__pyx_t_14, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 835, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 835, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L487;
            }
+0836:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 836, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_13 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
                __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_14);
                if (likely(__pyx_t_13)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
                  __Pyx_INCREF(__pyx_t_13);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_14, function);
                }
              }
              __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 836, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 836, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_14); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 836, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_PyInt_AddObjC(__pyx_t_2, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 836, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_14); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 836, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 836, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_13 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
                __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_2);
                if (likely(__pyx_t_13)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
                  __Pyx_INCREF(__pyx_t_13);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_2, function);
                }
              }
              __pyx_t_14 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 836, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_14, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 836, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 836, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_14); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 836, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_22; __pyx_t_12 < __pyx_t_21; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0837:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0838:                         else:
+0839:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 839, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_14); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 839, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L487:;
+0840:                     other_birth.push_back(set_temp)
          try {
            __pyx_v_9CACompute_other_birth.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 840, __pyx_L1_error)
          }
 0841: 
+0842:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0843:                     for x in re.sub(b"\(.*?\)", b"", individual_rule_string.split(b"/")[0]).split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_re); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 843, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_sub); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 843, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_5 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 843, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 843, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
            }
          }
          __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 843, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 843, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) {
            __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_13);
            if (likely(__pyx_t_2)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
              __Pyx_INCREF(__pyx_t_2);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_13, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_13)) {
            PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_3};
            __pyx_t_14 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 843, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) {
            PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_3};
            __pyx_t_14 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 843, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          } else
          #endif
          {
            __pyx_t_5 = PyTuple_New(3+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 843, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            if (__pyx_t_2) {
              __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __pyx_t_2 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__16);
            __Pyx_GIVEREF(__pyx_kp_b__16);
            PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_12, __pyx_kp_b__16);
            __Pyx_INCREF(__pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_kp_b_);
            PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_12, __pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_t_3);
            PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_12, __pyx_t_3);
            __pyx_t_3 = 0;
            __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_5, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 843, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          }
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 843, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
            __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_13);
            if (likely(__pyx_t_14)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
              __Pyx_INCREF(__pyx_t_14);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_13, function);
            }
          }
          __pyx_t_4 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_14, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
          if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 843, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
            __pyx_t_13 = __pyx_t_4; __Pyx_INCREF(__pyx_t_13); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_13 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 843, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __pyx_t_7 = Py_TYPE(__pyx_t_13)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 843, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_13))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_13)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyList_GET_ITEM(__pyx_t_13, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 843, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_13, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 843, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_13)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_13, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 843, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_13, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 843, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              }
            } else {
              __pyx_t_4 = __pyx_t_7(__pyx_t_13);
              if (unlikely(!__pyx_t_4)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 843, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_4);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4);
            __pyx_t_4 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+0844:                         if x.find(b"-") != -1:
            __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 844, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __pyx_t_5 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
              __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_14);
              if (likely(__pyx_t_5)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
                __Pyx_INCREF(__pyx_t_5);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_14, function);
              }
            }
            __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_5, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 844, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
            __pyx_t_14 = __Pyx_PyInt_NeObjC(__pyx_t_4, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 844, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 844, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L492;
            }
+0845:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 845, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_5 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
                __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
                if (likely(__pyx_t_5)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                  __Pyx_INCREF(__pyx_t_5);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_4, function);
                }
              }
              __pyx_t_14 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 845, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_14, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 845, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 845, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_PyInt_AddObjC(__pyx_t_14, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 845, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_4); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 845, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 845, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_5 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
                __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_14);
                if (likely(__pyx_t_5)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
                  __Pyx_INCREF(__pyx_t_5);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_14, function);
                }
              }
              __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_5, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 845, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_4, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 845, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_14); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 845, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_4); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 845, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_21; __pyx_t_12 < __pyx_t_22; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0846:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0847:                         else:
+0848:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 848, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 848, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L492:;
+0849:                     other_survival.push_back(set_temp)
          try {
            __pyx_v_9CACompute_other_survival.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 849, __pyx_L1_error)
          }
 0850: 
+0851:                     extended.clear()
          __pyx_v_extended.clear();
+0852:                     for x in individual_rule_string.split(b"/")[2].split(b"-"):
          __pyx_t_14 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 852, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 852, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_5);
            if (likely(__pyx_t_14)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_14);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_5, function);
            }
          }
          __pyx_t_4 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_14, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
          if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 852, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_4, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 852, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 852, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
            }
          }
          __pyx_t_13 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__14);
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 852, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (likely(PyList_CheckExact(__pyx_t_13)) || PyTuple_CheckExact(__pyx_t_13)) {
            __pyx_t_4 = __pyx_t_13; __Pyx_INCREF(__pyx_t_4); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_13); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 852, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_7 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 852, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_4))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_4)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_13 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_13); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 852, __pyx_L1_error)
                #else
                __pyx_t_13 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 852, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_13);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_13 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_13); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 852, __pyx_L1_error)
                #else
                __pyx_t_13 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 852, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_13);
                #endif
              }
            } else {
              __pyx_t_13 = __pyx_t_7(__pyx_t_4);
              if (unlikely(!__pyx_t_13)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 852, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_13);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_13);
            __pyx_t_13 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+0853:                         extended.push_back(int(x))
            __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 853, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_13); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 853, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            try {
              __pyx_v_extended.push_back(__pyx_t_12);
            } catch(...) {
              __Pyx_CppExn2PyErr();
              __PYX_ERR(0, 853, __pyx_L1_error)
            }
 0854: 
+0855:                     try: naive_lst.push_back(individual_rule_string.split(b"/")[3])
          {
            /*try:*/ {
              __pyx_t_13 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 855, __pyx_L497_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 855, __pyx_L497_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
                __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_5);
                if (likely(__pyx_t_13)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                  __Pyx_INCREF(__pyx_t_13);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_5, function);
                }
              }
              __pyx_t_4 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_13, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__13);
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 855, __pyx_L497_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_4, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 855, __pyx_L497_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_t_5); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 855, __pyx_L497_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 855, __pyx_L497_error)
              }
            }
            __Pyx_XDECREF(__pyx_t_36); __pyx_t_36 = 0;
            __Pyx_XDECREF(__pyx_t_37); __pyx_t_37 = 0;
            __Pyx_XDECREF(__pyx_t_38); __pyx_t_38 = 0;
            goto __pyx_L504_try_end;
            __pyx_L497_error:;
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
/* … */
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_ExceptionReset(__pyx_t_36, __pyx_t_37, __pyx_t_38);
            goto __pyx_L1_error;
            __pyx_L498_exception_handled:;
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_ExceptionReset(__pyx_t_36, __pyx_t_37, __pyx_t_38);
            __pyx_L504_try_end:;
          }
+0856:                     except IndexError: naive_lst.push_back(b"-1")
            __pyx_t_12 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_IndexError);
            if (__pyx_t_12) {
              __Pyx_AddTraceback("CACompute.load", __pyx_clineno, __pyx_lineno, __pyx_filename);
              if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_4, &__pyx_t_13) < 0) __PYX_ERR(0, 856, __pyx_L499_except_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_kp_b_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 856, __pyx_L499_except_error)
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 856, __pyx_L499_except_error)
              }
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              goto __pyx_L498_exception_handled;
            }
            goto __pyx_L499_except_error;
            __pyx_L499_except_error:;
 0857:                 else:
+0858:                     set_temp.clear()
        /*else*/ {
          __pyx_v_set_temp.clear();
+0859:                     for x in re.findall(b"\((.*?)\)", re.split(b"[bsd]", individual_rule_string)[1])[0].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_re); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 859, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_findall); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 859, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_re); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 859, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 859, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 859, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_39 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_39)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_39);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_2)) {
            PyObject *__pyx_temp[3] = {__pyx_t_39, __pyx_kp_b_bsd, __pyx_t_3};
            __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 859, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
            PyObject *__pyx_temp[3] = {__pyx_t_39, __pyx_kp_b_bsd, __pyx_t_3};
            __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 859, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          } else
          #endif
          {
            __pyx_t_40 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 859, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            if (__pyx_t_39) {
              __Pyx_GIVEREF(__pyx_t_39); PyTuple_SET_ITEM(__pyx_t_40, 0, __pyx_t_39); __pyx_t_39 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_bsd);
            __Pyx_GIVEREF(__pyx_kp_b_bsd);
            PyTuple_SET_ITEM(__pyx_t_40, 0+__pyx_t_12, __pyx_kp_b_bsd);
            __Pyx_GIVEREF(__pyx_t_3);
            PyTuple_SET_ITEM(__pyx_t_40, 1+__pyx_t_12, __pyx_t_3);
            __pyx_t_3 = 0;
            __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_40, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 859, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_5, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 859, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_14);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_14, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_14)) {
            PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_b__15, __pyx_t_2};
            __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 859, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) {
            PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_b__15, __pyx_t_2};
            __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 859, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          } else
          #endif
          {
            __pyx_t_40 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 859, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            if (__pyx_t_5) {
              __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_40, 0, __pyx_t_5); __pyx_t_5 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_kp_b__15);
            PyTuple_SET_ITEM(__pyx_t_40, 0+__pyx_t_12, __pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_t_2);
            PyTuple_SET_ITEM(__pyx_t_40, 1+__pyx_t_12, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_40, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 859, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_4, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 859, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 859, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_14)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_14);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
            }
          }
          __pyx_t_13 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_14, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
          if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 859, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (likely(PyList_CheckExact(__pyx_t_13)) || PyTuple_CheckExact(__pyx_t_13)) {
            __pyx_t_4 = __pyx_t_13; __Pyx_INCREF(__pyx_t_4); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_13); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 859, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_7 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 859, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_4))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_4)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_13 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_13); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 859, __pyx_L1_error)
                #else
                __pyx_t_13 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 859, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_13);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_13 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_13); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 859, __pyx_L1_error)
                #else
                __pyx_t_13 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 859, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_13);
                #endif
              }
            } else {
              __pyx_t_13 = __pyx_t_7(__pyx_t_4);
              if (unlikely(!__pyx_t_13)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 859, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_13);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_13);
            __pyx_t_13 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+0860:                         if x.find(b"-") != -1:
            __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 860, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __pyx_t_40 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
              __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_14);
              if (likely(__pyx_t_40)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
                __Pyx_INCREF(__pyx_t_40);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_14, function);
              }
            }
            __pyx_t_13 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_40, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 860, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
            __pyx_t_14 = __Pyx_PyInt_NeObjC(__pyx_t_13, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 860, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 860, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L509;
            }
+0861:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 861, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_40 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
                __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_13);
                if (likely(__pyx_t_40)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
                  __Pyx_INCREF(__pyx_t_40);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_13, function);
                }
              }
              __pyx_t_14 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_40, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
              if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 861, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_14, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 861, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_t_13); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 861, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_PyInt_AddObjC(__pyx_t_14, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 861, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_13); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 861, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 861, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_40 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
                __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_14);
                if (likely(__pyx_t_40)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
                  __Pyx_INCREF(__pyx_t_40);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_14, function);
                }
              }
              __pyx_t_13 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_40, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
              if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 861, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_13, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 861, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_t_14); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 861, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_13); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 861, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_22; __pyx_t_12 < __pyx_t_21; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0862:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0863:                         else:
+0864:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 864, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_13); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 864, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L509:;
+0865:                     birth.push_back(set_temp)
          try {
            __pyx_v_9CACompute_birth.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 865, __pyx_L1_error)
          }
 0866: 
+0867:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0868:                     for x in re.findall(b"\((.*?)\)", re.split(b"[bsd]", individual_rule_string)[2])[0].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_re); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 868, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_findall); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 868, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_re); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 868, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 868, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 868, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_3 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_5, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_5)) {
            PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_b_bsd, __pyx_t_2};
            __pyx_t_14 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 868, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
            PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_b_bsd, __pyx_t_2};
            __pyx_t_14 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 868, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          } else
          #endif
          {
            __pyx_t_39 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 868, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            if (__pyx_t_3) {
              __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_39, 0, __pyx_t_3); __pyx_t_3 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_bsd);
            __Pyx_GIVEREF(__pyx_kp_b_bsd);
            PyTuple_SET_ITEM(__pyx_t_39, 0+__pyx_t_12, __pyx_kp_b_bsd);
            __Pyx_GIVEREF(__pyx_t_2);
            PyTuple_SET_ITEM(__pyx_t_39, 1+__pyx_t_12, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_39, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 868, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_14, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 868, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_40))) {
            __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_40);
            if (likely(__pyx_t_14)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
              __Pyx_INCREF(__pyx_t_14);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_40, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_40)) {
            PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_kp_b__15, __pyx_t_5};
            __pyx_t_13 = __Pyx_PyFunction_FastCall(__pyx_t_40, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 868, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_40)) {
            PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_kp_b__15, __pyx_t_5};
            __pyx_t_13 = __Pyx_PyCFunction_FastCall(__pyx_t_40, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 868, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          {
            __pyx_t_39 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 868, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            if (__pyx_t_14) {
              __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_39, 0, __pyx_t_14); __pyx_t_14 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_kp_b__15);
            PyTuple_SET_ITEM(__pyx_t_39, 0+__pyx_t_12, __pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_t_5);
            PyTuple_SET_ITEM(__pyx_t_39, 1+__pyx_t_12, __pyx_t_5);
            __pyx_t_5 = 0;
            __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_40, __pyx_t_39, NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 868, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_13, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 868, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 868, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
            __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_13);
            if (likely(__pyx_t_40)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
              __Pyx_INCREF(__pyx_t_40);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_13, function);
            }
          }
          __pyx_t_4 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_40, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
          if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 868, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
            __pyx_t_13 = __pyx_t_4; __Pyx_INCREF(__pyx_t_13); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_13 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 868, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __pyx_t_7 = Py_TYPE(__pyx_t_13)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 868, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_13))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_13)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyList_GET_ITEM(__pyx_t_13, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 868, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_13, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 868, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_13)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_13, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 868, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_13, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 868, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              }
            } else {
              __pyx_t_4 = __pyx_t_7(__pyx_t_13);
              if (unlikely(!__pyx_t_4)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 868, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_4);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4);
            __pyx_t_4 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+0869:                         if x.find(b"-") != -1:
            __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 869, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __pyx_t_39 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
              __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_40);
              if (likely(__pyx_t_39)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
                __Pyx_INCREF(__pyx_t_39);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_40, function);
              }
            }
            __pyx_t_4 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_39, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 869, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
            __pyx_t_40 = __Pyx_PyInt_NeObjC(__pyx_t_4, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 869, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_40); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 869, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L514;
            }
+0870:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 870, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_39 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
                __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_4);
                if (likely(__pyx_t_39)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                  __Pyx_INCREF(__pyx_t_39);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_4, function);
                }
              }
              __pyx_t_40 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_39, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
              if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 870, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_40, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 870, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 870, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_PyInt_AddObjC(__pyx_t_40, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 870, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_4); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 870, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 870, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_39 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
                __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_40);
                if (likely(__pyx_t_39)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
                  __Pyx_INCREF(__pyx_t_39);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_40, function);
                }
              }
              __pyx_t_4 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_39, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
              if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 870, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_4, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 870, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_40); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 870, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_4); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 870, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_21; __pyx_t_12 < __pyx_t_22; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0871:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0872:                         else:
+0873:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 873, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 873, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L514:;
+0874:                     survival.push_back(set_temp)
          try {
            __pyx_v_9CACompute_survival.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 874, __pyx_L1_error)
          }
 0875: 
+0876:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0877:                     for x in re.sub(b"\(.*?\)", b"", re.split(b"[bsd]", individual_rule_string)[1]).split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_re); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 877, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_sub); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 877, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_re); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 877, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 877, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 877, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_2 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) {
            __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_14);
            if (likely(__pyx_t_2)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
              __Pyx_INCREF(__pyx_t_2);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_14, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_14)) {
            PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_b_bsd, __pyx_t_5};
            __pyx_t_40 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 877, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) {
            PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_b_bsd, __pyx_t_5};
            __pyx_t_40 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 877, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          {
            __pyx_t_3 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 877, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            if (__pyx_t_2) {
              __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); __pyx_t_2 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_bsd);
            __Pyx_GIVEREF(__pyx_kp_b_bsd);
            PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_12, __pyx_kp_b_bsd);
            __Pyx_GIVEREF(__pyx_t_5);
            PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_12, __pyx_t_5);
            __pyx_t_5 = 0;
            __pyx_t_40 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_3, NULL); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 877, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_40, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 877, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_39))) {
            __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_39);
            if (likely(__pyx_t_40)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
              __Pyx_INCREF(__pyx_t_40);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_39, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_39)) {
            PyObject *__pyx_temp[4] = {__pyx_t_40, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_14};
            __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_39, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 877, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_39)) {
            PyObject *__pyx_temp[4] = {__pyx_t_40, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_14};
            __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_39, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 877, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          } else
          #endif
          {
            __pyx_t_3 = PyTuple_New(3+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 877, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            if (__pyx_t_40) {
              __Pyx_GIVEREF(__pyx_t_40); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_40); __pyx_t_40 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__16);
            __Pyx_GIVEREF(__pyx_kp_b__16);
            PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_12, __pyx_kp_b__16);
            __Pyx_INCREF(__pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_kp_b_);
            PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_12, __pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_t_14);
            PyTuple_SET_ITEM(__pyx_t_3, 2+__pyx_t_12, __pyx_t_14);
            __pyx_t_14 = 0;
            __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_39, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 877, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 877, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_39);
            if (likely(__pyx_t_4)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
              __Pyx_INCREF(__pyx_t_4);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_39, function);
            }
          }
          __pyx_t_13 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_4, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 877, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          if (likely(PyList_CheckExact(__pyx_t_13)) || PyTuple_CheckExact(__pyx_t_13)) {
            __pyx_t_39 = __pyx_t_13; __Pyx_INCREF(__pyx_t_39); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_39 = PyObject_GetIter(__pyx_t_13); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 877, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __pyx_t_7 = Py_TYPE(__pyx_t_39)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 877, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_39))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_39)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_13 = PyList_GET_ITEM(__pyx_t_39, __pyx_t_6); __Pyx_INCREF(__pyx_t_13); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 877, __pyx_L1_error)
                #else
                __pyx_t_13 = PySequence_ITEM(__pyx_t_39, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 877, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_13);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_39)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_13 = PyTuple_GET_ITEM(__pyx_t_39, __pyx_t_6); __Pyx_INCREF(__pyx_t_13); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 877, __pyx_L1_error)
                #else
                __pyx_t_13 = PySequence_ITEM(__pyx_t_39, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 877, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_13);
                #endif
              }
            } else {
              __pyx_t_13 = __pyx_t_7(__pyx_t_39);
              if (unlikely(!__pyx_t_13)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 877, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_13);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_13);
            __pyx_t_13 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
+0878:                         if x.find(b"-") != -1:
            __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 878, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_3 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
              __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
              if (likely(__pyx_t_3)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                __Pyx_INCREF(__pyx_t_3);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_4, function);
              }
            }
            __pyx_t_13 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 878, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_4 = __Pyx_PyInt_NeObjC(__pyx_t_13, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 878, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 878, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L519;
            }
+0879:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 879, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_3 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
                __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_13);
                if (likely(__pyx_t_3)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
                  __Pyx_INCREF(__pyx_t_3);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_13, function);
                }
              }
              __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 879, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_4, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 879, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_13); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 879, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 879, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_13); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 879, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 879, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_3 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
                __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
                if (likely(__pyx_t_3)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                  __Pyx_INCREF(__pyx_t_3);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_4, function);
                }
              }
              __pyx_t_13 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 879, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_13, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 879, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 879, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_13); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 879, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_22; __pyx_t_12 < __pyx_t_21; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0880:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0881:                         else:
+0882:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 882, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_13); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 882, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L519:;
+0883:                     other_birth.push_back(set_temp)
          try {
            __pyx_v_9CACompute_other_birth.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 883, __pyx_L1_error)
          }
 0884: 
+0885:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0886:                     for x in re.sub(b"\(.*?\)", b"", re.split(b"[bsd]", individual_rule_string)[2]).split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_re); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 886, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_sub); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 886, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_re); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 886, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 886, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 886, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __pyx_t_5 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_40))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_40);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_40, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_40)) {
            PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_b_bsd, __pyx_t_14};
            __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_40, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 886, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_40)) {
            PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_b_bsd, __pyx_t_14};
            __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_40, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 886, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          } else
          #endif
          {
            __pyx_t_2 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 886, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (__pyx_t_5) {
              __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_5); __pyx_t_5 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_bsd);
            __Pyx_GIVEREF(__pyx_kp_b_bsd);
            PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_12, __pyx_kp_b_bsd);
            __Pyx_GIVEREF(__pyx_t_14);
            PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_12, __pyx_t_14);
            __pyx_t_14 = 0;
            __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_40, __pyx_t_2, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 886, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_4, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 886, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_4)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_4);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_40};
            __pyx_t_13 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 886, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_40};
            __pyx_t_13 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_12, 3+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 886, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          } else
          #endif
          {
            __pyx_t_2 = PyTuple_New(3+__pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 886, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (__pyx_t_4) {
              __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); __pyx_t_4 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__16);
            __Pyx_GIVEREF(__pyx_kp_b__16);
            PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_12, __pyx_kp_b__16);
            __Pyx_INCREF(__pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_kp_b_);
            PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_12, __pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_t_40);
            PyTuple_SET_ITEM(__pyx_t_2, 2+__pyx_t_12, __pyx_t_40);
            __pyx_t_40 = 0;
            __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 886, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 886, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
            }
          }
          __pyx_t_39 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_13, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
          if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 886, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (likely(PyList_CheckExact(__pyx_t_39)) || PyTuple_CheckExact(__pyx_t_39)) {
            __pyx_t_3 = __pyx_t_39; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_39); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 886, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 886, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_3))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_39 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_39); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 886, __pyx_L1_error)
                #else
                __pyx_t_39 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 886, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_39);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_39 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_39); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 886, __pyx_L1_error)
                #else
                __pyx_t_39 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 886, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_39);
                #endif
              }
            } else {
              __pyx_t_39 = __pyx_t_7(__pyx_t_3);
              if (unlikely(!__pyx_t_39)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 886, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_39);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_39);
            __pyx_t_39 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0887:                         if x.find(b"-") != -1:
            __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 887, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __pyx_t_2 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
              __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_13);
              if (likely(__pyx_t_2)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
                __Pyx_INCREF(__pyx_t_2);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_13, function);
              }
            }
            __pyx_t_39 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_2, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 887, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            __pyx_t_13 = __Pyx_PyInt_NeObjC(__pyx_t_39, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 887, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 887, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L524;
            }
+0888:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 888, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_2 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
                __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_39);
                if (likely(__pyx_t_2)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
                  __Pyx_INCREF(__pyx_t_2);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_39, function);
                }
              }
              __pyx_t_13 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_2, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
              if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 888, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_13, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 888, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_t_39); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 888, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_PyInt_AddObjC(__pyx_t_13, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 888, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_39); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 888, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 888, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_2 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
                __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_13);
                if (likely(__pyx_t_2)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
                  __Pyx_INCREF(__pyx_t_2);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_13, function);
                }
              }
              __pyx_t_39 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_2, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
              if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 888, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_39, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 888, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_t_13); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 888, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_39); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 888, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_12 = __pyx_t_21; __pyx_t_12 < __pyx_t_22; __pyx_t_12+=1) {
                __pyx_v_i = __pyx_t_12;
+0889:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0890:                         else:
+0891:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 891, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_39); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 891, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_12));
            }
            __pyx_L524:;
+0892:                     other_survival.push_back(set_temp)
          try {
            __pyx_v_9CACompute_other_survival.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 892, __pyx_L1_error)
          }
 0893: 
+0894:                     extended.clear()
          __pyx_v_extended.clear();
+0895:                     for x in re.split(b"[bsd]", individual_rule_string)[3].split(b"-"):
          __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_re); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 895, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 895, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 895, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_40 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_40)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_40);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_2)) {
            PyObject *__pyx_temp[3] = {__pyx_t_40, __pyx_kp_b_bsd, __pyx_t_13};
            __pyx_t_39 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 895, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
            PyObject *__pyx_temp[3] = {__pyx_t_40, __pyx_kp_b_bsd, __pyx_t_13};
            __pyx_t_39 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 895, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          {
            __pyx_t_4 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 895, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            if (__pyx_t_40) {
              __Pyx_GIVEREF(__pyx_t_40); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_40); __pyx_t_40 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_bsd);
            __Pyx_GIVEREF(__pyx_kp_b_bsd);
            PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_12, __pyx_kp_b_bsd);
            __Pyx_GIVEREF(__pyx_t_13);
            PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_12, __pyx_t_13);
            __pyx_t_13 = 0;
            __pyx_t_39 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 895, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_39, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 895, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 895, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
            __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_39);
            if (likely(__pyx_t_2)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
              __Pyx_INCREF(__pyx_t_2);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_39, function);
            }
          }
          __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_2, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__14);
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 895, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
            __pyx_t_39 = __pyx_t_3; __Pyx_INCREF(__pyx_t_39); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_39 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 895, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __pyx_t_7 = Py_TYPE(__pyx_t_39)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 895, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_39))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_39)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_3 = PyList_GET_ITEM(__pyx_t_39, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 895, __pyx_L1_error)
                #else
                __pyx_t_3 = PySequence_ITEM(__pyx_t_39, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 895, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_3);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_39)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_39, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 895, __pyx_L1_error)
                #else
                __pyx_t_3 = PySequence_ITEM(__pyx_t_39, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 895, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_3);
                #endif
              }
            } else {
              __pyx_t_3 = __pyx_t_7(__pyx_t_39);
              if (unlikely(!__pyx_t_3)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 895, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_3);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_3);
            __pyx_t_3 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
+0896:                         extended.push_back(int(x))
            __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 896, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 896, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            try {
              __pyx_v_extended.push_back(__pyx_t_12);
            } catch(...) {
              __Pyx_CppExn2PyErr();
              __PYX_ERR(0, 896, __pyx_L1_error)
            }
 0897: 
+0898:                     try: naive_lst.push_back(re.split(b"b|s|d|nn", individual_rule_string)[4])
          {
            /*try:*/ {
              __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_re); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 898, __pyx_L529_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 898, __pyx_L529_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 898, __pyx_L529_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_4 = NULL;
              __pyx_t_12 = 0;
              if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
                __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
                if (likely(__pyx_t_4)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
                  __Pyx_INCREF(__pyx_t_4);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_2, function);
                  __pyx_t_12 = 1;
                }
              }
              #if CYTHON_FAST_PYCALL
              if (PyFunction_Check(__pyx_t_2)) {
                PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_b_b_s_d_nn, __pyx_t_3};
                __pyx_t_39 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 898, __pyx_L529_error)
                __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
                __Pyx_GOTREF(__pyx_t_39);
                __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              } else
              #endif
              #if CYTHON_FAST_PYCCALL
              if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
                PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_b_b_s_d_nn, __pyx_t_3};
                __pyx_t_39 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 898, __pyx_L529_error)
                __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
                __Pyx_GOTREF(__pyx_t_39);
                __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              } else
              #endif
              {
                __pyx_t_13 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 898, __pyx_L529_error)
                __Pyx_GOTREF(__pyx_t_13);
                if (__pyx_t_4) {
                  __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_4); __pyx_t_4 = NULL;
                }
                __Pyx_INCREF(__pyx_kp_b_b_s_d_nn);
                __Pyx_GIVEREF(__pyx_kp_b_b_s_d_nn);
                PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_12, __pyx_kp_b_b_s_d_nn);
                __Pyx_GIVEREF(__pyx_t_3);
                PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_12, __pyx_t_3);
                __pyx_t_3 = 0;
                __pyx_t_39 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_13, NULL); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 898, __pyx_L529_error)
                __Pyx_GOTREF(__pyx_t_39);
                __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              }
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_39, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 898, __pyx_L529_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 898, __pyx_L529_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 898, __pyx_L529_error)
              }
            }
            __Pyx_XDECREF(__pyx_t_38); __pyx_t_38 = 0;
            __Pyx_XDECREF(__pyx_t_37); __pyx_t_37 = 0;
            __Pyx_XDECREF(__pyx_t_36); __pyx_t_36 = 0;
            goto __pyx_L536_try_end;
            __pyx_L529_error:;
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
/* … */
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_ExceptionReset(__pyx_t_38, __pyx_t_37, __pyx_t_36);
            goto __pyx_L1_error;
            __pyx_L530_exception_handled:;
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_ExceptionReset(__pyx_t_38, __pyx_t_37, __pyx_t_36);
            __pyx_L536_try_end:;
          }
        }
        __pyx_L477:;
+0899:                     except IndexError: naive_lst.push_back(b"-1")
            __pyx_t_12 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_IndexError);
            if (__pyx_t_12) {
              __Pyx_AddTraceback("CACompute.load", __pyx_clineno, __pyx_lineno, __pyx_filename);
              if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_39, &__pyx_t_13) < 0) __PYX_ERR(0, 899, __pyx_L531_except_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_kp_b_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 899, __pyx_L531_except_error)
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 899, __pyx_L531_except_error)
              }
              __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
              __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              goto __pyx_L530_exception_handled;
            }
            goto __pyx_L531_except_error;
            __pyx_L531_except_error:;
+0900:             elif bsconditions == b"Range 1 Moore Semi Totalistic":
      __pyx_t_8 = ((__pyx_v_9CACompute_bsconditions == ((char const *)"Range 1 Moore Semi Totalistic")) != 0);
      if (__pyx_t_8) {
/* … */
      }
      __pyx_L431:;
+0901:                 if individual_rule_string.find(b"/") != -1:
        __pyx_t_8 = ((__pyx_v_individual_rule_string.find(__pyx_k__13) != -1L) != 0);
        if (__pyx_t_8) {
/* … */
          goto __pyx_L539;
        }
+0902:                     temp_semi_1.clear()
          __pyx_v_temp_semi_1.clear();
+0903:                     current_trans = []
          __pyx_t_13 = PyList_New(0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 903, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_XDECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_13));
          __pyx_t_13 = 0;
+0904:                     for x in individual_rule_string.split(b"/")[1]:
          __pyx_t_39 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 904, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 904, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_39)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_39);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
            }
          }
          __pyx_t_13 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_39, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
          if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 904, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_13, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 904, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
            __pyx_t_13 = __pyx_t_2; __Pyx_INCREF(__pyx_t_13); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_13 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 904, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __pyx_t_7 = Py_TYPE(__pyx_t_13)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 904, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_13))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_13)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyList_GET_ITEM(__pyx_t_13, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 904, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_13, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 904, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_13)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_13, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 904, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_13, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 904, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              }
            } else {
              __pyx_t_2 = __pyx_t_7(__pyx_t_13);
              if (unlikely(!__pyx_t_2)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 904, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_2);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
            __pyx_t_2 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+0905:                         current_trans.append(int(str(x)))
            __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 905, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 905, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __pyx_t_41 = __Pyx_PyList_Append(__pyx_v_current_trans, __pyx_t_39); if (unlikely(__pyx_t_41 == ((int)-1))) __PYX_ERR(0, 905, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
+0906:                         if len(current_trans) == 2:
            __pyx_t_10 = PyList_GET_SIZE(__pyx_v_current_trans); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 906, __pyx_L1_error)
            __pyx_t_8 = ((__pyx_t_10 == 2) != 0);
            if (__pyx_t_8) {
/* … */
            }
+0907:                             temp_semi_1.insert(pair[int, int] (current_trans[0] - 48, current_trans[1] - 48))
              __pyx_t_39 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 907, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_2 = __Pyx_PyInt_SubtractObjC(__pyx_t_39, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 907, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 907, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 907, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_39 = __Pyx_PyInt_SubtractObjC(__pyx_t_2, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 907, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_39); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 907, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              try {
                __pyx_t_25 = std::pair<int,int> (__pyx_t_12, __pyx_t_24);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 907, __pyx_L1_error)
              }
              (void)(__pyx_v_temp_semi_1.insert(__pyx_t_25));
+0908:                             current_trans = []
              __pyx_t_39 = PyList_New(0); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 908, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_39));
              __pyx_t_39 = 0;
+0909:                     birth_semi_1.push_back(temp_semi_1)
          try {
            __pyx_v_9CACompute_birth_semi_1.push_back(__pyx_v_temp_semi_1);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 909, __pyx_L1_error)
          }
 0910: 
+0911:                     temp_semi_1.clear()
          __pyx_v_temp_semi_1.clear();
+0912:                     current_trans = []
          __pyx_t_13 = PyList_New(0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 912, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_13));
          __pyx_t_13 = 0;
+0913:                     for x in individual_rule_string.split(b"/")[0]:
          __pyx_t_39 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 913, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 913, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_39)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_39);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
            }
          }
          __pyx_t_13 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_39, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
          if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 913, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_13, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 913, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
            __pyx_t_13 = __pyx_t_2; __Pyx_INCREF(__pyx_t_13); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_13 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 913, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __pyx_t_7 = Py_TYPE(__pyx_t_13)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 913, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_13))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_13)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyList_GET_ITEM(__pyx_t_13, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 913, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_13, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 913, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_13)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_13, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 913, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_13, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 913, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              }
            } else {
              __pyx_t_2 = __pyx_t_7(__pyx_t_13);
              if (unlikely(!__pyx_t_2)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 913, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_2);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
            __pyx_t_2 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+0914:                         current_trans.append(int(str(x)))
            __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 914, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 914, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __pyx_t_41 = __Pyx_PyList_Append(__pyx_v_current_trans, __pyx_t_39); if (unlikely(__pyx_t_41 == ((int)-1))) __PYX_ERR(0, 914, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
+0915:                         if len(current_trans) == 2:
            __pyx_t_10 = PyList_GET_SIZE(__pyx_v_current_trans); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 915, __pyx_L1_error)
            __pyx_t_8 = ((__pyx_t_10 == 2) != 0);
            if (__pyx_t_8) {
/* … */
            }
+0916:                             temp_semi_1.insert(pair[int, int] (current_trans[0] - 48, current_trans[1] - 48))
              __pyx_t_39 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 916, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_2 = __Pyx_PyInt_SubtractObjC(__pyx_t_39, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 916, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 916, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 916, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_39 = __Pyx_PyInt_SubtractObjC(__pyx_t_2, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 916, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_39); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 916, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              try {
                __pyx_t_25 = std::pair<int,int> (__pyx_t_24, __pyx_t_12);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 916, __pyx_L1_error)
              }
              (void)(__pyx_v_temp_semi_1.insert(__pyx_t_25));
+0917:                             current_trans = []
              __pyx_t_39 = PyList_New(0); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 917, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_39));
              __pyx_t_39 = 0;
+0918:                     survival_semi_1.push_back(temp_semi_1)
          try {
            __pyx_v_9CACompute_survival_semi_1.push_back(__pyx_v_temp_semi_1);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 918, __pyx_L1_error)
          }
 0919: 
+0920:                     file = open("log.log", "a")
          __pyx_t_13 = __Pyx_PyObject_Call(__pyx_builtin_open, __pyx_tuple__17, NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 920, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF_SET(__pyx_v_file, __pyx_t_13);
          __pyx_t_13 = 0;
+0921:                     file.write(str(birth_semi_1) + " " + str(survival_semi_1) + "\n")
          __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_file, __pyx_n_s_write); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 921, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __pyx_t_2 = __pyx_convert_vector_to_py_std_3a__3a_unordered_set_3c_std_3a__3a_pair_3c_int_2c_int_3e____3e___(__pyx_v_9CACompute_birth_semi_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 921, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 921, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_kp_u__18); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 921, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __pyx_convert_vector_to_py_std_3a__3a_unordered_set_3c_std_3a__3a_pair_3c_int_2c_int_3e____3e___(__pyx_v_9CACompute_survival_semi_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 921, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 921, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_t_2, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 921, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_PyUnicode_Concat(__pyx_t_3, __pyx_kp_u__2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 921, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_39);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_39, function);
            }
          }
          __pyx_t_13 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_t_4);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 921, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+0922:                     file.close()
          __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_file, __pyx_n_s_close); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 922, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __pyx_t_4 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_39);
            if (likely(__pyx_t_4)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
              __Pyx_INCREF(__pyx_t_4);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_39, function);
            }
          }
          __pyx_t_13 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_39);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 922, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
 0923: 
+0924:                     try: naive_lst.push_back(individual_rule_string.split(b"/")[3])
          {
            /*try:*/ {
              __pyx_t_39 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 924, __pyx_L546_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 924, __pyx_L546_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
                __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_4);
                if (likely(__pyx_t_39)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                  __Pyx_INCREF(__pyx_t_39);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_4, function);
                }
              }
              __pyx_t_13 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_39, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__13);
              __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
              if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 924, __pyx_L546_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_13, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 924, __pyx_L546_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_t_4); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 924, __pyx_L546_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 924, __pyx_L546_error)
              }
            }
            __Pyx_XDECREF(__pyx_t_36); __pyx_t_36 = 0;
            __Pyx_XDECREF(__pyx_t_37); __pyx_t_37 = 0;
            __Pyx_XDECREF(__pyx_t_38); __pyx_t_38 = 0;
            goto __pyx_L553_try_end;
            __pyx_L546_error:;
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
/* … */
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_ExceptionReset(__pyx_t_36, __pyx_t_37, __pyx_t_38);
            goto __pyx_L1_error;
            __pyx_L547_exception_handled:;
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_ExceptionReset(__pyx_t_36, __pyx_t_37, __pyx_t_38);
            __pyx_L553_try_end:;
          }
+0925:                     except IndexError: naive_lst.push_back(b"-1")
            __pyx_t_12 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_IndexError);
            if (__pyx_t_12) {
              __Pyx_AddTraceback("CACompute.load", __pyx_clineno, __pyx_lineno, __pyx_filename);
              if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_13, &__pyx_t_39) < 0) __PYX_ERR(0, 925, __pyx_L548_except_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_kp_b_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 925, __pyx_L548_except_error)
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 925, __pyx_L548_except_error)
              }
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
              goto __pyx_L547_exception_handled;
            }
            goto __pyx_L548_except_error;
            __pyx_L548_except_error:;
 0926:                 else:
+0927:                     temp_semi_1.clear()
        /*else*/ {
          __pyx_v_temp_semi_1.clear();
+0928:                     current_trans = []
          __pyx_t_39 = PyList_New(0); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 928, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_XDECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_39));
          __pyx_t_39 = 0;
+0929:                     for x in re.split(b"b|s|d|nn", individual_rule_string)[1]:
          __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_re); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 929, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 929, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 929, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_3 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_b_b_s_d_nn, __pyx_t_13};
            __pyx_t_39 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 929, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_b_b_s_d_nn, __pyx_t_13};
            __pyx_t_39 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 929, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          {
            __pyx_t_2 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 929, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (__pyx_t_3) {
              __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); __pyx_t_3 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_b_s_d_nn);
            __Pyx_GIVEREF(__pyx_kp_b_b_s_d_nn);
            PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_12, __pyx_kp_b_b_s_d_nn);
            __Pyx_GIVEREF(__pyx_t_13);
            PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_12, __pyx_t_13);
            __pyx_t_13 = 0;
            __pyx_t_39 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 929, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_39, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 929, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
            __pyx_t_39 = __pyx_t_4; __Pyx_INCREF(__pyx_t_39); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_39 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 929, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __pyx_t_7 = Py_TYPE(__pyx_t_39)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 929, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_39))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_39)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyList_GET_ITEM(__pyx_t_39, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 929, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_39, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 929, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_39)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_39, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 929, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_39, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 929, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              }
            } else {
              __pyx_t_4 = __pyx_t_7(__pyx_t_39);
              if (unlikely(!__pyx_t_4)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 929, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_4);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4);
            __pyx_t_4 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
+0930:                         current_trans.append(int(str(x)))
            __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 930, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 930, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_41 = __Pyx_PyList_Append(__pyx_v_current_trans, __pyx_t_2); if (unlikely(__pyx_t_41 == ((int)-1))) __PYX_ERR(0, 930, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0931:                         if len(current_trans) == 2:
            __pyx_t_10 = PyList_GET_SIZE(__pyx_v_current_trans); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 931, __pyx_L1_error)
            __pyx_t_8 = ((__pyx_t_10 == 2) != 0);
            if (__pyx_t_8) {
/* … */
            }
+0932:                             temp_semi_1.insert(pair[int, int] (current_trans[0] - 48, current_trans[1] - 48))
              __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 932, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_4 = __Pyx_PyInt_SubtractObjC(__pyx_t_2, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 932, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 932, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 932, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_2 = __Pyx_PyInt_SubtractObjC(__pyx_t_4, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 932, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 932, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              try {
                __pyx_t_25 = std::pair<int,int> (__pyx_t_12, __pyx_t_24);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 932, __pyx_L1_error)
              }
              (void)(__pyx_v_temp_semi_1.insert(__pyx_t_25));
+0933:                             current_trans = []
              __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 933, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_2));
              __pyx_t_2 = 0;
+0934:                     birth_semi_1.push_back(temp_semi_1)
          try {
            __pyx_v_9CACompute_birth_semi_1.push_back(__pyx_v_temp_semi_1);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 934, __pyx_L1_error)
          }
 0935: 
+0936:                     temp_semi_1.clear()
          __pyx_v_temp_semi_1.clear();
+0937:                     for x in re.split(b"b|s|d|nn", individual_rule_string)[2]:
          __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_re); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 937, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 937, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 937, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_13 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_kp_b_b_s_d_nn, __pyx_t_2};
            __pyx_t_39 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 937, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_kp_b_b_s_d_nn, __pyx_t_2};
            __pyx_t_39 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 937, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          } else
          #endif
          {
            __pyx_t_3 = PyTuple_New(2+__pyx_t_24); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 937, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            if (__pyx_t_13) {
              __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_13); __pyx_t_13 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_b_s_d_nn);
            __Pyx_GIVEREF(__pyx_kp_b_b_s_d_nn);
            PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_24, __pyx_kp_b_b_s_d_nn);
            __Pyx_GIVEREF(__pyx_t_2);
            PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_24, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_39 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_3, NULL); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 937, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_39, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 937, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
            __pyx_t_39 = __pyx_t_4; __Pyx_INCREF(__pyx_t_39); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_39 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 937, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __pyx_t_7 = Py_TYPE(__pyx_t_39)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 937, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_39))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_39)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyList_GET_ITEM(__pyx_t_39, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 937, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_39, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 937, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_39)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_39, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 937, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_39, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 937, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              }
            } else {
              __pyx_t_4 = __pyx_t_7(__pyx_t_39);
              if (unlikely(!__pyx_t_4)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 937, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_4);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4);
            __pyx_t_4 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
+0938:                         current_trans.append(int(str(x)))
            __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 938, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 938, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_41 = __Pyx_PyList_Append(__pyx_v_current_trans, __pyx_t_3); if (unlikely(__pyx_t_41 == ((int)-1))) __PYX_ERR(0, 938, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0939:                         if len(current_trans) == 2:
            __pyx_t_10 = PyList_GET_SIZE(__pyx_v_current_trans); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 939, __pyx_L1_error)
            __pyx_t_8 = ((__pyx_t_10 == 2) != 0);
            if (__pyx_t_8) {
/* … */
            }
+0940:                             temp_semi_1.insert(pair[int, int] (current_trans[0] - 48, current_trans[1] - 48))
              __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 940, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_4 = __Pyx_PyInt_SubtractObjC(__pyx_t_3, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 940, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 940, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 940, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_t_4, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 940, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 940, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              try {
                __pyx_t_25 = std::pair<int,int> (__pyx_t_24, __pyx_t_12);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 940, __pyx_L1_error)
              }
              (void)(__pyx_v_temp_semi_1.insert(__pyx_t_25));
+0941:                             current_trans = []
              __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 941, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_3));
              __pyx_t_3 = 0;
+0942:                     survival_semi_1.push_back(temp_semi_1)
          try {
            __pyx_v_9CACompute_survival_semi_1.push_back(__pyx_v_temp_semi_1);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 942, __pyx_L1_error)
          }
 0943: 
+0944:                     extended.clear()
          __pyx_v_extended.clear();
+0945:                     for x in re.split(b"b|s|d|nn", individual_rule_string)[3].split(b"-"):
          __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_re); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 945, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 945, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 945, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_13 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_2)) {
            PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_kp_b_b_s_d_nn, __pyx_t_4};
            __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 945, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
            PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_kp_b_b_s_d_nn, __pyx_t_4};
            __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 945, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          {
            __pyx_t_40 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 945, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            if (__pyx_t_13) {
              __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_40, 0, __pyx_t_13); __pyx_t_13 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_b_s_d_nn);
            __Pyx_GIVEREF(__pyx_kp_b_b_s_d_nn);
            PyTuple_SET_ITEM(__pyx_t_40, 0+__pyx_t_12, __pyx_kp_b_b_s_d_nn);
            __Pyx_GIVEREF(__pyx_t_4);
            PyTuple_SET_ITEM(__pyx_t_40, 1+__pyx_t_12, __pyx_t_4);
            __pyx_t_4 = 0;
            __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_40, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 945, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_3, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 945, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 945, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_2)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_2);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
            }
          }
          __pyx_t_39 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__14);
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 945, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (likely(PyList_CheckExact(__pyx_t_39)) || PyTuple_CheckExact(__pyx_t_39)) {
            __pyx_t_3 = __pyx_t_39; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_39); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 945, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 945, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_3))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_39 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_39); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 945, __pyx_L1_error)
                #else
                __pyx_t_39 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 945, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_39);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_39 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_39); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 945, __pyx_L1_error)
                #else
                __pyx_t_39 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 945, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_39);
                #endif
              }
            } else {
              __pyx_t_39 = __pyx_t_7(__pyx_t_3);
              if (unlikely(!__pyx_t_39)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 945, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_39);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_39);
            __pyx_t_39 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+0946:                         extended.push_back(int(x))
            __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 946, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_39); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 946, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
            try {
              __pyx_v_extended.push_back(__pyx_t_12);
            } catch(...) {
              __Pyx_CppExn2PyErr();
              __PYX_ERR(0, 946, __pyx_L1_error)
            }
 0947: 
+0948:                     try: naive_lst.push_back(re.split(b"b|s|nn", individual_rule_string)[4])
          {
            /*try:*/ {
              __Pyx_GetModuleGlobalName(__pyx_t_39, __pyx_n_s_re); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 948, __pyx_L564_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 948, __pyx_L564_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 948, __pyx_L564_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_40 = NULL;
              __pyx_t_12 = 0;
              if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
                __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_2);
                if (likely(__pyx_t_40)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
                  __Pyx_INCREF(__pyx_t_40);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_2, function);
                  __pyx_t_12 = 1;
                }
              }
              #if CYTHON_FAST_PYCALL
              if (PyFunction_Check(__pyx_t_2)) {
                PyObject *__pyx_temp[3] = {__pyx_t_40, __pyx_kp_b_b_s_nn, __pyx_t_39};
                __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 948, __pyx_L564_error)
                __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
                __Pyx_GOTREF(__pyx_t_3);
                __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              } else
              #endif
              #if CYTHON_FAST_PYCCALL
              if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
                PyObject *__pyx_temp[3] = {__pyx_t_40, __pyx_kp_b_b_s_nn, __pyx_t_39};
                __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 948, __pyx_L564_error)
                __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
                __Pyx_GOTREF(__pyx_t_3);
                __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              } else
              #endif
              {
                __pyx_t_4 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 948, __pyx_L564_error)
                __Pyx_GOTREF(__pyx_t_4);
                if (__pyx_t_40) {
                  __Pyx_GIVEREF(__pyx_t_40); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_40); __pyx_t_40 = NULL;
                }
                __Pyx_INCREF(__pyx_kp_b_b_s_nn);
                __Pyx_GIVEREF(__pyx_kp_b_b_s_nn);
                PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_12, __pyx_kp_b_b_s_nn);
                __Pyx_GIVEREF(__pyx_t_39);
                PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_12, __pyx_t_39);
                __pyx_t_39 = 0;
                __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 948, __pyx_L564_error)
                __Pyx_GOTREF(__pyx_t_3);
                __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              }
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_3, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 948, __pyx_L564_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 948, __pyx_L564_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 948, __pyx_L564_error)
              }
            }
            __Pyx_XDECREF(__pyx_t_38); __pyx_t_38 = 0;
            __Pyx_XDECREF(__pyx_t_37); __pyx_t_37 = 0;
            __Pyx_XDECREF(__pyx_t_36); __pyx_t_36 = 0;
            goto __pyx_L571_try_end;
            __pyx_L564_error:;
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
/* … */
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_ExceptionReset(__pyx_t_38, __pyx_t_37, __pyx_t_36);
            goto __pyx_L1_error;
            __pyx_L565_exception_handled:;
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_ExceptionReset(__pyx_t_38, __pyx_t_37, __pyx_t_36);
            __pyx_L571_try_end:;
          }
        }
        __pyx_L539:;
+0949:                     except IndexError: naive_lst.push_back(b"-1")
            __pyx_t_12 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_IndexError);
            if (__pyx_t_12) {
              __Pyx_AddTraceback("CACompute.load", __pyx_clineno, __pyx_lineno, __pyx_filename);
              if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4) < 0) __PYX_ERR(0, 949, __pyx_L566_except_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_kp_b_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 949, __pyx_L566_except_error)
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 949, __pyx_L566_except_error)
              }
              __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              goto __pyx_L565_exception_handled;
            }
            goto __pyx_L566_except_error;
            __pyx_L566_except_error:;
 0950: 
+0951:             num, alt = 1, 1
      __pyx_t_12 = 1;
      __pyx_t_24 = 1;
      __pyx_v_num = __pyx_t_12;
      __pyx_v_alt = __pyx_t_24;
+0952:             set_temp.clear()
      __pyx_v_set_temp.clear();
+0953:             for i in extended:
      __pyx_t_34 = __pyx_v_extended.begin();
      for (;;) {
        if (!(__pyx_t_34 != __pyx_v_extended.end())) break;
        __pyx_t_24 = *__pyx_t_34;
        ++__pyx_t_34;
        __pyx_v_i = __pyx_t_24;
/* … */
      }
+0954:                 for j in range(num, i + num):
        __pyx_t_24 = (__pyx_v_i + __pyx_v_num);
        __pyx_t_12 = __pyx_t_24;
        for (__pyx_t_26 = __pyx_v_num; __pyx_t_26 < __pyx_t_12; __pyx_t_26+=1) {
          __pyx_v_j = __pyx_t_26;
+0955:                     if alt > 0:
          __pyx_t_8 = ((__pyx_v_alt > 0) != 0);
          if (__pyx_t_8) {
/* … */
          }
+0956:                         set_temp.insert(j)
            (void)(__pyx_v_set_temp.insert(__pyx_v_j));
+0957:                     num += 1
          __pyx_v_num = (__pyx_v_num + 1);
        }
+0958:                 alt *= -1
        __pyx_v_alt = (__pyx_v_alt * -1L);
 0959: 
+0960:             activity_list.push_back(set_temp)
      try {
        __pyx_v_9CACompute_activity_list.push_back(__pyx_v_set_temp);
      } catch(...) {
        __Pyx_CppExn2PyErr();
        __PYX_ERR(0, 960, __pyx_L1_error)
      }
+0961:     elif rule_space == b"Regenerating Generations":
  __pyx_t_8 = ((__pyx_v_9CACompute_rule_space == ((char const *)"Regenerating Generations")) != 0);
  if (__pyx_t_8) {
/* … */
  }
  __pyx_L44:;
+0962:         for individual_rule_string in rule_string:
    __pyx_t_35 = __pyx_v_rule_string.begin();
    for (;;) {
      if (!(__pyx_t_35 != __pyx_v_rule_string.end())) break;
      __pyx_t_1 = *__pyx_t_35;
      ++__pyx_t_35;
      __pyx_v_individual_rule_string = __pyx_t_1;
/* … */
    }
+0963:             if bsconditions == b"Outer Totalistic":
      __pyx_t_8 = ((__pyx_v_9CACompute_bsconditions == ((char const *)"Outer Totalistic")) != 0);
      if (__pyx_t_8) {
/* … */
        goto __pyx_L581;
      }
+0964:                 if individual_rule_string.find(b"/") != -1:
        __pyx_t_8 = ((__pyx_v_individual_rule_string.find(__pyx_k__13) != -1L) != 0);
        if (__pyx_t_8) {
/* … */
          goto __pyx_L582;
        }
+0965:                     birth_state = int(individual_rule_string.split(b"/")[1])
          __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 965, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 965, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
            }
          }
          __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 965, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_4, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 965, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 965, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 965, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_v_9CACompute_birth_state = __pyx_t_24;
 0966: 
+0967:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0968:                     for x in individual_rule_string.split(b"/")[2].split(b","):
          __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 968, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 968, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_39);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_39, function);
            }
          }
          __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_3, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 968, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_2, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 968, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 968, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_39)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_39);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
            }
          }
          __pyx_t_4 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_39, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
          if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 968, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
            __pyx_t_2 = __pyx_t_4; __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 968, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_7 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 968, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_2)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 968, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 968, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 968, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 968, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              }
            } else {
              __pyx_t_4 = __pyx_t_7(__pyx_t_2);
              if (unlikely(!__pyx_t_4)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 968, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_4);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4);
            __pyx_t_4 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0969:                         if x.find(b"-") != -1:
            __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 969, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __pyx_t_3 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
              __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_39);
              if (likely(__pyx_t_3)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
                __Pyx_INCREF(__pyx_t_3);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_39, function);
              }
            }
            __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 969, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
            __pyx_t_39 = __Pyx_PyInt_NeObjC(__pyx_t_4, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 969, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_39); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 969, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L585;
            }
+0970:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 970, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_3 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
                __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
                if (likely(__pyx_t_3)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                  __Pyx_INCREF(__pyx_t_3);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_4, function);
                }
              }
              __pyx_t_39 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 970, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_39, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 970, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 970, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_PyInt_AddObjC(__pyx_t_39, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 970, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_4); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 970, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 970, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_3 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
                __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_39);
                if (likely(__pyx_t_3)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
                  __Pyx_INCREF(__pyx_t_3);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_39, function);
                }
              }
              __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 970, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_4, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 970, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_39); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 970, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_4); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 970, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_24 = __pyx_t_22; __pyx_t_24 < __pyx_t_21; __pyx_t_24+=1) {
                __pyx_v_i = __pyx_t_24;
+0971:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0972:                         else:
+0973:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 973, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 973, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_24));
            }
            __pyx_L585:;
+0974:                     birth.push_back(set_temp)
          try {
            __pyx_v_9CACompute_birth.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 974, __pyx_L1_error)
          }
 0975: 
+0976:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0977:                     for x in individual_rule_string.split(b"/")[3].split(b","):
          __pyx_t_39 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 977, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 977, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_39)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_39);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
            }
          }
          __pyx_t_4 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_39, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
          if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 977, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_4, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 977, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 977, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
            }
          }
          __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 977, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
            __pyx_t_4 = __pyx_t_2; __Pyx_INCREF(__pyx_t_4); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 977, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_7 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 977, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_4))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_4)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 977, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 977, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 977, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 977, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              }
            } else {
              __pyx_t_2 = __pyx_t_7(__pyx_t_4);
              if (unlikely(!__pyx_t_2)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 977, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_2);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
            __pyx_t_2 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+0978:                         if x.find(b"-") != -1:
            __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 978, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_39 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
              __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_3);
              if (likely(__pyx_t_39)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                __Pyx_INCREF(__pyx_t_39);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_3, function);
              }
            }
            __pyx_t_2 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_39, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 978, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            __pyx_t_3 = __Pyx_PyInt_NeObjC(__pyx_t_2, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 978, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 978, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L590;
            }
+0979:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 979, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_39 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
                __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_2);
                if (likely(__pyx_t_39)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
                  __Pyx_INCREF(__pyx_t_39);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_2, function);
                }
              }
              __pyx_t_3 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_39, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
              if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 979, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_3, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 979, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 979, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_t_3, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 979, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 979, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 979, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_39 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
                __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_3);
                if (likely(__pyx_t_39)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                  __Pyx_INCREF(__pyx_t_39);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_3, function);
                }
              }
              __pyx_t_2 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_39, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
              if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 979, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 979, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 979, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 979, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_24 = __pyx_t_21; __pyx_t_24 < __pyx_t_22; __pyx_t_24+=1) {
                __pyx_v_i = __pyx_t_24;
+0980:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0981:                         else:
+0982:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 982, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 982, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_24));
            }
            __pyx_L590:;
+0983:                     survival.push_back(set_temp)
          try {
            __pyx_v_9CACompute_survival.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 983, __pyx_L1_error)
          }
 0984: 
+0985:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0986:                     for x in individual_rule_string.split(b"/")[4].split(b","):
          __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 986, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 986, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_39);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_39, function);
            }
          }
          __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_3, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 986, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_2, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 986, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 986, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_39)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_39);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
            }
          }
          __pyx_t_4 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_39, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
          if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 986, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) {
            __pyx_t_2 = __pyx_t_4; __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 986, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_7 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 986, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_2)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 986, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 986, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_4); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 986, __pyx_L1_error)
                #else
                __pyx_t_4 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 986, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_4);
                #endif
              }
            } else {
              __pyx_t_4 = __pyx_t_7(__pyx_t_2);
              if (unlikely(!__pyx_t_4)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 986, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_4);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4);
            __pyx_t_4 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+0987:                         if x.find(b"-") != -1:
            __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 987, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __pyx_t_3 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
              __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_39);
              if (likely(__pyx_t_3)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
                __Pyx_INCREF(__pyx_t_3);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_39, function);
              }
            }
            __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 987, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
            __pyx_t_39 = __Pyx_PyInt_NeObjC(__pyx_t_4, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 987, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_39); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 987, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L595;
            }
+0988:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 988, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_3 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
                __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
                if (likely(__pyx_t_3)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                  __Pyx_INCREF(__pyx_t_3);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_4, function);
                }
              }
              __pyx_t_39 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 988, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_39, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 988, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 988, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_PyInt_AddObjC(__pyx_t_39, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 988, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_4); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 988, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 988, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_3 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
                __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_39);
                if (likely(__pyx_t_3)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
                  __Pyx_INCREF(__pyx_t_3);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_39, function);
                }
              }
              __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 988, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_4, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 988, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_39); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 988, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_4); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 988, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_24 = __pyx_t_22; __pyx_t_24 < __pyx_t_21; __pyx_t_24+=1) {
                __pyx_v_i = __pyx_t_24;
+0989:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0990:                         else:
+0991:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 991, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 991, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_24));
            }
            __pyx_L595:;
+0992:                     regen_birth.push_back(set_temp)
          try {
            __pyx_v_9CACompute_regen_birth.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 992, __pyx_L1_error)
          }
 0993: 
+0994:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+0995:                     for x in individual_rule_string.split(b"/")[5].split(b","):
          __pyx_t_39 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 995, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 995, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_39)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_39);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
            }
          }
          __pyx_t_4 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_39, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
          if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 995, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_4, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 995, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 995, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
            }
          }
          __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 995, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
            __pyx_t_4 = __pyx_t_2; __Pyx_INCREF(__pyx_t_4); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 995, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_7 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 995, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_4))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_4)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 995, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 995, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 995, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 995, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              }
            } else {
              __pyx_t_2 = __pyx_t_7(__pyx_t_4);
              if (unlikely(!__pyx_t_2)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 995, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_2);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
            __pyx_t_2 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+0996:                         if x.find(b"-") != -1:
            __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 996, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_39 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
              __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_3);
              if (likely(__pyx_t_39)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                __Pyx_INCREF(__pyx_t_39);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_3, function);
              }
            }
            __pyx_t_2 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_39, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 996, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            __pyx_t_3 = __Pyx_PyInt_NeObjC(__pyx_t_2, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 996, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 996, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L600;
            }
+0997:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 997, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_39 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
                __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_2);
                if (likely(__pyx_t_39)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
                  __Pyx_INCREF(__pyx_t_39);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_2, function);
                }
              }
              __pyx_t_3 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_39, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
              if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 997, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_3, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 997, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 997, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_t_3, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 997, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 997, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 997, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_39 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
                __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_3);
                if (likely(__pyx_t_39)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                  __Pyx_INCREF(__pyx_t_39);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_3, function);
                }
              }
              __pyx_t_2 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_39, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
              if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 997, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 997, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 997, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 997, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_24 = __pyx_t_21; __pyx_t_24 < __pyx_t_22; __pyx_t_24+=1) {
                __pyx_v_i = __pyx_t_24;
+0998:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 0999:                         else:
+1000:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1000, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1000, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_24));
            }
            __pyx_L600:;
+1001:                     regen_survival.push_back(set_temp)
          try {
            __pyx_v_9CACompute_regen_survival.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1001, __pyx_L1_error)
          }
 1002: 
+1003:                     try: naive_lst.push_back(individual_rule_string.split(b"/")[6])
          {
            /*try:*/ {
              __pyx_t_2 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1003, __pyx_L603_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1003, __pyx_L603_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
                __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
                if (likely(__pyx_t_2)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                  __Pyx_INCREF(__pyx_t_2);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_3, function);
                }
              }
              __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__13);
              __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
              if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1003, __pyx_L603_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_4, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1003, __pyx_L603_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_t_3); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1003, __pyx_L603_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 1003, __pyx_L603_error)
              }
            }
            __Pyx_XDECREF(__pyx_t_36); __pyx_t_36 = 0;
            __Pyx_XDECREF(__pyx_t_37); __pyx_t_37 = 0;
            __Pyx_XDECREF(__pyx_t_38); __pyx_t_38 = 0;
            goto __pyx_L610_try_end;
            __pyx_L603_error:;
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
/* … */
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_ExceptionReset(__pyx_t_36, __pyx_t_37, __pyx_t_38);
            goto __pyx_L1_error;
            __pyx_L604_exception_handled:;
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_ExceptionReset(__pyx_t_36, __pyx_t_37, __pyx_t_38);
            __pyx_L610_try_end:;
          }
+1004:                     except IndexError: naive_lst.push_back(b"-1")
            __pyx_t_24 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_IndexError);
            if (__pyx_t_24) {
              __Pyx_AddTraceback("CACompute.load", __pyx_clineno, __pyx_lineno, __pyx_filename);
              if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_4, &__pyx_t_2) < 0) __PYX_ERR(0, 1004, __pyx_L605_except_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_kp_b_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1004, __pyx_L605_except_error)
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 1004, __pyx_L605_except_error)
              }
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
              goto __pyx_L604_exception_handled;
            }
            goto __pyx_L605_except_error;
            __pyx_L605_except_error:;
 1005:                 else:
+1006:                     birth_state = int(re.split(b"rg|l|b|s|rb|rs|nn", individual_rule_string)[2])
        /*else*/ {
          __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_re); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1006, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1006, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1006, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_39 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_39)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_39);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[3] = {__pyx_t_39, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_4};
            __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1006, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[3] = {__pyx_t_39, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_4};
            __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1006, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          {
            __pyx_t_40 = PyTuple_New(2+__pyx_t_24); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1006, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            if (__pyx_t_39) {
              __Pyx_GIVEREF(__pyx_t_39); PyTuple_SET_ITEM(__pyx_t_40, 0, __pyx_t_39); __pyx_t_39 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            PyTuple_SET_ITEM(__pyx_t_40, 0+__pyx_t_24, __pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_t_4);
            PyTuple_SET_ITEM(__pyx_t_40, 1+__pyx_t_24, __pyx_t_4);
            __pyx_t_4 = 0;
            __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_40, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1006, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_2, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1006, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1006, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1006, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_v_9CACompute_birth_state = __pyx_t_24;
 1007: 
+1008:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+1009:                     for x in re.split(b"rg|l|b|s|rb|rs|nn", individual_rule_string)[3].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_re); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1009, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1009, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1009, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __pyx_t_39 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_39)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_39);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_39, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_40};
            __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1009, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_39, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_40};
            __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1009, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          } else
          #endif
          {
            __pyx_t_13 = PyTuple_New(2+__pyx_t_24); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1009, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            if (__pyx_t_39) {
              __Pyx_GIVEREF(__pyx_t_39); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_39); __pyx_t_39 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_24, __pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_t_40);
            PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_24, __pyx_t_40);
            __pyx_t_40 = 0;
            __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_13, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1009, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_3, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1009, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1009, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_4)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_4);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
            }
          }
          __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1009, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
            __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1009, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1009, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_3))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1009, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1009, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1009, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1009, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              }
            } else {
              __pyx_t_2 = __pyx_t_7(__pyx_t_3);
              if (unlikely(!__pyx_t_2)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 1009, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_2);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
            __pyx_t_2 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1010:                         if x.find(b"-") != -1:
            __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1010, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_13 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
              __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_4);
              if (likely(__pyx_t_13)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                __Pyx_INCREF(__pyx_t_13);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_4, function);
              }
            }
            __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1010, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_4 = __Pyx_PyInt_NeObjC(__pyx_t_2, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1010, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 1010, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L615;
            }
+1011:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1011, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_13 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
                __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_2);
                if (likely(__pyx_t_13)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
                  __Pyx_INCREF(__pyx_t_13);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_2, function);
                }
              }
              __pyx_t_4 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1011, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_4, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1011, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1011, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1011, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1011, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1011, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_13 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
                __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_4);
                if (likely(__pyx_t_13)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                  __Pyx_INCREF(__pyx_t_13);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_4, function);
                }
              }
              __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1011, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1011, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1011, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1011, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_24 = __pyx_t_22; __pyx_t_24 < __pyx_t_21; __pyx_t_24+=1) {
                __pyx_v_i = __pyx_t_24;
+1012:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 1013:                         else:
+1014:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1014, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1014, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_24));
            }
            __pyx_L615:;
+1015:                     birth.push_back(set_temp)
          try {
            __pyx_v_9CACompute_birth.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1015, __pyx_L1_error)
          }
 1016: 
+1017:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+1018:                     for x in re.split(b"rg|l|b|s|rb|rs|nn", individual_rule_string)[4].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_re); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1018, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1018, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1018, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_40 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) {
            __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_13);
            if (likely(__pyx_t_40)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
              __Pyx_INCREF(__pyx_t_40);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_13, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_13)) {
            PyObject *__pyx_temp[3] = {__pyx_t_40, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_4};
            __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1018, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) {
            PyObject *__pyx_temp[3] = {__pyx_t_40, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_4};
            __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1018, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          {
            __pyx_t_39 = PyTuple_New(2+__pyx_t_24); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1018, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            if (__pyx_t_40) {
              __Pyx_GIVEREF(__pyx_t_40); PyTuple_SET_ITEM(__pyx_t_39, 0, __pyx_t_40); __pyx_t_40 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            PyTuple_SET_ITEM(__pyx_t_39, 0+__pyx_t_24, __pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_t_4);
            PyTuple_SET_ITEM(__pyx_t_39, 1+__pyx_t_24, __pyx_t_4);
            __pyx_t_4 = 0;
            __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_39, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1018, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          }
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_2, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1018, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1018, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
            }
          }
          __pyx_t_3 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_13, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1018, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
            __pyx_t_2 = __pyx_t_3; __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1018, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_7 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1018, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_2)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1018, __pyx_L1_error)
                #else
                __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1018, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_3);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1018, __pyx_L1_error)
                #else
                __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1018, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_3);
                #endif
              }
            } else {
              __pyx_t_3 = __pyx_t_7(__pyx_t_2);
              if (unlikely(!__pyx_t_3)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 1018, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_3);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_3);
            __pyx_t_3 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1019:                         if x.find(b"-") != -1:
            __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1019, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __pyx_t_39 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
              __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_13);
              if (likely(__pyx_t_39)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
                __Pyx_INCREF(__pyx_t_39);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_13, function);
              }
            }
            __pyx_t_3 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_39, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1019, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            __pyx_t_13 = __Pyx_PyInt_NeObjC(__pyx_t_3, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1019, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 1019, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L620;
            }
+1020:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1020, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_39 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
                __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_3);
                if (likely(__pyx_t_39)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                  __Pyx_INCREF(__pyx_t_39);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_3, function);
                }
              }
              __pyx_t_13 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_39, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
              if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1020, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_13, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1020, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1020, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_t_13, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1020, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_3); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1020, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1020, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_39 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
                __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_13);
                if (likely(__pyx_t_39)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
                  __Pyx_INCREF(__pyx_t_39);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_13, function);
                }
              }
              __pyx_t_3 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_39, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
              if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1020, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1020, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1020, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_3); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1020, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_24 = __pyx_t_21; __pyx_t_24 < __pyx_t_22; __pyx_t_24+=1) {
                __pyx_v_i = __pyx_t_24;
+1021:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 1022:                         else:
+1023:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1023, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1023, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_24));
            }
            __pyx_L620:;
+1024:                     survival.push_back(set_temp)
          try {
            __pyx_v_9CACompute_survival.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1024, __pyx_L1_error)
          }
 1025: 
+1026:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+1027:                     for x in re.split(b"rg|l|b|s|rb|rs|nn", individual_rule_string)[5].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_re); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1027, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1027, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1027, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_4 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_39))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_39);
            if (likely(__pyx_t_4)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
              __Pyx_INCREF(__pyx_t_4);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_39, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_39)) {
            PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_13};
            __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_39, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1027, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_39)) {
            PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_13};
            __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_39, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1027, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          {
            __pyx_t_40 = PyTuple_New(2+__pyx_t_24); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1027, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            if (__pyx_t_4) {
              __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_40, 0, __pyx_t_4); __pyx_t_4 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            PyTuple_SET_ITEM(__pyx_t_40, 0+__pyx_t_24, __pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_t_13);
            PyTuple_SET_ITEM(__pyx_t_40, 1+__pyx_t_24, __pyx_t_13);
            __pyx_t_13 = 0;
            __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_39, __pyx_t_40, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1027, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_3, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1027, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1027, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_39)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_39);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
            }
          }
          __pyx_t_2 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_39, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1027, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
            __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1027, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1027, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_3))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1027, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1027, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1027, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1027, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              }
            } else {
              __pyx_t_2 = __pyx_t_7(__pyx_t_3);
              if (unlikely(!__pyx_t_2)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 1027, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_2);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
            __pyx_t_2 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1028:                         if x.find(b"-") != -1:
            __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1028, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __pyx_t_40 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
              __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_39);
              if (likely(__pyx_t_40)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
                __Pyx_INCREF(__pyx_t_40);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_39, function);
              }
            }
            __pyx_t_2 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_40, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1028, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
            __pyx_t_39 = __Pyx_PyInt_NeObjC(__pyx_t_2, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1028, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_39); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 1028, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L625;
            }
+1029:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1029, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_40 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
                __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_2);
                if (likely(__pyx_t_40)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
                  __Pyx_INCREF(__pyx_t_40);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_2, function);
                }
              }
              __pyx_t_39 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_40, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
              if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1029, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_39, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1029, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1029, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_t_39, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1029, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1029, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1029, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_40 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
                __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_39);
                if (likely(__pyx_t_40)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
                  __Pyx_INCREF(__pyx_t_40);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_39, function);
                }
              }
              __pyx_t_2 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_40, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
              if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1029, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1029, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_39); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1029, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1029, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_24 = __pyx_t_22; __pyx_t_24 < __pyx_t_21; __pyx_t_24+=1) {
                __pyx_v_i = __pyx_t_24;
+1030:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 1031:                         else:
+1032:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1032, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1032, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_24));
            }
            __pyx_L625:;
+1033:                     regen_birth.push_back(set_temp)
          try {
            __pyx_v_9CACompute_regen_birth.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1033, __pyx_L1_error)
          }
 1034: 
+1035:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+1036:                     for x in re.split(b"rg|l|b|s|rb|rs|nn", individual_rule_string)[6].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_39, __pyx_n_s_re); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1036, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1036, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1036, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __pyx_t_13 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_40))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_40);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_40, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_40)) {
            PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_39};
            __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_40, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1036, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_40)) {
            PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_39};
            __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_40, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1036, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          } else
          #endif
          {
            __pyx_t_4 = PyTuple_New(2+__pyx_t_24); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1036, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            if (__pyx_t_13) {
              __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_13); __pyx_t_13 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_24, __pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_t_39);
            PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_24, __pyx_t_39);
            __pyx_t_39 = 0;
            __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_40, __pyx_t_4, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1036, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_2, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1036, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1036, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_40)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_40);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
            }
          }
          __pyx_t_3 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_40, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1036, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
            __pyx_t_2 = __pyx_t_3; __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1036, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_7 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1036, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_2)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1036, __pyx_L1_error)
                #else
                __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1036, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_3);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1036, __pyx_L1_error)
                #else
                __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1036, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_3);
                #endif
              }
            } else {
              __pyx_t_3 = __pyx_t_7(__pyx_t_2);
              if (unlikely(!__pyx_t_3)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 1036, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_3);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_3);
            __pyx_t_3 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1037:                         if x.find(b"-") != -1:
            __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1037, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __pyx_t_4 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
              __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_40);
              if (likely(__pyx_t_4)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
                __Pyx_INCREF(__pyx_t_4);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_40, function);
              }
            }
            __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_4, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1037, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
            __pyx_t_40 = __Pyx_PyInt_NeObjC(__pyx_t_3, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1037, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_40); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 1037, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L630;
            }
+1038:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1038, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_4 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
                __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
                if (likely(__pyx_t_4)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                  __Pyx_INCREF(__pyx_t_4);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_3, function);
                }
              }
              __pyx_t_40 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1038, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_40, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1038, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1038, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_t_40, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1038, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_3); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1038, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1038, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_4 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
                __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_40);
                if (likely(__pyx_t_4)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
                  __Pyx_INCREF(__pyx_t_4);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_40, function);
                }
              }
              __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_4, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1038, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1038, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_40); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1038, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_3); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1038, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_24 = __pyx_t_21; __pyx_t_24 < __pyx_t_22; __pyx_t_24+=1) {
                __pyx_v_i = __pyx_t_24;
+1039:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 1040:                         else:
+1041:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1041, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1041, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_24));
            }
            __pyx_L630:;
+1042:                     regen_survival.push_back(set_temp)
          try {
            __pyx_v_9CACompute_regen_survival.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1042, __pyx_L1_error)
          }
 1043: 
+1044:                     try: naive_lst.push_back(re.split(b"rg|l|b|s|rb|rs|nn", individual_rule_string)[7])
          {
            /*try:*/ {
              __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_re); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1044, __pyx_L633_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1044, __pyx_L633_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1044, __pyx_L633_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_4 = NULL;
              __pyx_t_24 = 0;
              if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_40))) {
                __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_40);
                if (likely(__pyx_t_4)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
                  __Pyx_INCREF(__pyx_t_4);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_40, function);
                  __pyx_t_24 = 1;
                }
              }
              #if CYTHON_FAST_PYCALL
              if (PyFunction_Check(__pyx_t_40)) {
                PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_3};
                __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_40, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1044, __pyx_L633_error)
                __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
                __Pyx_GOTREF(__pyx_t_2);
                __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              } else
              #endif
              #if CYTHON_FAST_PYCCALL
              if (__Pyx_PyFastCFunction_Check(__pyx_t_40)) {
                PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_3};
                __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_40, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1044, __pyx_L633_error)
                __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
                __Pyx_GOTREF(__pyx_t_2);
                __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              } else
              #endif
              {
                __pyx_t_39 = PyTuple_New(2+__pyx_t_24); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1044, __pyx_L633_error)
                __Pyx_GOTREF(__pyx_t_39);
                if (__pyx_t_4) {
                  __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_39, 0, __pyx_t_4); __pyx_t_4 = NULL;
                }
                __Pyx_INCREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
                __Pyx_GIVEREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
                PyTuple_SET_ITEM(__pyx_t_39, 0+__pyx_t_24, __pyx_kp_b_rg_l_b_s_rb_rs_nn);
                __Pyx_GIVEREF(__pyx_t_3);
                PyTuple_SET_ITEM(__pyx_t_39, 1+__pyx_t_24, __pyx_t_3);
                __pyx_t_3 = 0;
                __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_40, __pyx_t_39, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1044, __pyx_L633_error)
                __Pyx_GOTREF(__pyx_t_2);
                __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              }
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_2, 7, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1044, __pyx_L633_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_t_40); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1044, __pyx_L633_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 1044, __pyx_L633_error)
              }
            }
            __Pyx_XDECREF(__pyx_t_38); __pyx_t_38 = 0;
            __Pyx_XDECREF(__pyx_t_37); __pyx_t_37 = 0;
            __Pyx_XDECREF(__pyx_t_36); __pyx_t_36 = 0;
            goto __pyx_L640_try_end;
            __pyx_L633_error:;
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
/* … */
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_ExceptionReset(__pyx_t_38, __pyx_t_37, __pyx_t_36);
            goto __pyx_L1_error;
            __pyx_L634_exception_handled:;
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_ExceptionReset(__pyx_t_38, __pyx_t_37, __pyx_t_36);
            __pyx_L640_try_end:;
          }
        }
        __pyx_L582:;
+1045:                     except IndexError: naive_lst.push_back(b"-1")
            __pyx_t_24 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_IndexError);
            if (__pyx_t_24) {
              __Pyx_AddTraceback("CACompute.load", __pyx_clineno, __pyx_lineno, __pyx_filename);
              if (__Pyx_GetException(&__pyx_t_40, &__pyx_t_2, &__pyx_t_39) < 0) __PYX_ERR(0, 1045, __pyx_L635_except_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_kp_b_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1045, __pyx_L635_except_error)
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 1045, __pyx_L635_except_error)
              }
              __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
              __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
              __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
              goto __pyx_L634_exception_handled;
            }
            goto __pyx_L635_except_error;
            __pyx_L635_except_error:;
+1046:             elif bsconditions == b"Double Totalistic":
      __pyx_t_8 = ((__pyx_v_9CACompute_bsconditions == ((char const *)"Double Totalistic")) != 0);
      if (__pyx_t_8) {
/* … */
        goto __pyx_L581;
      }
+1047:                 if individual_rule_string.find(b"/") != -1:
        __pyx_t_8 = ((__pyx_v_individual_rule_string.find(__pyx_k__13) != -1L) != 0);
        if (__pyx_t_8) {
/* … */
          goto __pyx_L643;
        }
+1048:                     birth_state = int(individual_rule_string.split(b"/")[1])
          __pyx_t_2 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1048, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1048, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
            __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_40);
            if (likely(__pyx_t_2)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
              __Pyx_INCREF(__pyx_t_2);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_40, function);
            }
          }
          __pyx_t_39 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_2, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1048, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_39, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1048, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_t_40); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1048, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_39); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1048, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_v_9CACompute_birth_state = __pyx_t_24;
 1049: 
+1050:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+1051:                     for x in re.findall(b"\((.*?)\)", individual_rule_string.split(b"/")[2])[0].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_re); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1051, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_findall); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1051, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_4 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1051, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1051, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_13);
            if (likely(__pyx_t_4)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
              __Pyx_INCREF(__pyx_t_4);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_13, function);
            }
          }
          __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_4, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1051, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_2, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1051, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_2)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_2);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_b__15, __pyx_t_13};
            __pyx_t_40 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1051, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_b__15, __pyx_t_13};
            __pyx_t_40 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1051, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          {
            __pyx_t_4 = PyTuple_New(2+__pyx_t_24); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1051, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            if (__pyx_t_2) {
              __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_kp_b__15);
            PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_24, __pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_t_13);
            PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_24, __pyx_t_13);
            __pyx_t_13 = 0;
            __pyx_t_40 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1051, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_40, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1051, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1051, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_40);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_40, function);
            }
          }
          __pyx_t_39 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_3, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1051, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          if (likely(PyList_CheckExact(__pyx_t_39)) || PyTuple_CheckExact(__pyx_t_39)) {
            __pyx_t_40 = __pyx_t_39; __Pyx_INCREF(__pyx_t_40); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_40 = PyObject_GetIter(__pyx_t_39); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1051, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __pyx_t_7 = Py_TYPE(__pyx_t_40)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1051, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_40))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_40)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_39 = PyList_GET_ITEM(__pyx_t_40, __pyx_t_6); __Pyx_INCREF(__pyx_t_39); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1051, __pyx_L1_error)
                #else
                __pyx_t_39 = PySequence_ITEM(__pyx_t_40, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1051, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_39);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_40)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_39 = PyTuple_GET_ITEM(__pyx_t_40, __pyx_t_6); __Pyx_INCREF(__pyx_t_39); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1051, __pyx_L1_error)
                #else
                __pyx_t_39 = PySequence_ITEM(__pyx_t_40, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1051, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_39);
                #endif
              }
            } else {
              __pyx_t_39 = __pyx_t_7(__pyx_t_40);
              if (unlikely(!__pyx_t_39)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 1051, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_39);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_39);
            __pyx_t_39 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
+1052:                         if x.find(b"-") != -1:
            __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1052, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_4 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
              __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
              if (likely(__pyx_t_4)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                __Pyx_INCREF(__pyx_t_4);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_3, function);
              }
            }
            __pyx_t_39 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1052, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            __pyx_t_3 = __Pyx_PyInt_NeObjC(__pyx_t_39, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1052, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 1052, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L646;
            }
+1053:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1053, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_4 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
                __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_39);
                if (likely(__pyx_t_4)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
                  __Pyx_INCREF(__pyx_t_4);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_39, function);
                }
              }
              __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_4, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1053, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_3, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1053, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_39); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1053, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_PyInt_AddObjC(__pyx_t_3, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1053, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_39); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1053, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1053, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_4 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
                __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
                if (likely(__pyx_t_4)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                  __Pyx_INCREF(__pyx_t_4);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_3, function);
                }
              }
              __pyx_t_39 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1053, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_39, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1053, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1053, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_39); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1053, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_24 = __pyx_t_22; __pyx_t_24 < __pyx_t_21; __pyx_t_24+=1) {
                __pyx_v_i = __pyx_t_24;
+1054:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 1055:                         else:
+1056:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1056, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_39); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1056, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_24));
            }
            __pyx_L646:;
+1057:                     birth.push_back(set_temp)
          try {
            __pyx_v_9CACompute_birth.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1057, __pyx_L1_error)
          }
 1058: 
+1059:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+1060:                     for x in re.findall(b"\((.*?)\)", individual_rule_string.split(b"/")[3])[0].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_re); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1060, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_findall); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1060, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_13 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1060, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1060, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
            }
          }
          __pyx_t_3 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_13, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1060, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_3, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1060, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_b__15, __pyx_t_2};
            __pyx_t_39 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1060, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_b__15, __pyx_t_2};
            __pyx_t_39 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1060, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          } else
          #endif
          {
            __pyx_t_13 = PyTuple_New(2+__pyx_t_24); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1060, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            if (__pyx_t_3) {
              __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_3); __pyx_t_3 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_kp_b__15);
            PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_24, __pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_t_2);
            PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_24, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_39 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_13, NULL); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1060, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_39, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1060, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1060, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_39);
            if (likely(__pyx_t_4)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
              __Pyx_INCREF(__pyx_t_4);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_39, function);
            }
          }
          __pyx_t_40 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_4, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1060, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          if (likely(PyList_CheckExact(__pyx_t_40)) || PyTuple_CheckExact(__pyx_t_40)) {
            __pyx_t_39 = __pyx_t_40; __Pyx_INCREF(__pyx_t_39); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_39 = PyObject_GetIter(__pyx_t_40); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1060, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __pyx_t_7 = Py_TYPE(__pyx_t_39)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1060, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_39))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_39)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_40 = PyList_GET_ITEM(__pyx_t_39, __pyx_t_6); __Pyx_INCREF(__pyx_t_40); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1060, __pyx_L1_error)
                #else
                __pyx_t_40 = PySequence_ITEM(__pyx_t_39, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1060, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_40);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_39)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_40 = PyTuple_GET_ITEM(__pyx_t_39, __pyx_t_6); __Pyx_INCREF(__pyx_t_40); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1060, __pyx_L1_error)
                #else
                __pyx_t_40 = PySequence_ITEM(__pyx_t_39, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1060, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_40);
                #endif
              }
            } else {
              __pyx_t_40 = __pyx_t_7(__pyx_t_39);
              if (unlikely(!__pyx_t_40)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 1060, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_40);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_40);
            __pyx_t_40 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
+1061:                         if x.find(b"-") != -1:
            __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1061, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_13 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
              __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_4);
              if (likely(__pyx_t_13)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                __Pyx_INCREF(__pyx_t_13);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_4, function);
              }
            }
            __pyx_t_40 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1061, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_4 = __Pyx_PyInt_NeObjC(__pyx_t_40, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1061, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 1061, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L651;
            }
+1062:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1062, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_13 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
                __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_40);
                if (likely(__pyx_t_13)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
                  __Pyx_INCREF(__pyx_t_13);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_40, function);
                }
              }
              __pyx_t_4 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1062, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_4, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1062, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_40); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1062, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1062, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_40); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1062, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1062, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_13 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
                __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_4);
                if (likely(__pyx_t_13)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                  __Pyx_INCREF(__pyx_t_13);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_4, function);
                }
              }
              __pyx_t_40 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1062, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_40, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1062, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1062, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_40); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1062, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_24 = __pyx_t_21; __pyx_t_24 < __pyx_t_22; __pyx_t_24+=1) {
                __pyx_v_i = __pyx_t_24;
+1063:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 1064:                         else:
+1065:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1065, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_40); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1065, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_24));
            }
            __pyx_L651:;
+1066:                     survival.push_back(set_temp)
          try {
            __pyx_v_9CACompute_survival.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1066, __pyx_L1_error)
          }
 1067: 
+1068:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+1069:                     for x in re.sub(b"\(.*?\)", b"", individual_rule_string.split(b"/")[2]).split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_re); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1069, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_sub); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1069, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_2 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1069, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1069, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_2)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_2);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
            }
          }
          __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1069, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_4, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1069, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_13);
            if (likely(__pyx_t_4)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
              __Pyx_INCREF(__pyx_t_4);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_13, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_13)) {
            PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_3};
            __pyx_t_40 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_24, 3+__pyx_t_24); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1069, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) {
            PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_3};
            __pyx_t_40 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_24, 3+__pyx_t_24); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1069, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          } else
          #endif
          {
            __pyx_t_2 = PyTuple_New(3+__pyx_t_24); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1069, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (__pyx_t_4) {
              __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); __pyx_t_4 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__16);
            __Pyx_GIVEREF(__pyx_kp_b__16);
            PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_24, __pyx_kp_b__16);
            __Pyx_INCREF(__pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_kp_b_);
            PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_24, __pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_t_3);
            PyTuple_SET_ITEM(__pyx_t_2, 2+__pyx_t_24, __pyx_t_3);
            __pyx_t_3 = 0;
            __pyx_t_40 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_2, NULL); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1069, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1069, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
            __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_13);
            if (likely(__pyx_t_40)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
              __Pyx_INCREF(__pyx_t_40);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_13, function);
            }
          }
          __pyx_t_39 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_40, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
          if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1069, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          if (likely(PyList_CheckExact(__pyx_t_39)) || PyTuple_CheckExact(__pyx_t_39)) {
            __pyx_t_13 = __pyx_t_39; __Pyx_INCREF(__pyx_t_13); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_13 = PyObject_GetIter(__pyx_t_39); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1069, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __pyx_t_7 = Py_TYPE(__pyx_t_13)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1069, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_13))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_13)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_39 = PyList_GET_ITEM(__pyx_t_13, __pyx_t_6); __Pyx_INCREF(__pyx_t_39); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1069, __pyx_L1_error)
                #else
                __pyx_t_39 = PySequence_ITEM(__pyx_t_13, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1069, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_39);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_13)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_39 = PyTuple_GET_ITEM(__pyx_t_13, __pyx_t_6); __Pyx_INCREF(__pyx_t_39); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1069, __pyx_L1_error)
                #else
                __pyx_t_39 = PySequence_ITEM(__pyx_t_13, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1069, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_39);
                #endif
              }
            } else {
              __pyx_t_39 = __pyx_t_7(__pyx_t_13);
              if (unlikely(!__pyx_t_39)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 1069, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_39);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_39);
            __pyx_t_39 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+1070:                         if x.find(b"-") != -1:
            __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1070, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __pyx_t_2 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
              __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_40);
              if (likely(__pyx_t_2)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
                __Pyx_INCREF(__pyx_t_2);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_40, function);
              }
            }
            __pyx_t_39 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_2, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1070, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
            __pyx_t_40 = __Pyx_PyInt_NeObjC(__pyx_t_39, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1070, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_40); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 1070, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L656;
            }
+1071:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1071, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_2 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
                __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_39);
                if (likely(__pyx_t_2)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
                  __Pyx_INCREF(__pyx_t_2);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_39, function);
                }
              }
              __pyx_t_40 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_2, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
              if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1071, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_40, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1071, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_t_39); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1071, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_PyInt_AddObjC(__pyx_t_40, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1071, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_39); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1071, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1071, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_2 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
                __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_40);
                if (likely(__pyx_t_2)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
                  __Pyx_INCREF(__pyx_t_2);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_40, function);
                }
              }
              __pyx_t_39 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_2, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
              if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1071, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_39, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1071, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_t_40); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1071, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_39); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1071, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_24 = __pyx_t_22; __pyx_t_24 < __pyx_t_21; __pyx_t_24+=1) {
                __pyx_v_i = __pyx_t_24;
+1072:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 1073:                         else:
+1074:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1074, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_39); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1074, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_24));
            }
            __pyx_L656:;
+1075:                     other_birth.push_back(set_temp)
          try {
            __pyx_v_9CACompute_other_birth.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1075, __pyx_L1_error)
          }
 1076: 
+1077:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+1078:                     for x in re.sub(b"\(.*?\)", b"", individual_rule_string.split(b"/")[3]).split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_re); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1078, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_sub); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1078, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1078, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1078, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
            }
          }
          __pyx_t_40 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1078, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_40, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1078, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_40)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_40);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_2)) {
            PyObject *__pyx_temp[4] = {__pyx_t_40, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_4};
            __pyx_t_39 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_24, 3+__pyx_t_24); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1078, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
            PyObject *__pyx_temp[4] = {__pyx_t_40, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_4};
            __pyx_t_39 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_24, 3+__pyx_t_24); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1078, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          {
            __pyx_t_3 = PyTuple_New(3+__pyx_t_24); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1078, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            if (__pyx_t_40) {
              __Pyx_GIVEREF(__pyx_t_40); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_40); __pyx_t_40 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__16);
            __Pyx_GIVEREF(__pyx_kp_b__16);
            PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_24, __pyx_kp_b__16);
            __Pyx_INCREF(__pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_kp_b_);
            PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_24, __pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_t_4);
            PyTuple_SET_ITEM(__pyx_t_3, 2+__pyx_t_24, __pyx_t_4);
            __pyx_t_4 = 0;
            __pyx_t_39 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1078, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1078, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_39)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_39);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
            }
          }
          __pyx_t_13 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_39, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
          if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1078, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (likely(PyList_CheckExact(__pyx_t_13)) || PyTuple_CheckExact(__pyx_t_13)) {
            __pyx_t_2 = __pyx_t_13; __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1078, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_7 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1078, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_2)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_13 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_13); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1078, __pyx_L1_error)
                #else
                __pyx_t_13 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1078, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_13);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_13 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_13); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1078, __pyx_L1_error)
                #else
                __pyx_t_13 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1078, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_13);
                #endif
              }
            } else {
              __pyx_t_13 = __pyx_t_7(__pyx_t_2);
              if (unlikely(!__pyx_t_13)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 1078, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_13);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_13);
            __pyx_t_13 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1079:                         if x.find(b"-") != -1:
            __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1079, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __pyx_t_3 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
              __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_39);
              if (likely(__pyx_t_3)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
                __Pyx_INCREF(__pyx_t_3);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_39, function);
              }
            }
            __pyx_t_13 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1079, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
            __pyx_t_39 = __Pyx_PyInt_NeObjC(__pyx_t_13, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1079, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_39); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 1079, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L661;
            }
+1080:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1080, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_3 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
                __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_13);
                if (likely(__pyx_t_3)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
                  __Pyx_INCREF(__pyx_t_3);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_13, function);
                }
              }
              __pyx_t_39 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1080, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_39, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1080, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_t_13); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1080, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_PyInt_AddObjC(__pyx_t_39, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1080, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_13); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1080, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1080, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_3 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
                __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_39);
                if (likely(__pyx_t_3)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
                  __Pyx_INCREF(__pyx_t_3);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_39, function);
                }
              }
              __pyx_t_13 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1080, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_13, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1080, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_t_39); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1080, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_13); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1080, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_24 = __pyx_t_21; __pyx_t_24 < __pyx_t_22; __pyx_t_24+=1) {
                __pyx_v_i = __pyx_t_24;
+1081:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 1082:                         else:
+1083:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1083, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_13); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1083, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_24));
            }
            __pyx_L661:;
+1084:                     other_survival.push_back(set_temp)
          try {
            __pyx_v_9CACompute_other_survival.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1084, __pyx_L1_error)
          }
 1085: 
+1086:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+1087:                     for x in re.findall(b"\((.*?)\)", individual_rule_string.split(b"/")[4])[0].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_39, __pyx_n_s_re); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1087, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_findall); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1087, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_4 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1087, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1087, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_40);
            if (likely(__pyx_t_4)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
              __Pyx_INCREF(__pyx_t_4);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_40, function);
            }
          }
          __pyx_t_39 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_4, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1087, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_39, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1087, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_39)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_39);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[3] = {__pyx_t_39, __pyx_kp_b__15, __pyx_t_40};
            __pyx_t_13 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1087, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[3] = {__pyx_t_39, __pyx_kp_b__15, __pyx_t_40};
            __pyx_t_13 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1087, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          } else
          #endif
          {
            __pyx_t_4 = PyTuple_New(2+__pyx_t_24); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1087, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            if (__pyx_t_39) {
              __Pyx_GIVEREF(__pyx_t_39); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_39); __pyx_t_39 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_kp_b__15);
            PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_24, __pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_t_40);
            PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_24, __pyx_t_40);
            __pyx_t_40 = 0;
            __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1087, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_13, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1087, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1087, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_13);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_13, function);
            }
          }
          __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_3, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1087, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
            __pyx_t_13 = __pyx_t_2; __Pyx_INCREF(__pyx_t_13); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_13 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1087, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __pyx_t_7 = Py_TYPE(__pyx_t_13)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1087, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_13))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_13)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyList_GET_ITEM(__pyx_t_13, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1087, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_13, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1087, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_13)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_13, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1087, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_13, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1087, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              }
            } else {
              __pyx_t_2 = __pyx_t_7(__pyx_t_13);
              if (unlikely(!__pyx_t_2)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 1087, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_2);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
            __pyx_t_2 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+1088:                         if x.find(b"-") != -1:
            __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1088, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_4 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
              __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
              if (likely(__pyx_t_4)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                __Pyx_INCREF(__pyx_t_4);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_3, function);
              }
            }
            __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1088, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            __pyx_t_3 = __Pyx_PyInt_NeObjC(__pyx_t_2, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1088, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 1088, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L666;
            }
+1089:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1089, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_4 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
                __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
                if (likely(__pyx_t_4)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
                  __Pyx_INCREF(__pyx_t_4);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_2, function);
                }
              }
              __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1089, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_3, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1089, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1089, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_t_3, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1089, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1089, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1089, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_4 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
                __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
                if (likely(__pyx_t_4)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                  __Pyx_INCREF(__pyx_t_4);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_3, function);
                }
              }
              __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1089, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1089, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1089, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1089, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_24 = __pyx_t_22; __pyx_t_24 < __pyx_t_21; __pyx_t_24+=1) {
                __pyx_v_i = __pyx_t_24;
+1090:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 1091:                         else:
+1092:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1092, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1092, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_24));
            }
            __pyx_L666:;
+1093:                     regen_birth.push_back(set_temp)
          try {
            __pyx_v_9CACompute_regen_birth.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1093, __pyx_L1_error)
          }
 1094: 
+1095:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+1096:                     for x in re.findall(b"\((.*?)\)", individual_rule_string.split(b"/")[5])[0].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_re); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1096, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_findall); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1096, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_40 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1096, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1096, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
            __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_39);
            if (likely(__pyx_t_40)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
              __Pyx_INCREF(__pyx_t_40);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_39, function);
            }
          }
          __pyx_t_3 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_40, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1096, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_3, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1096, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_b__15, __pyx_t_39};
            __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1096, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_b__15, __pyx_t_39};
            __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1096, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          } else
          #endif
          {
            __pyx_t_40 = PyTuple_New(2+__pyx_t_24); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1096, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            if (__pyx_t_3) {
              __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_40, 0, __pyx_t_3); __pyx_t_3 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_kp_b__15);
            PyTuple_SET_ITEM(__pyx_t_40, 0+__pyx_t_24, __pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_t_39);
            PyTuple_SET_ITEM(__pyx_t_40, 1+__pyx_t_24, __pyx_t_39);
            __pyx_t_39 = 0;
            __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_40, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1096, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1096, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1096, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_4)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_4);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
            }
          }
          __pyx_t_13 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1096, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (likely(PyList_CheckExact(__pyx_t_13)) || PyTuple_CheckExact(__pyx_t_13)) {
            __pyx_t_2 = __pyx_t_13; __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1096, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_7 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1096, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_2)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_13 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_13); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1096, __pyx_L1_error)
                #else
                __pyx_t_13 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1096, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_13);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_13 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_13); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1096, __pyx_L1_error)
                #else
                __pyx_t_13 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1096, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_13);
                #endif
              }
            } else {
              __pyx_t_13 = __pyx_t_7(__pyx_t_2);
              if (unlikely(!__pyx_t_13)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 1096, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_13);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_13);
            __pyx_t_13 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1097:                         if x.find(b"-") != -1:
            __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1097, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_40 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
              __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_4);
              if (likely(__pyx_t_40)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                __Pyx_INCREF(__pyx_t_40);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_4, function);
              }
            }
            __pyx_t_13 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_40, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1097, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_4 = __Pyx_PyInt_NeObjC(__pyx_t_13, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1097, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 1097, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L671;
            }
+1098:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1098, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_40 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
                __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_13);
                if (likely(__pyx_t_40)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
                  __Pyx_INCREF(__pyx_t_40);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_13, function);
                }
              }
              __pyx_t_4 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_40, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
              if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1098, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_4, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1098, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_13); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1098, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1098, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_13); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1098, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1098, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_40 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
                __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_4);
                if (likely(__pyx_t_40)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                  __Pyx_INCREF(__pyx_t_40);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_4, function);
                }
              }
              __pyx_t_13 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_40, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
              if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1098, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_13, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1098, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1098, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_13); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1098, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_24 = __pyx_t_21; __pyx_t_24 < __pyx_t_22; __pyx_t_24+=1) {
                __pyx_v_i = __pyx_t_24;
+1099:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 1100:                         else:
+1101:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1101, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_13); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1101, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_24));
            }
            __pyx_L671:;
+1102:                     regen_survival.push_back(set_temp)
          try {
            __pyx_v_9CACompute_regen_survival.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1102, __pyx_L1_error)
          }
 1103: 
+1104:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+1105:                     for x in re.sub(b"\(.*?\)", b"", individual_rule_string.split(b"/")[4]).split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_re); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1105, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_sub); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1105, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_39 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1105, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1105, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_39)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_39);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
            }
          }
          __pyx_t_4 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_39, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
          if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1105, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_4, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1105, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_40))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_40);
            if (likely(__pyx_t_4)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
              __Pyx_INCREF(__pyx_t_4);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_40, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_40)) {
            PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_3};
            __pyx_t_13 = __Pyx_PyFunction_FastCall(__pyx_t_40, __pyx_temp+1-__pyx_t_24, 3+__pyx_t_24); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1105, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_40)) {
            PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_3};
            __pyx_t_13 = __Pyx_PyCFunction_FastCall(__pyx_t_40, __pyx_temp+1-__pyx_t_24, 3+__pyx_t_24); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1105, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          } else
          #endif
          {
            __pyx_t_39 = PyTuple_New(3+__pyx_t_24); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1105, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            if (__pyx_t_4) {
              __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_39, 0, __pyx_t_4); __pyx_t_4 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__16);
            __Pyx_GIVEREF(__pyx_kp_b__16);
            PyTuple_SET_ITEM(__pyx_t_39, 0+__pyx_t_24, __pyx_kp_b__16);
            __Pyx_INCREF(__pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_kp_b_);
            PyTuple_SET_ITEM(__pyx_t_39, 1+__pyx_t_24, __pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_t_3);
            PyTuple_SET_ITEM(__pyx_t_39, 2+__pyx_t_24, __pyx_t_3);
            __pyx_t_3 = 0;
            __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_40, __pyx_t_39, NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1105, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1105, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_40);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_40, function);
            }
          }
          __pyx_t_2 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_13, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1105, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
            __pyx_t_40 = __pyx_t_2; __Pyx_INCREF(__pyx_t_40); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_40 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1105, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __pyx_t_7 = Py_TYPE(__pyx_t_40)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1105, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_40))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_40)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyList_GET_ITEM(__pyx_t_40, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1105, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_40, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1105, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_40)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_40, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1105, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_40, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1105, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              }
            } else {
              __pyx_t_2 = __pyx_t_7(__pyx_t_40);
              if (unlikely(!__pyx_t_2)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 1105, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_2);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
            __pyx_t_2 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
+1106:                         if x.find(b"-") != -1:
            __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1106, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __pyx_t_39 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
              __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_13);
              if (likely(__pyx_t_39)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
                __Pyx_INCREF(__pyx_t_39);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_13, function);
              }
            }
            __pyx_t_2 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_39, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1106, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            __pyx_t_13 = __Pyx_PyInt_NeObjC(__pyx_t_2, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1106, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 1106, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L676;
            }
+1107:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1107, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_39 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
                __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_2);
                if (likely(__pyx_t_39)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
                  __Pyx_INCREF(__pyx_t_39);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_2, function);
                }
              }
              __pyx_t_13 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_39, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
              if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1107, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_13, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1107, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1107, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_t_13, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1107, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1107, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1107, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_39 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
                __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_13);
                if (likely(__pyx_t_39)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
                  __Pyx_INCREF(__pyx_t_39);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_13, function);
                }
              }
              __pyx_t_2 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_39, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
              if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1107, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1107, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_13); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1107, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1107, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_24 = __pyx_t_22; __pyx_t_24 < __pyx_t_21; __pyx_t_24+=1) {
                __pyx_v_i = __pyx_t_24;
+1108:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 1109:                         else:
+1110:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1110, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1110, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_24));
            }
            __pyx_L676:;
+1111:                     other_regen_birth.push_back(set_temp)
          try {
            __pyx_v_9CACompute_other_regen_birth.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1111, __pyx_L1_error)
          }
 1112: 
+1113:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+1114:                     for x in re.sub(b"\(.*?\)", b"", individual_rule_string.split(b"/")[5]).split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_re); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1114, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_sub); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1114, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1114, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1114, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
            }
          }
          __pyx_t_13 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_3, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1114, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_13, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1114, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_39))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_39);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_39, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_39)) {
            PyObject *__pyx_temp[4] = {__pyx_t_13, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_4};
            __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_39, __pyx_temp+1-__pyx_t_24, 3+__pyx_t_24); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1114, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_39)) {
            PyObject *__pyx_temp[4] = {__pyx_t_13, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_4};
            __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_39, __pyx_temp+1-__pyx_t_24, 3+__pyx_t_24); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1114, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          {
            __pyx_t_3 = PyTuple_New(3+__pyx_t_24); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1114, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            if (__pyx_t_13) {
              __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_13); __pyx_t_13 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__16);
            __Pyx_GIVEREF(__pyx_kp_b__16);
            PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_24, __pyx_kp_b__16);
            __Pyx_INCREF(__pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_kp_b_);
            PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_24, __pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_t_4);
            PyTuple_SET_ITEM(__pyx_t_3, 2+__pyx_t_24, __pyx_t_4);
            __pyx_t_4 = 0;
            __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_39, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1114, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1114, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
            __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_39);
            if (likely(__pyx_t_2)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
              __Pyx_INCREF(__pyx_t_2);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_39, function);
            }
          }
          __pyx_t_40 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_2, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1114, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          if (likely(PyList_CheckExact(__pyx_t_40)) || PyTuple_CheckExact(__pyx_t_40)) {
            __pyx_t_39 = __pyx_t_40; __Pyx_INCREF(__pyx_t_39); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_39 = PyObject_GetIter(__pyx_t_40); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1114, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __pyx_t_7 = Py_TYPE(__pyx_t_39)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1114, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_39))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_39)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_40 = PyList_GET_ITEM(__pyx_t_39, __pyx_t_6); __Pyx_INCREF(__pyx_t_40); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1114, __pyx_L1_error)
                #else
                __pyx_t_40 = PySequence_ITEM(__pyx_t_39, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1114, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_40);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_39)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_40 = PyTuple_GET_ITEM(__pyx_t_39, __pyx_t_6); __Pyx_INCREF(__pyx_t_40); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1114, __pyx_L1_error)
                #else
                __pyx_t_40 = PySequence_ITEM(__pyx_t_39, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1114, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_40);
                #endif
              }
            } else {
              __pyx_t_40 = __pyx_t_7(__pyx_t_39);
              if (unlikely(!__pyx_t_40)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 1114, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_40);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_40);
            __pyx_t_40 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
+1115:                         if x.find(b"-") != -1:
            __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1115, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_3 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
              __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
              if (likely(__pyx_t_3)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
                __Pyx_INCREF(__pyx_t_3);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_2, function);
              }
            }
            __pyx_t_40 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1115, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __pyx_t_2 = __Pyx_PyInt_NeObjC(__pyx_t_40, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1115, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 1115, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L681;
            }
+1116:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1116, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_3 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
                __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_40);
                if (likely(__pyx_t_3)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
                  __Pyx_INCREF(__pyx_t_3);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_40, function);
                }
              }
              __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1116, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1116, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_40); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1116, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyInt_AddObjC(__pyx_t_2, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1116, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_40); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1116, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1116, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_3 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
                __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
                if (likely(__pyx_t_3)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
                  __Pyx_INCREF(__pyx_t_3);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_2, function);
                }
              }
              __pyx_t_40 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1116, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_40, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1116, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1116, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_40); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1116, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_24 = __pyx_t_21; __pyx_t_24 < __pyx_t_22; __pyx_t_24+=1) {
                __pyx_v_i = __pyx_t_24;
+1117:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 1118:                         else:
+1119:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1119, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_40); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1119, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_24));
            }
            __pyx_L681:;
+1120:                     other_regen_survival.push_back(set_temp)
          try {
            __pyx_v_9CACompute_other_regen_survival.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1120, __pyx_L1_error)
          }
 1121: 
+1122:                     try: naive_lst.push_back(individual_rule_string.split(b"/")[6])
          {
            /*try:*/ {
              __pyx_t_40 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1122, __pyx_L684_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1122, __pyx_L684_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
                __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_2);
                if (likely(__pyx_t_40)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
                  __Pyx_INCREF(__pyx_t_40);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_2, function);
                }
              }
              __pyx_t_39 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_40, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__13);
              __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
              if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1122, __pyx_L684_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_39, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1122, __pyx_L684_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1122, __pyx_L684_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 1122, __pyx_L684_error)
              }
            }
            __Pyx_XDECREF(__pyx_t_36); __pyx_t_36 = 0;
            __Pyx_XDECREF(__pyx_t_37); __pyx_t_37 = 0;
            __Pyx_XDECREF(__pyx_t_38); __pyx_t_38 = 0;
            goto __pyx_L691_try_end;
            __pyx_L684_error:;
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
/* … */
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_ExceptionReset(__pyx_t_36, __pyx_t_37, __pyx_t_38);
            goto __pyx_L1_error;
            __pyx_L685_exception_handled:;
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_ExceptionReset(__pyx_t_36, __pyx_t_37, __pyx_t_38);
            __pyx_L691_try_end:;
          }
+1123:                     except IndexError: naive_lst.push_back(b"-1")
            __pyx_t_24 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_IndexError);
            if (__pyx_t_24) {
              __Pyx_AddTraceback("CACompute.load", __pyx_clineno, __pyx_lineno, __pyx_filename);
              if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_39, &__pyx_t_40) < 0) __PYX_ERR(0, 1123, __pyx_L686_except_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_kp_b_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1123, __pyx_L686_except_error)
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 1123, __pyx_L686_except_error)
              }
              __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
              __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
              __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
              goto __pyx_L685_exception_handled;
            }
            goto __pyx_L686_except_error;
            __pyx_L686_except_error:;
 1124:                 else:
+1125:                     birth_state = int(re.split(b"rg|l|b|s|rb|rs|nn", individual_rule_string)[2])
        /*else*/ {
          __Pyx_GetModuleGlobalName(__pyx_t_39, __pyx_n_s_re); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1125, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1125, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1125, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __pyx_t_3 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_2)) {
            PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_39};
            __pyx_t_40 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1125, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
            PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_39};
            __pyx_t_40 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1125, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          } else
          #endif
          {
            __pyx_t_4 = PyTuple_New(2+__pyx_t_24); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1125, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            if (__pyx_t_3) {
              __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_24, __pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_t_39);
            PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_24, __pyx_t_39);
            __pyx_t_39 = 0;
            __pyx_t_40 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1125, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_40, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1125, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1125, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_40); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1125, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_v_9CACompute_birth_state = __pyx_t_24;
 1126: 
+1127:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+1128:                     for x in re.findall(b"\((.*?)\)", re.split(b"rg|l|b|s|rb|rs|nn", individual_rule_string)[3])[0].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_re); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1128, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_findall); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1128, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_re); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1128, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1128, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1128, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_14 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) {
            __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_13);
            if (likely(__pyx_t_14)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
              __Pyx_INCREF(__pyx_t_14);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_13, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_13)) {
            PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_3};
            __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1128, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) {
            PyObject *__pyx_temp[3] = {__pyx_t_14, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_3};
            __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1128, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          } else
          #endif
          {
            __pyx_t_5 = PyTuple_New(2+__pyx_t_24); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1128, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            if (__pyx_t_14) {
              __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_14); __pyx_t_14 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_24, __pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_t_3);
            PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_24, __pyx_t_3);
            __pyx_t_3 = 0;
            __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1128, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          }
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_4, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1128, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_39))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_39);
            if (likely(__pyx_t_4)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
              __Pyx_INCREF(__pyx_t_4);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_39, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_39)) {
            PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_b__15, __pyx_t_13};
            __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_39, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1128, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_39)) {
            PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_b__15, __pyx_t_13};
            __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_39, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1128, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          {
            __pyx_t_5 = PyTuple_New(2+__pyx_t_24); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1128, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            if (__pyx_t_4) {
              __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_kp_b__15);
            PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_24, __pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_t_13);
            PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_24, __pyx_t_13);
            __pyx_t_13 = 0;
            __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_39, __pyx_t_5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1128, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1128, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1128, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_39)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_39);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
            }
          }
          __pyx_t_40 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_39, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
          if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1128, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (likely(PyList_CheckExact(__pyx_t_40)) || PyTuple_CheckExact(__pyx_t_40)) {
            __pyx_t_2 = __pyx_t_40; __Pyx_INCREF(__pyx_t_2); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_40); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1128, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_7 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1128, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_2))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_2)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_40 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_40); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1128, __pyx_L1_error)
                #else
                __pyx_t_40 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1128, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_40);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_40 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_6); __Pyx_INCREF(__pyx_t_40); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1128, __pyx_L1_error)
                #else
                __pyx_t_40 = PySequence_ITEM(__pyx_t_2, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1128, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_40);
                #endif
              }
            } else {
              __pyx_t_40 = __pyx_t_7(__pyx_t_2);
              if (unlikely(!__pyx_t_40)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 1128, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_40);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_40);
            __pyx_t_40 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+1129:                         if x.find(b"-") != -1:
            __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1129, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __pyx_t_5 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
              __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_39);
              if (likely(__pyx_t_5)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
                __Pyx_INCREF(__pyx_t_5);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_39, function);
              }
            }
            __pyx_t_40 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_5, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1129, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
            __pyx_t_39 = __Pyx_PyInt_NeObjC(__pyx_t_40, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1129, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_39); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 1129, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L696;
            }
+1130:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1130, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_5 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
                __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_40);
                if (likely(__pyx_t_5)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
                  __Pyx_INCREF(__pyx_t_5);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_40, function);
                }
              }
              __pyx_t_39 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_5, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1130, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_39, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1130, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_t_40); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1130, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyInt_AddObjC(__pyx_t_39, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1130, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_40); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1130, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1130, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_5 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
                __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_39);
                if (likely(__pyx_t_5)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
                  __Pyx_INCREF(__pyx_t_5);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_39, function);
                }
              }
              __pyx_t_40 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_5, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1130, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_40, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1130, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_t_39); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1130, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_40); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1130, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_24 = __pyx_t_22; __pyx_t_24 < __pyx_t_21; __pyx_t_24+=1) {
                __pyx_v_i = __pyx_t_24;
+1131:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 1132:                         else:
+1133:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1133, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_40); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1133, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_24));
            }
            __pyx_L696:;
+1134:                     birth.push_back(set_temp)
          try {
            __pyx_v_9CACompute_birth.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1134, __pyx_L1_error)
          }
 1135: 
+1136:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+1137:                     for x in re.findall(b"\((.*?)\)", re.split(b"rg|l|b|s|rb|rs|nn", individual_rule_string)[4])[0].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_39, __pyx_n_s_re); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1137, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_findall); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1137, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_re); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1137, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1137, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1137, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_3 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_13};
            __pyx_t_39 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1137, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_13};
            __pyx_t_39 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1137, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          {
            __pyx_t_14 = PyTuple_New(2+__pyx_t_24); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1137, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            if (__pyx_t_3) {
              __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_3); __pyx_t_3 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_24, __pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_t_13);
            PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_24, __pyx_t_13);
            __pyx_t_13 = 0;
            __pyx_t_39 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_14, NULL); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1137, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_39, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1137, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_5);
            if (likely(__pyx_t_39)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_39);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_5, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_5)) {
            PyObject *__pyx_temp[3] = {__pyx_t_39, __pyx_kp_b__15, __pyx_t_4};
            __pyx_t_40 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1137, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
            PyObject *__pyx_temp[3] = {__pyx_t_39, __pyx_kp_b__15, __pyx_t_4};
            __pyx_t_40 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1137, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          {
            __pyx_t_14 = PyTuple_New(2+__pyx_t_24); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1137, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            if (__pyx_t_39) {
              __Pyx_GIVEREF(__pyx_t_39); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_39); __pyx_t_39 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_kp_b__15);
            PyTuple_SET_ITEM(__pyx_t_14, 0+__pyx_t_24, __pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_t_4);
            PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_24, __pyx_t_4);
            __pyx_t_4 = 0;
            __pyx_t_40 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_14, NULL); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1137, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_40, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1137, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1137, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_40);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_40, function);
            }
          }
          __pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_5, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1137, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
            __pyx_t_40 = __pyx_t_2; __Pyx_INCREF(__pyx_t_40); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_40 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1137, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __pyx_t_7 = Py_TYPE(__pyx_t_40)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1137, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_40))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_40)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyList_GET_ITEM(__pyx_t_40, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1137, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_40, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1137, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_40)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_40, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1137, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_40, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1137, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              }
            } else {
              __pyx_t_2 = __pyx_t_7(__pyx_t_40);
              if (unlikely(!__pyx_t_2)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 1137, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_2);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
            __pyx_t_2 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
+1138:                         if x.find(b"-") != -1:
            __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1138, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __pyx_t_14 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
              __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_5);
              if (likely(__pyx_t_14)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                __Pyx_INCREF(__pyx_t_14);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_5, function);
              }
            }
            __pyx_t_2 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_14, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1138, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            __pyx_t_5 = __Pyx_PyInt_NeObjC(__pyx_t_2, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1138, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 1138, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L701;
            }
+1139:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1139, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_14 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
                __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_2);
                if (likely(__pyx_t_14)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
                  __Pyx_INCREF(__pyx_t_14);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_2, function);
                }
              }
              __pyx_t_5 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_14, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
              if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1139, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_5, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1139, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1139, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_t_5, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1139, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1139, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1139, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_14 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
                __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_5);
                if (likely(__pyx_t_14)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                  __Pyx_INCREF(__pyx_t_14);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_5, function);
                }
              }
              __pyx_t_2 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_14, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
              if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1139, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_2, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1139, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1139, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_2); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1139, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_24 = __pyx_t_21; __pyx_t_24 < __pyx_t_22; __pyx_t_24+=1) {
                __pyx_v_i = __pyx_t_24;
+1140:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 1141:                         else:
+1142:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1142, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1142, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_24));
            }
            __pyx_L701:;
+1143:                     survival.push_back(set_temp)
          try {
            __pyx_v_9CACompute_survival.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1143, __pyx_L1_error)
          }
 1144: 
+1145:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+1146:                     for x in re.sub(b"\(.*?\)", b"", re.split(b"rg|l|b|s|rb|rs|nn", individual_rule_string)[3]).split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_re); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1146, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_sub); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1146, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_re); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1146, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1146, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1146, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_13 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_39))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_39);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_39, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_39)) {
            PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_4};
            __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_39, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1146, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_39)) {
            PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_4};
            __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_39, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1146, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          {
            __pyx_t_3 = PyTuple_New(2+__pyx_t_24); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1146, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            if (__pyx_t_13) {
              __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_13); __pyx_t_13 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_24, __pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_t_4);
            PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_24, __pyx_t_4);
            __pyx_t_4 = 0;
            __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_39, __pyx_t_3, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1146, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_5, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1146, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_14))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_14);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_14, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_14)) {
            PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_39};
            __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_24, 3+__pyx_t_24); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1146, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_14)) {
            PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_39};
            __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_14, __pyx_temp+1-__pyx_t_24, 3+__pyx_t_24); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1146, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          } else
          #endif
          {
            __pyx_t_3 = PyTuple_New(3+__pyx_t_24); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1146, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            if (__pyx_t_5) {
              __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_5); __pyx_t_5 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__16);
            __Pyx_GIVEREF(__pyx_kp_b__16);
            PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_24, __pyx_kp_b__16);
            __Pyx_INCREF(__pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_kp_b_);
            PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_24, __pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_t_39);
            PyTuple_SET_ITEM(__pyx_t_3, 2+__pyx_t_24, __pyx_t_39);
            __pyx_t_39 = 0;
            __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_14, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1146, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1146, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
            __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_14);
            if (likely(__pyx_t_2)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
              __Pyx_INCREF(__pyx_t_2);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_14, function);
            }
          }
          __pyx_t_40 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_2, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
          if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1146, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          if (likely(PyList_CheckExact(__pyx_t_40)) || PyTuple_CheckExact(__pyx_t_40)) {
            __pyx_t_14 = __pyx_t_40; __Pyx_INCREF(__pyx_t_14); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_14 = PyObject_GetIter(__pyx_t_40); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1146, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __pyx_t_7 = Py_TYPE(__pyx_t_14)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1146, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_14))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_14)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_40 = PyList_GET_ITEM(__pyx_t_14, __pyx_t_6); __Pyx_INCREF(__pyx_t_40); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1146, __pyx_L1_error)
                #else
                __pyx_t_40 = PySequence_ITEM(__pyx_t_14, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1146, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_40);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_14)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_40 = PyTuple_GET_ITEM(__pyx_t_14, __pyx_t_6); __Pyx_INCREF(__pyx_t_40); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1146, __pyx_L1_error)
                #else
                __pyx_t_40 = PySequence_ITEM(__pyx_t_14, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1146, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_40);
                #endif
              }
            } else {
              __pyx_t_40 = __pyx_t_7(__pyx_t_14);
              if (unlikely(!__pyx_t_40)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 1146, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_40);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_40);
            __pyx_t_40 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+1147:                         if x.find(b"-") != -1:
            __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1147, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_3 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
              __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
              if (likely(__pyx_t_3)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
                __Pyx_INCREF(__pyx_t_3);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_2, function);
              }
            }
            __pyx_t_40 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1147, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __pyx_t_2 = __Pyx_PyInt_NeObjC(__pyx_t_40, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1147, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 1147, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L706;
            }
+1148:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1148, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_3 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
                __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_40);
                if (likely(__pyx_t_3)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
                  __Pyx_INCREF(__pyx_t_3);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_40, function);
                }
              }
              __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1148, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1148, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_PyNumber_Int(__pyx_t_40); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1148, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyInt_AddObjC(__pyx_t_2, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1148, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_40); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1148, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1148, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_3 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
                __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
                if (likely(__pyx_t_3)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
                  __Pyx_INCREF(__pyx_t_3);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_2, function);
                }
              }
              __pyx_t_40 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1148, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_40, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1148, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1148, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_40); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1148, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_24 = __pyx_t_22; __pyx_t_24 < __pyx_t_21; __pyx_t_24+=1) {
                __pyx_v_i = __pyx_t_24;
+1149:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 1150:                         else:
+1151:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1151, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_40); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1151, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_24));
            }
            __pyx_L706:;
+1152:                     other_birth.push_back(set_temp)
          try {
            __pyx_v_9CACompute_other_birth.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1152, __pyx_L1_error)
          }
 1153: 
+1154:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+1155:                     for x in re.sub(b"\(.*?\)", b"", re.split(b"rg|l|b|s|rb|rs|nn", individual_rule_string)[4]).split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_re); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1155, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_sub); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1155, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __Pyx_GetModuleGlobalName(__pyx_t_39, __pyx_n_s_re); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1155, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1155, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1155, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __pyx_t_4 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
            if (likely(__pyx_t_4)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_4);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_5, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_5)) {
            PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_39};
            __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1155, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
            PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_39};
            __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1155, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          } else
          #endif
          {
            __pyx_t_13 = PyTuple_New(2+__pyx_t_24); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1155, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            if (__pyx_t_4) {
              __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_4); __pyx_t_4 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_24, __pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_t_39);
            PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_24, __pyx_t_39);
            __pyx_t_39 = 0;
            __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_13, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1155, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_2, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1155, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_2)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_2);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_5};
            __pyx_t_40 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_24, 3+__pyx_t_24); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1155, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
            PyObject *__pyx_temp[4] = {__pyx_t_2, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_5};
            __pyx_t_40 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_24, 3+__pyx_t_24); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1155, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          {
            __pyx_t_13 = PyTuple_New(3+__pyx_t_24); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1155, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            if (__pyx_t_2) {
              __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_2); __pyx_t_2 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__16);
            __Pyx_GIVEREF(__pyx_kp_b__16);
            PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_24, __pyx_kp_b__16);
            __Pyx_INCREF(__pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_kp_b_);
            PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_24, __pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_t_5);
            PyTuple_SET_ITEM(__pyx_t_13, 2+__pyx_t_24, __pyx_t_5);
            __pyx_t_5 = 0;
            __pyx_t_40 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_13, NULL); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1155, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1155, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_40)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_40);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
            }
          }
          __pyx_t_14 = (__pyx_t_40) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_40, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
          if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1155, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (likely(PyList_CheckExact(__pyx_t_14)) || PyTuple_CheckExact(__pyx_t_14)) {
            __pyx_t_3 = __pyx_t_14; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_14); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1155, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1155, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_3))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_14 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_14); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1155, __pyx_L1_error)
                #else
                __pyx_t_14 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1155, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_14);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_14 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_14); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1155, __pyx_L1_error)
                #else
                __pyx_t_14 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1155, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_14);
                #endif
              }
            } else {
              __pyx_t_14 = __pyx_t_7(__pyx_t_3);
              if (unlikely(!__pyx_t_14)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 1155, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_14);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_14);
            __pyx_t_14 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1156:                         if x.find(b"-") != -1:
            __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1156, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __pyx_t_13 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
              __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_40);
              if (likely(__pyx_t_13)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
                __Pyx_INCREF(__pyx_t_13);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_40, function);
              }
            }
            __pyx_t_14 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1156, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
            __pyx_t_40 = __Pyx_PyInt_NeObjC(__pyx_t_14, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1156, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_40); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 1156, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L711;
            }
+1157:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1157, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_13 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
                __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_14);
                if (likely(__pyx_t_13)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
                  __Pyx_INCREF(__pyx_t_13);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_14, function);
                }
              }
              __pyx_t_40 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1157, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_40, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1157, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_PyNumber_Int(__pyx_t_14); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1157, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_PyInt_AddObjC(__pyx_t_40, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1157, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_14); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1157, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1157, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __pyx_t_13 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_40))) {
                __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_40);
                if (likely(__pyx_t_13)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
                  __Pyx_INCREF(__pyx_t_13);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_40, function);
                }
              }
              __pyx_t_14 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_40, __pyx_t_13, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_40, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
              if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1157, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_14, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1157, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_40);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_t_40); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1157, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_14); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1157, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_24 = __pyx_t_21; __pyx_t_24 < __pyx_t_22; __pyx_t_24+=1) {
                __pyx_v_i = __pyx_t_24;
+1158:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 1159:                         else:
+1160:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1160, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_14); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1160, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_24));
            }
            __pyx_L711:;
+1161:                     other_survival.push_back(set_temp)
          try {
            __pyx_v_9CACompute_other_survival.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1161, __pyx_L1_error)
          }
 1162: 
+1163:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+1164:                     for x in re.findall(b"\((.*?)\)", re.split(b"rg|l|b|s|rb|rs|nn", individual_rule_string)[5])[0].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_re); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1164, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_findall); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1164, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_re); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1164, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1164, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1164, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_39 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_39)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_39);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_2)) {
            PyObject *__pyx_temp[3] = {__pyx_t_39, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_5};
            __pyx_t_40 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1164, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
            PyObject *__pyx_temp[3] = {__pyx_t_39, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_5};
            __pyx_t_40 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1164, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          {
            __pyx_t_4 = PyTuple_New(2+__pyx_t_24); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1164, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            if (__pyx_t_39) {
              __Pyx_GIVEREF(__pyx_t_39); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_39); __pyx_t_39 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_24, __pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_t_5);
            PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_24, __pyx_t_5);
            __pyx_t_5 = 0;
            __pyx_t_40 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1164, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_40);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_40, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1164, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) {
            __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_13);
            if (likely(__pyx_t_40)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
              __Pyx_INCREF(__pyx_t_40);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_13, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_13)) {
            PyObject *__pyx_temp[3] = {__pyx_t_40, __pyx_kp_b__15, __pyx_t_2};
            __pyx_t_14 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1164, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) {
            PyObject *__pyx_temp[3] = {__pyx_t_40, __pyx_kp_b__15, __pyx_t_2};
            __pyx_t_14 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1164, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          } else
          #endif
          {
            __pyx_t_4 = PyTuple_New(2+__pyx_t_24); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1164, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            if (__pyx_t_40) {
              __Pyx_GIVEREF(__pyx_t_40); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_40); __pyx_t_40 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_kp_b__15);
            PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_24, __pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_t_2);
            PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_24, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_4, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1164, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          }
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_14, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1164, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1164, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_14);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_14, function);
            }
          }
          __pyx_t_3 = (__pyx_t_13) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_13, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1164, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
            __pyx_t_14 = __pyx_t_3; __Pyx_INCREF(__pyx_t_14); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_14 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1164, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __pyx_t_7 = Py_TYPE(__pyx_t_14)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1164, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_14))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_14)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_3 = PyList_GET_ITEM(__pyx_t_14, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1164, __pyx_L1_error)
                #else
                __pyx_t_3 = PySequence_ITEM(__pyx_t_14, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1164, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_3);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_14)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_14, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1164, __pyx_L1_error)
                #else
                __pyx_t_3 = PySequence_ITEM(__pyx_t_14, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1164, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_3);
                #endif
              }
            } else {
              __pyx_t_3 = __pyx_t_7(__pyx_t_14);
              if (unlikely(!__pyx_t_3)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 1164, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_3);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_3);
            __pyx_t_3 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+1165:                         if x.find(b"-") != -1:
            __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1165, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __pyx_t_4 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
              __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_13);
              if (likely(__pyx_t_4)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
                __Pyx_INCREF(__pyx_t_4);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_13, function);
              }
            }
            __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_4, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1165, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            __pyx_t_13 = __Pyx_PyInt_NeObjC(__pyx_t_3, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1165, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_13); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 1165, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L716;
            }
+1166:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1166, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_4 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
                __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
                if (likely(__pyx_t_4)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                  __Pyx_INCREF(__pyx_t_4);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_3, function);
                }
              }
              __pyx_t_13 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1166, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_13, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1166, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1166, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_t_13, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1166, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_3); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1166, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1166, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __pyx_t_4 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_13))) {
                __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_13);
                if (likely(__pyx_t_4)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
                  __Pyx_INCREF(__pyx_t_4);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_13, function);
                }
              }
              __pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_4, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1166, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1166, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_13);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_13); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1166, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_3); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1166, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_24 = __pyx_t_22; __pyx_t_24 < __pyx_t_21; __pyx_t_24+=1) {
                __pyx_v_i = __pyx_t_24;
+1167:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 1168:                         else:
+1169:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1169, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1169, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_24));
            }
            __pyx_L716:;
+1170:                     regen_birth.push_back(set_temp)
          try {
            __pyx_v_9CACompute_regen_birth.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1170, __pyx_L1_error)
          }
 1171: 
+1172:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+1173:                     for x in re.findall(b"\((.*?)\)", re.split(b"rg|l|b|s|rb|rs|nn", individual_rule_string)[6])[0].split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_re); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1173, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_findall); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1173, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_re); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1173, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_40 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_split); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1173, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1173, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __pyx_t_5 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_40))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_40);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_40);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_40, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_40)) {
            PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_2};
            __pyx_t_13 = __Pyx_PyFunction_FastCall(__pyx_t_40, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1173, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_40)) {
            PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_2};
            __pyx_t_13 = __Pyx_PyCFunction_FastCall(__pyx_t_40, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1173, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          } else
          #endif
          {
            __pyx_t_39 = PyTuple_New(2+__pyx_t_24); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1173, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            if (__pyx_t_5) {
              __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_39, 0, __pyx_t_5); __pyx_t_5 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            PyTuple_SET_ITEM(__pyx_t_39, 0+__pyx_t_24, __pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_t_2);
            PyTuple_SET_ITEM(__pyx_t_39, 1+__pyx_t_24, __pyx_t_2);
            __pyx_t_2 = 0;
            __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_40, __pyx_t_39, NULL); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1173, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_13);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          }
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = __Pyx_GetItemInt(__pyx_t_13, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1173, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_13 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_13)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_13);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_kp_b__15, __pyx_t_40};
            __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1173, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_kp_b__15, __pyx_t_40};
            __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1173, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          } else
          #endif
          {
            __pyx_t_39 = PyTuple_New(2+__pyx_t_24); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1173, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            if (__pyx_t_13) {
              __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_39, 0, __pyx_t_13); __pyx_t_13 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_kp_b__15);
            PyTuple_SET_ITEM(__pyx_t_39, 0+__pyx_t_24, __pyx_kp_b__15);
            __Pyx_GIVEREF(__pyx_t_40);
            PyTuple_SET_ITEM(__pyx_t_39, 1+__pyx_t_24, __pyx_t_40);
            __pyx_t_40 = 0;
            __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_39, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1173, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1173, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1173, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_4)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_4);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
            }
          }
          __pyx_t_14 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1173, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (likely(PyList_CheckExact(__pyx_t_14)) || PyTuple_CheckExact(__pyx_t_14)) {
            __pyx_t_3 = __pyx_t_14; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_14); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1173, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1173, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_3))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_14 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_14); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1173, __pyx_L1_error)
                #else
                __pyx_t_14 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1173, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_14);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_14 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_14); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1173, __pyx_L1_error)
                #else
                __pyx_t_14 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1173, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_14);
                #endif
              }
            } else {
              __pyx_t_14 = __pyx_t_7(__pyx_t_3);
              if (unlikely(!__pyx_t_14)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 1173, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_14);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_14);
            __pyx_t_14 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1174:                         if x.find(b"-") != -1:
            __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1174, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_39 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
              __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_4);
              if (likely(__pyx_t_39)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                __Pyx_INCREF(__pyx_t_39);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_4, function);
              }
            }
            __pyx_t_14 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_39, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1174, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            __pyx_t_4 = __Pyx_PyInt_NeObjC(__pyx_t_14, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1174, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 1174, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L721;
            }
+1175:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1175, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_39 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
                __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_14);
                if (likely(__pyx_t_39)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
                  __Pyx_INCREF(__pyx_t_39);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_14, function);
                }
              }
              __pyx_t_4 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_39, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
              if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1175, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_4, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1175, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_14); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1175, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_PyInt_AddObjC(__pyx_t_4, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1175, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_14); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1175, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1175, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_39 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
                __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_4);
                if (likely(__pyx_t_39)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                  __Pyx_INCREF(__pyx_t_39);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_4, function);
                }
              }
              __pyx_t_14 = (__pyx_t_39) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_39, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
              if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1175, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_14, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1175, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1175, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_14); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1175, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_24 = __pyx_t_21; __pyx_t_24 < __pyx_t_22; __pyx_t_24+=1) {
                __pyx_v_i = __pyx_t_24;
+1176:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 1177:                         else:
+1178:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1178, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_14); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1178, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_24));
            }
            __pyx_L721:;
+1179:                     regen_survival.push_back(set_temp)
          try {
            __pyx_v_9CACompute_regen_survival.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1179, __pyx_L1_error)
          }
 1180: 
+1181:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+1182:                     for x in re.sub(b"\(.*?\)", b"", re.split(b"rg|l|b|s|rb|rs|nn", individual_rule_string)[5]).split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_re); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1182, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_sub); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1182, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __Pyx_GetModuleGlobalName(__pyx_t_40, __pyx_n_s_re); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1182, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_40, __pyx_n_s_split); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1182, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          __pyx_t_40 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_40)) __PYX_ERR(0, 1182, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_40);
          __pyx_t_2 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) {
            __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_13);
            if (likely(__pyx_t_2)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13);
              __Pyx_INCREF(__pyx_t_2);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_13, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_13)) {
            PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_40};
            __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1182, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_13)) {
            PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_40};
            __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_13, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1182, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_40); __pyx_t_40 = 0;
          } else
          #endif
          {
            __pyx_t_5 = PyTuple_New(2+__pyx_t_24); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1182, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            if (__pyx_t_2) {
              __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_2); __pyx_t_2 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_24, __pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_t_40);
            PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_24, __pyx_t_40);
            __pyx_t_40 = 0;
            __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1182, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          }
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_4, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1182, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_39))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_39);
            if (likely(__pyx_t_4)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
              __Pyx_INCREF(__pyx_t_4);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_39, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_39)) {
            PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_13};
            __pyx_t_14 = __Pyx_PyFunction_FastCall(__pyx_t_39, __pyx_temp+1-__pyx_t_24, 3+__pyx_t_24); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1182, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_39)) {
            PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_13};
            __pyx_t_14 = __Pyx_PyCFunction_FastCall(__pyx_t_39, __pyx_temp+1-__pyx_t_24, 3+__pyx_t_24); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1182, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          {
            __pyx_t_5 = PyTuple_New(3+__pyx_t_24); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1182, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            if (__pyx_t_4) {
              __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__16);
            __Pyx_GIVEREF(__pyx_kp_b__16);
            PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_24, __pyx_kp_b__16);
            __Pyx_INCREF(__pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_kp_b_);
            PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_24, __pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_t_13);
            PyTuple_SET_ITEM(__pyx_t_5, 2+__pyx_t_24, __pyx_t_13);
            __pyx_t_13 = 0;
            __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_39, __pyx_t_5, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1182, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1182, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
            __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_39);
            if (likely(__pyx_t_14)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
              __Pyx_INCREF(__pyx_t_14);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_39, function);
            }
          }
          __pyx_t_3 = (__pyx_t_14) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_14, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1182, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
            __pyx_t_39 = __pyx_t_3; __Pyx_INCREF(__pyx_t_39); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_39 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1182, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __pyx_t_7 = Py_TYPE(__pyx_t_39)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1182, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_39))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_39)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_3 = PyList_GET_ITEM(__pyx_t_39, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1182, __pyx_L1_error)
                #else
                __pyx_t_3 = PySequence_ITEM(__pyx_t_39, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1182, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_3);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_39)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_39, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1182, __pyx_L1_error)
                #else
                __pyx_t_3 = PySequence_ITEM(__pyx_t_39, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1182, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_3);
                #endif
              }
            } else {
              __pyx_t_3 = __pyx_t_7(__pyx_t_39);
              if (unlikely(!__pyx_t_3)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 1182, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_3);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_3);
            __pyx_t_3 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
+1183:                         if x.find(b"-") != -1:
            __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1183, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __pyx_t_5 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
              __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_14);
              if (likely(__pyx_t_5)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
                __Pyx_INCREF(__pyx_t_5);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_14, function);
              }
            }
            __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_5, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1183, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
            __pyx_t_14 = __Pyx_PyInt_NeObjC(__pyx_t_3, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1183, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_14); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 1183, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L726;
            }
+1184:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1184, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_5 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
                __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
                if (likely(__pyx_t_5)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                  __Pyx_INCREF(__pyx_t_5);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_3, function);
                }
              }
              __pyx_t_14 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1184, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_14, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1184, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1184, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_t_14, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1184, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_3); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1184, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_14 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1184, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __pyx_t_5 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_14))) {
                __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_14);
                if (likely(__pyx_t_5)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_14);
                  __Pyx_INCREF(__pyx_t_5);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_14, function);
                }
              }
              __pyx_t_3 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_14, __pyx_t_5, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_14, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1184, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_14 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1184, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_14);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_14); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1184, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
              __pyx_t_22 = __Pyx_PyInt_As_long(__pyx_t_3); if (unlikely((__pyx_t_22 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1184, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_21 = __pyx_t_20;
              for (__pyx_t_24 = __pyx_t_22; __pyx_t_24 < __pyx_t_21; __pyx_t_24+=1) {
                __pyx_v_i = __pyx_t_24;
+1185:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 1186:                         else:
+1187:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1187, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1187, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_24));
            }
            __pyx_L726:;
+1188:                     other_regen_birth.push_back(set_temp)
          try {
            __pyx_v_9CACompute_other_regen_birth.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1188, __pyx_L1_error)
          }
 1189: 
+1190:                     set_temp.clear()
          __pyx_v_set_temp.clear();
+1191:                     for x in re.sub(b"\(.*?\)", b"", re.split(b"rg|l|b|s|rb|rs|nn", individual_rule_string)[6]).split(b","):
          __Pyx_GetModuleGlobalName(__pyx_t_14, __pyx_n_s_re); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1191, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_14);
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_14, __pyx_n_s_sub); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1191, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_re); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1191, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_split); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1191, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          __pyx_t_13 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1191, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_13);
          __pyx_t_40 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
            __pyx_t_40 = PyMethod_GET_SELF(__pyx_t_4);
            if (likely(__pyx_t_40)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
              __Pyx_INCREF(__pyx_t_40);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_4, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_40, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_13};
            __pyx_t_14 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1191, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
            PyObject *__pyx_temp[3] = {__pyx_t_40, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_13};
            __pyx_t_14 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1191, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
          } else
          #endif
          {
            __pyx_t_2 = PyTuple_New(2+__pyx_t_24); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1191, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (__pyx_t_40) {
              __Pyx_GIVEREF(__pyx_t_40); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_40); __pyx_t_40 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_24, __pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_t_13);
            PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_24, __pyx_t_13);
            __pyx_t_13 = 0;
            __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, NULL); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1191, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_14);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_14, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1191, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
          __pyx_t_14 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_5);
            if (likely(__pyx_t_14)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_14);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_5, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_5)) {
            PyObject *__pyx_temp[4] = {__pyx_t_14, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_4};
            __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_24, 3+__pyx_t_24); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1191, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
            PyObject *__pyx_temp[4] = {__pyx_t_14, __pyx_kp_b__16, __pyx_kp_b_, __pyx_t_4};
            __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_24, 3+__pyx_t_24); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1191, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          {
            __pyx_t_2 = PyTuple_New(3+__pyx_t_24); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1191, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (__pyx_t_14) {
              __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_14); __pyx_t_14 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b__16);
            __Pyx_GIVEREF(__pyx_kp_b__16);
            PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_24, __pyx_kp_b__16);
            __Pyx_INCREF(__pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_kp_b_);
            PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_24, __pyx_kp_b_);
            __Pyx_GIVEREF(__pyx_t_4);
            PyTuple_SET_ITEM(__pyx_t_2, 2+__pyx_t_24, __pyx_t_4);
            __pyx_t_4 = 0;
            __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1191, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1191, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_5, function);
            }
          }
          __pyx_t_39 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_kp_b__4) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__4);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1191, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (likely(PyList_CheckExact(__pyx_t_39)) || PyTuple_CheckExact(__pyx_t_39)) {
            __pyx_t_5 = __pyx_t_39; __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_39); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1191, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __pyx_t_7 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1191, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_5))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_5)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_39 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_39); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1191, __pyx_L1_error)
                #else
                __pyx_t_39 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1191, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_39);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_39 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_39); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1191, __pyx_L1_error)
                #else
                __pyx_t_39 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1191, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_39);
                #endif
              }
            } else {
              __pyx_t_39 = __pyx_t_7(__pyx_t_5);
              if (unlikely(!__pyx_t_39)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 1191, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_39);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_39);
            __pyx_t_39 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+1192:                         if x.find(b"-") != -1:
            __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_find); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1192, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_2 = NULL;
            if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
              __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
              if (likely(__pyx_t_2)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                __Pyx_INCREF(__pyx_t_2);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_3, function);
              }
            }
            __pyx_t_39 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__14);
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1192, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            __pyx_t_3 = __Pyx_PyInt_NeObjC(__pyx_t_39, __pyx_int_neg_1, -1L, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1192, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
            __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 1192, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            if (__pyx_t_8) {
/* … */
              goto __pyx_L731;
            }
+1193:                             for i in range(int(x.split(b"-")[0]), int(x.split(b"-")[1]) + 1):
              __pyx_t_39 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1193, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_2 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_39))) {
                __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_39);
                if (likely(__pyx_t_2)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_39);
                  __Pyx_INCREF(__pyx_t_2);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_39, function);
                }
              }
              __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_39, __pyx_t_2, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_39, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
              if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1193, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_GetItemInt(__pyx_t_3, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1193, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_39); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1193, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_PyInt_AddObjC(__pyx_t_3, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1193, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_20 = __Pyx_PyInt_As_long(__pyx_t_39); if (unlikely((__pyx_t_20 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1193, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1193, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_2 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
                __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
                if (likely(__pyx_t_2)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                  __Pyx_INCREF(__pyx_t_2);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_3, function);
                }
              }
              __pyx_t_39 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_kp_b__14) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__14);
              __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
              if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1193, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_39, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1193, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1193, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_21 = __Pyx_PyInt_As_long(__pyx_t_39); if (unlikely((__pyx_t_21 == (long)-1) && PyErr_Occurred())) __PYX_ERR(0, 1193, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_22 = __pyx_t_20;
              for (__pyx_t_24 = __pyx_t_21; __pyx_t_24 < __pyx_t_22; __pyx_t_24+=1) {
                __pyx_v_i = __pyx_t_24;
+1194:                                 set_temp.insert(i)
                (void)(__pyx_v_set_temp.insert(__pyx_v_i));
              }
 1195:                         else:
+1196:                             set_temp.insert(int(x))
            /*else*/ {
              __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_v_x); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1196, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_39); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1196, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              (void)(__pyx_v_set_temp.insert(__pyx_t_24));
            }
            __pyx_L731:;
+1197:                     other_regen_survival.push_back(set_temp)
          try {
            __pyx_v_9CACompute_other_regen_survival.push_back(__pyx_v_set_temp);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1197, __pyx_L1_error)
          }
 1198: 
+1199:                     try: naive_lst.push_back(re.split(b"rg|l|b|s|rb|rs|nn", individual_rule_string)[7])
          {
            /*try:*/ {
              __Pyx_GetModuleGlobalName(__pyx_t_39, __pyx_n_s_re); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1199, __pyx_L734_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1199, __pyx_L734_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1199, __pyx_L734_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_2 = NULL;
              __pyx_t_24 = 0;
              if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
                __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
                if (likely(__pyx_t_2)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                  __Pyx_INCREF(__pyx_t_2);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_3, function);
                  __pyx_t_24 = 1;
                }
              }
              #if CYTHON_FAST_PYCALL
              if (PyFunction_Check(__pyx_t_3)) {
                PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_39};
                __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1199, __pyx_L734_error)
                __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
                __Pyx_GOTREF(__pyx_t_5);
                __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              } else
              #endif
              #if CYTHON_FAST_PYCCALL
              if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
                PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_39};
                __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1199, __pyx_L734_error)
                __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
                __Pyx_GOTREF(__pyx_t_5);
                __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              } else
              #endif
              {
                __pyx_t_4 = PyTuple_New(2+__pyx_t_24); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1199, __pyx_L734_error)
                __Pyx_GOTREF(__pyx_t_4);
                if (__pyx_t_2) {
                  __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = NULL;
                }
                __Pyx_INCREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
                __Pyx_GIVEREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
                PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_24, __pyx_kp_b_rg_l_b_s_rb_rs_nn);
                __Pyx_GIVEREF(__pyx_t_39);
                PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_24, __pyx_t_39);
                __pyx_t_39 = 0;
                __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1199, __pyx_L734_error)
                __Pyx_GOTREF(__pyx_t_5);
                __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              }
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_5, 7, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1199, __pyx_L734_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_t_3); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1199, __pyx_L734_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 1199, __pyx_L734_error)
              }
            }
            __Pyx_XDECREF(__pyx_t_38); __pyx_t_38 = 0;
            __Pyx_XDECREF(__pyx_t_37); __pyx_t_37 = 0;
            __Pyx_XDECREF(__pyx_t_36); __pyx_t_36 = 0;
            goto __pyx_L741_try_end;
            __pyx_L734_error:;
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
/* … */
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_ExceptionReset(__pyx_t_38, __pyx_t_37, __pyx_t_36);
            goto __pyx_L1_error;
            __pyx_L735_exception_handled:;
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_ExceptionReset(__pyx_t_38, __pyx_t_37, __pyx_t_36);
            __pyx_L741_try_end:;
          }
        }
        __pyx_L643:;
+1200:                     except IndexError: naive_lst.push_back(b"-1")
            __pyx_t_24 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_IndexError);
            if (__pyx_t_24) {
              __Pyx_AddTraceback("CACompute.load", __pyx_clineno, __pyx_lineno, __pyx_filename);
              if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_5, &__pyx_t_4) < 0) __PYX_ERR(0, 1200, __pyx_L736_except_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_kp_b_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1200, __pyx_L736_except_error)
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 1200, __pyx_L736_except_error)
              }
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              goto __pyx_L735_exception_handled;
            }
            goto __pyx_L736_except_error;
            __pyx_L736_except_error:;
+1201:             elif bsconditions == b"Range 1 Moore Semi Totalistic":
      __pyx_t_8 = ((__pyx_v_9CACompute_bsconditions == ((char const *)"Range 1 Moore Semi Totalistic")) != 0);
      if (__pyx_t_8) {
/* … */
      }
      __pyx_L581:;
+1202:                 if individual_rule_string.find(b"/") != -1:
        __pyx_t_8 = ((__pyx_v_individual_rule_string.find(__pyx_k__13) != -1L) != 0);
        if (__pyx_t_8) {
/* … */
          goto __pyx_L744;
        }
+1203:                     birth_state = int(individual_rule_string.split(b"/")[1])
          __pyx_t_5 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1203, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_split); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1203, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_3);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_3, function);
            }
          }
          __pyx_t_4 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_5, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1203, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_4, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1203, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1203, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1203, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_v_9CACompute_birth_state = __pyx_t_24;
 1204: 
+1205:                     current_trans = []
          __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1205, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_XDECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_4));
          __pyx_t_4 = 0;
+1206:                     temp_semi_1.clear()
          __pyx_v_temp_semi_1.clear();
+1207:                     for x in individual_rule_string.split(b"/")[2]:
          __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1207, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1207, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_5, function);
            }
          }
          __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1207, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_4, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1207, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
            __pyx_t_4 = __pyx_t_5; __Pyx_INCREF(__pyx_t_4); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1207, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_7 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1207, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_4))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_4)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_5 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1207, __pyx_L1_error)
                #else
                __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1207, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_5);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1207, __pyx_L1_error)
                #else
                __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1207, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_5);
                #endif
              }
            } else {
              __pyx_t_5 = __pyx_t_7(__pyx_t_4);
              if (unlikely(!__pyx_t_5)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 1207, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_5);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5);
            __pyx_t_5 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+1208:                         current_trans.append(int(str(x)))
            __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_x); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1208, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1208, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            __pyx_t_41 = __Pyx_PyList_Append(__pyx_v_current_trans, __pyx_t_3); if (unlikely(__pyx_t_41 == ((int)-1))) __PYX_ERR(0, 1208, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1209:                         if len(current_trans) == 2:
            __pyx_t_10 = PyList_GET_SIZE(__pyx_v_current_trans); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1209, __pyx_L1_error)
            __pyx_t_8 = ((__pyx_t_10 == 2) != 0);
            if (__pyx_t_8) {
/* … */
            }
+1210:                             temp_semi_1.insert(pair[int, int] (current_trans[0] - 48, current_trans[1] - 48))
              __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1210, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_5 = __Pyx_PyInt_SubtractObjC(__pyx_t_3, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1210, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1210, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1210, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_t_5, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1210, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1210, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              try {
                __pyx_t_25 = std::pair<int,int> (__pyx_t_24, __pyx_t_12);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 1210, __pyx_L1_error)
              }
              (void)(__pyx_v_temp_semi_1.insert(__pyx_t_25));
+1211:                             current_trans = []
              __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1211, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_3));
              __pyx_t_3 = 0;
+1212:                     birth_semi_1.push_back(temp_semi_1)
          try {
            __pyx_v_9CACompute_birth_semi_1.push_back(__pyx_v_temp_semi_1);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1212, __pyx_L1_error)
          }
 1213: 
+1214:                     current_trans = []
          __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1214, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_4));
          __pyx_t_4 = 0;
+1215:                     temp_semi_1.clear()
          __pyx_v_temp_semi_1.clear();
+1216:                     for x in individual_rule_string.split(b"/")[3]:
          __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1216, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1216, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_5, function);
            }
          }
          __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1216, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_4, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1216, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
            __pyx_t_4 = __pyx_t_5; __Pyx_INCREF(__pyx_t_4); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1216, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_7 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1216, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_4))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_4)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_5 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1216, __pyx_L1_error)
                #else
                __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1216, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_5);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1216, __pyx_L1_error)
                #else
                __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1216, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_5);
                #endif
              }
            } else {
              __pyx_t_5 = __pyx_t_7(__pyx_t_4);
              if (unlikely(!__pyx_t_5)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 1216, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_5);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5);
            __pyx_t_5 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+1217:                         current_trans.append(int(str(x)))
            __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_x); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1217, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1217, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            __pyx_t_41 = __Pyx_PyList_Append(__pyx_v_current_trans, __pyx_t_3); if (unlikely(__pyx_t_41 == ((int)-1))) __PYX_ERR(0, 1217, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1218:                         if len(current_trans) == 2:
            __pyx_t_10 = PyList_GET_SIZE(__pyx_v_current_trans); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1218, __pyx_L1_error)
            __pyx_t_8 = ((__pyx_t_10 == 2) != 0);
            if (__pyx_t_8) {
/* … */
            }
+1219:                             temp_semi_1.insert(pair[int, int] (current_trans[0] - 48, current_trans[1] - 48))
              __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1219, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_5 = __Pyx_PyInt_SubtractObjC(__pyx_t_3, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1219, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1219, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1219, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_t_5, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1219, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1219, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              try {
                __pyx_t_25 = std::pair<int,int> (__pyx_t_12, __pyx_t_24);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 1219, __pyx_L1_error)
              }
              (void)(__pyx_v_temp_semi_1.insert(__pyx_t_25));
+1220:                             current_trans = []
              __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1220, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_3));
              __pyx_t_3 = 0;
+1221:                     survival_semi_1.push_back(temp_semi_1)
          try {
            __pyx_v_9CACompute_survival_semi_1.push_back(__pyx_v_temp_semi_1);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1221, __pyx_L1_error)
          }
 1222: 
+1223:                     current_trans = []
          __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1223, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_4));
          __pyx_t_4 = 0;
+1224:                     temp_semi_1.clear()
          __pyx_v_temp_semi_1.clear();
+1225:                     for x in individual_rule_string.split(b"/")[4]:
          __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1225, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1225, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_5, function);
            }
          }
          __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1225, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_4, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1225, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
            __pyx_t_4 = __pyx_t_5; __Pyx_INCREF(__pyx_t_4); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1225, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_7 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1225, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_4))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_4)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_5 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1225, __pyx_L1_error)
                #else
                __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1225, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_5);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1225, __pyx_L1_error)
                #else
                __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1225, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_5);
                #endif
              }
            } else {
              __pyx_t_5 = __pyx_t_7(__pyx_t_4);
              if (unlikely(!__pyx_t_5)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 1225, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_5);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5);
            __pyx_t_5 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+1226:                         current_trans.append(int(str(x)))
            __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_x); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1226, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1226, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            __pyx_t_41 = __Pyx_PyList_Append(__pyx_v_current_trans, __pyx_t_3); if (unlikely(__pyx_t_41 == ((int)-1))) __PYX_ERR(0, 1226, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1227:                         if len(current_trans) == 2:
            __pyx_t_10 = PyList_GET_SIZE(__pyx_v_current_trans); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1227, __pyx_L1_error)
            __pyx_t_8 = ((__pyx_t_10 == 2) != 0);
            if (__pyx_t_8) {
/* … */
            }
+1228:                             temp_semi_1.insert(pair[int, int] (current_trans[0] - 48, current_trans[1] - 48))
              __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1228, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_5 = __Pyx_PyInt_SubtractObjC(__pyx_t_3, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1228, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1228, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1228, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_t_5, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1228, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1228, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              try {
                __pyx_t_25 = std::pair<int,int> (__pyx_t_24, __pyx_t_12);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 1228, __pyx_L1_error)
              }
              (void)(__pyx_v_temp_semi_1.insert(__pyx_t_25));
+1229:                             current_trans = []
              __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1229, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_3));
              __pyx_t_3 = 0;
+1230:                     regen_birth_semi_1.push_back(temp_semi_1)
          try {
            __pyx_v_9CACompute_regen_birth_semi_1.push_back(__pyx_v_temp_semi_1);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1230, __pyx_L1_error)
          }
 1231: 
+1232:                     current_trans = []
          __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1232, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_4));
          __pyx_t_4 = 0;
+1233:                     temp_semi_1.clear()
          __pyx_v_temp_semi_1.clear();
+1234:                     for x in individual_rule_string.split(b"/")[5]:
          __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1234, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1234, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = NULL;
          if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
            if (likely(__pyx_t_3)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_3);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_5, function);
            }
          }
          __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__13);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1234, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_4, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1234, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (likely(PyList_CheckExact(__pyx_t_5)) || PyTuple_CheckExact(__pyx_t_5)) {
            __pyx_t_4 = __pyx_t_5; __Pyx_INCREF(__pyx_t_4); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1234, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __pyx_t_7 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1234, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_4))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_4)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_5 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1234, __pyx_L1_error)
                #else
                __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1234, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_5);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1234, __pyx_L1_error)
                #else
                __pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1234, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_5);
                #endif
              }
            } else {
              __pyx_t_5 = __pyx_t_7(__pyx_t_4);
              if (unlikely(!__pyx_t_5)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 1234, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_5);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_5);
            __pyx_t_5 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+1235:                         current_trans.append(int(str(x)))
            __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_x); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1235, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1235, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
            __pyx_t_41 = __Pyx_PyList_Append(__pyx_v_current_trans, __pyx_t_3); if (unlikely(__pyx_t_41 == ((int)-1))) __PYX_ERR(0, 1235, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1236:                         if len(current_trans) == 2:
            __pyx_t_10 = PyList_GET_SIZE(__pyx_v_current_trans); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1236, __pyx_L1_error)
            __pyx_t_8 = ((__pyx_t_10 == 2) != 0);
            if (__pyx_t_8) {
/* … */
            }
+1237:                             temp_semi_1.insert(pair[int, int] (current_trans[0] - 48, current_trans[1] - 48))
              __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1237, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_5 = __Pyx_PyInt_SubtractObjC(__pyx_t_3, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1237, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1237, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1237, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_3 = __Pyx_PyInt_SubtractObjC(__pyx_t_5, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1237, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1237, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              try {
                __pyx_t_25 = std::pair<int,int> (__pyx_t_12, __pyx_t_24);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 1237, __pyx_L1_error)
              }
              (void)(__pyx_v_temp_semi_1.insert(__pyx_t_25));
+1238:                             current_trans = []
              __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1238, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_3));
              __pyx_t_3 = 0;
+1239:                     regen_survival_semi_1.push_back(temp_semi_1)
          try {
            __pyx_v_9CACompute_regen_survival_semi_1.push_back(__pyx_v_temp_semi_1);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1239, __pyx_L1_error)
          }
 1240: 
+1241:                     try: naive_lst.push_back(individual_rule_string.split(b"/")[6])
          {
            /*try:*/ {
              __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1241, __pyx_L757_error)
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1241, __pyx_L757_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_3 = NULL;
              if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
                __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
                if (likely(__pyx_t_3)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
                  __Pyx_INCREF(__pyx_t_3);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_5, function);
                }
              }
              __pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_kp_b__13) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_b__13);
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1241, __pyx_L757_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_4, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1241, __pyx_L757_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_t_5); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1241, __pyx_L757_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 1241, __pyx_L757_error)
              }
            }
            __Pyx_XDECREF(__pyx_t_36); __pyx_t_36 = 0;
            __Pyx_XDECREF(__pyx_t_37); __pyx_t_37 = 0;
            __Pyx_XDECREF(__pyx_t_38); __pyx_t_38 = 0;
            goto __pyx_L764_try_end;
            __pyx_L757_error:;
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
/* … */
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_ExceptionReset(__pyx_t_36, __pyx_t_37, __pyx_t_38);
            goto __pyx_L1_error;
            __pyx_L758_exception_handled:;
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_ExceptionReset(__pyx_t_36, __pyx_t_37, __pyx_t_38);
            __pyx_L764_try_end:;
          }
+1242:                     except IndexError: naive_lst.push_back(b"-1")
            __pyx_t_24 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_IndexError);
            if (__pyx_t_24) {
              __Pyx_AddTraceback("CACompute.load", __pyx_clineno, __pyx_lineno, __pyx_filename);
              if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_4, &__pyx_t_3) < 0) __PYX_ERR(0, 1242, __pyx_L759_except_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_GOTREF(__pyx_t_3);
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_kp_b_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1242, __pyx_L759_except_error)
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 1242, __pyx_L759_except_error)
              }
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              goto __pyx_L758_exception_handled;
            }
            goto __pyx_L759_except_error;
            __pyx_L759_except_error:;
 1243:                 else:
+1244:                     birth_state = int(re.split(b"rg|l|b|s|rb|rs|nn", individual_rule_string)[2])
        /*else*/ {
          __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_re); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1244, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1244, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1244, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_39 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_5);
            if (likely(__pyx_t_39)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
              __Pyx_INCREF(__pyx_t_39);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_5, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_5)) {
            PyObject *__pyx_temp[3] = {__pyx_t_39, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_4};
            __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1244, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
            PyObject *__pyx_temp[3] = {__pyx_t_39, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_4};
            __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1244, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          {
            __pyx_t_2 = PyTuple_New(2+__pyx_t_24); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1244, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            if (__pyx_t_39) {
              __Pyx_GIVEREF(__pyx_t_39); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_39); __pyx_t_39 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_24, __pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_t_4);
            PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_24, __pyx_t_4);
            __pyx_t_4 = 0;
            __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1244, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          }
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_3, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1244, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1244, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1244, __pyx_L1_error)
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          __pyx_v_9CACompute_birth_state = __pyx_t_24;
 1245: 
+1246:                     current_trans = []
          __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1246, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_XDECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_3));
          __pyx_t_3 = 0;
+1247:                     temp_semi_1.clear()
          __pyx_v_temp_semi_1.clear();
+1248:                     for x in re.split(b"rg|l|b|s|rb|rs|nn", individual_rule_string)[3]:
          __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_re); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1248, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1248, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1248, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_4 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_4)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_4);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_2)) {
            PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_5};
            __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1248, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
            PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_5};
            __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1248, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          {
            __pyx_t_39 = PyTuple_New(2+__pyx_t_24); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1248, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            if (__pyx_t_4) {
              __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_39, 0, __pyx_t_4); __pyx_t_4 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            PyTuple_SET_ITEM(__pyx_t_39, 0+__pyx_t_24, __pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_t_5);
            PyTuple_SET_ITEM(__pyx_t_39, 1+__pyx_t_24, __pyx_t_5);
            __pyx_t_5 = 0;
            __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_39, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1248, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_3, 3, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1248, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
            __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1248, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1248, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_3))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1248, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1248, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1248, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1248, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              }
            } else {
              __pyx_t_2 = __pyx_t_7(__pyx_t_3);
              if (unlikely(!__pyx_t_2)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 1248, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_2);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
            __pyx_t_2 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1249:                         current_trans.append(int(str(x)))
            __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1249, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1249, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __pyx_t_41 = __Pyx_PyList_Append(__pyx_v_current_trans, __pyx_t_39); if (unlikely(__pyx_t_41 == ((int)-1))) __PYX_ERR(0, 1249, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
+1250:                         if len(current_trans) == 2:
            __pyx_t_10 = PyList_GET_SIZE(__pyx_v_current_trans); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1250, __pyx_L1_error)
            __pyx_t_8 = ((__pyx_t_10 == 2) != 0);
            if (__pyx_t_8) {
/* … */
            }
+1251:                             temp_semi_1.insert(pair[int, int] (current_trans[0] - 48, current_trans[1] - 48))
              __pyx_t_39 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1251, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_2 = __Pyx_PyInt_SubtractObjC(__pyx_t_39, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1251, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1251, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1251, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_39 = __Pyx_PyInt_SubtractObjC(__pyx_t_2, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1251, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_39); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1251, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              try {
                __pyx_t_25 = std::pair<int,int> (__pyx_t_24, __pyx_t_12);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 1251, __pyx_L1_error)
              }
              (void)(__pyx_v_temp_semi_1.insert(__pyx_t_25));
+1252:                             current_trans = []
              __pyx_t_39 = PyList_New(0); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1252, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_39));
              __pyx_t_39 = 0;
+1253:                     birth_semi_1.push_back(temp_semi_1)
          try {
            __pyx_v_9CACompute_birth_semi_1.push_back(__pyx_v_temp_semi_1);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1253, __pyx_L1_error)
          }
 1254: 
+1255:                     current_trans = []
          __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1255, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_3));
          __pyx_t_3 = 0;
+1256:                     temp_semi_1.clear()
          __pyx_v_temp_semi_1.clear();
+1257:                     for x in re.split(b"rg|l|b|s|rb|rs|nn", individual_rule_string)[4]:
          __Pyx_GetModuleGlobalName(__pyx_t_39, __pyx_n_s_re); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1257, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1257, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          __pyx_t_39 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1257, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_39);
          __pyx_t_5 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_5)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_5);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_2)) {
            PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_39};
            __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1257, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
            PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_39};
            __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1257, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          } else
          #endif
          {
            __pyx_t_4 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1257, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            if (__pyx_t_5) {
              __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __pyx_t_5 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_12, __pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_t_39);
            PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_12, __pyx_t_39);
            __pyx_t_39 = 0;
            __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1257, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_3, 4, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1257, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
            __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1257, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1257, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_3))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1257, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1257, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1257, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1257, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              }
            } else {
              __pyx_t_2 = __pyx_t_7(__pyx_t_3);
              if (unlikely(!__pyx_t_2)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 1257, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_2);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
            __pyx_t_2 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1258:                         current_trans.append(int(str(x)))
            __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1258, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1258, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_4);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __pyx_t_41 = __Pyx_PyList_Append(__pyx_v_current_trans, __pyx_t_4); if (unlikely(__pyx_t_41 == ((int)-1))) __PYX_ERR(0, 1258, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
+1259:                         if len(current_trans) == 2:
            __pyx_t_10 = PyList_GET_SIZE(__pyx_v_current_trans); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1259, __pyx_L1_error)
            __pyx_t_8 = ((__pyx_t_10 == 2) != 0);
            if (__pyx_t_8) {
/* … */
            }
+1260:                             temp_semi_1.insert(pair[int, int] (current_trans[0] - 48, current_trans[1] - 48))
              __pyx_t_4 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1260, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_2 = __Pyx_PyInt_SubtractObjC(__pyx_t_4, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1260, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1260, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1260, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_4 = __Pyx_PyInt_SubtractObjC(__pyx_t_2, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1260, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1260, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              try {
                __pyx_t_25 = std::pair<int,int> (__pyx_t_12, __pyx_t_24);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 1260, __pyx_L1_error)
              }
              (void)(__pyx_v_temp_semi_1.insert(__pyx_t_25));
+1261:                             current_trans = []
              __pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1261, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_4);
              __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_4));
              __pyx_t_4 = 0;
+1262:                     survival_semi_1.push_back(temp_semi_1)
          try {
            __pyx_v_9CACompute_survival_semi_1.push_back(__pyx_v_temp_semi_1);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1262, __pyx_L1_error)
          }
 1263: 
+1264:                     current_trans = []
          __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1264, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_3));
          __pyx_t_3 = 0;
+1265:                     temp_semi_1.clear()
          __pyx_v_temp_semi_1.clear();
+1266:                     for x in re.split(b"rg|l|b|s|rb|rs|nn", individual_rule_string)[5]:
          __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_re); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1266, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1266, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          __pyx_t_4 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1266, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_4);
          __pyx_t_39 = NULL;
          __pyx_t_24 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_39 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_39)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_39);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_24 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_2)) {
            PyObject *__pyx_temp[3] = {__pyx_t_39, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_4};
            __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1266, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
            PyObject *__pyx_temp[3] = {__pyx_t_39, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_4};
            __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1266, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
          } else
          #endif
          {
            __pyx_t_5 = PyTuple_New(2+__pyx_t_24); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1266, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            if (__pyx_t_39) {
              __Pyx_GIVEREF(__pyx_t_39); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_39); __pyx_t_39 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_24, __pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_t_4);
            PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_24, __pyx_t_4);
            __pyx_t_4 = 0;
            __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1266, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_3, 5, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1266, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
            __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1266, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1266, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_3))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1266, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1266, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1266, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1266, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              }
            } else {
              __pyx_t_2 = __pyx_t_7(__pyx_t_3);
              if (unlikely(!__pyx_t_2)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 1266, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_2);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
            __pyx_t_2 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1267:                         current_trans.append(int(str(x)))
            __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1267, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_5 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1267, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_5);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __pyx_t_41 = __Pyx_PyList_Append(__pyx_v_current_trans, __pyx_t_5); if (unlikely(__pyx_t_41 == ((int)-1))) __PYX_ERR(0, 1267, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
+1268:                         if len(current_trans) == 2:
            __pyx_t_10 = PyList_GET_SIZE(__pyx_v_current_trans); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1268, __pyx_L1_error)
            __pyx_t_8 = ((__pyx_t_10 == 2) != 0);
            if (__pyx_t_8) {
/* … */
            }
+1269:                             temp_semi_1.insert(pair[int, int] (current_trans[0] - 48, current_trans[1] - 48))
              __pyx_t_5 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1269, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __pyx_t_2 = __Pyx_PyInt_SubtractObjC(__pyx_t_5, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1269, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1269, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1269, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_5 = __Pyx_PyInt_SubtractObjC(__pyx_t_2, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1269, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1269, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
              try {
                __pyx_t_25 = std::pair<int,int> (__pyx_t_24, __pyx_t_12);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 1269, __pyx_L1_error)
              }
              (void)(__pyx_v_temp_semi_1.insert(__pyx_t_25));
+1270:                             current_trans = []
              __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1270, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_5);
              __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_5));
              __pyx_t_5 = 0;
+1271:                     regen_birth_semi_1.push_back(temp_semi_1)
          try {
            __pyx_v_9CACompute_regen_birth_semi_1.push_back(__pyx_v_temp_semi_1);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1271, __pyx_L1_error)
          }
 1272: 
+1273:                     current_trans = []
          __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1273, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_3));
          __pyx_t_3 = 0;
+1274:                     temp_semi_1.clear()
          __pyx_v_temp_semi_1.clear();
+1275:                     for x in re.split(b"rg|l|b|s|rb|rs|nn", individual_rule_string)[6]:
          __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_re); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1275, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1275, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          __pyx_t_5 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1275, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_5);
          __pyx_t_4 = NULL;
          __pyx_t_12 = 0;
          if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
            __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
            if (likely(__pyx_t_4)) {
              PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
              __Pyx_INCREF(__pyx_t_4);
              __Pyx_INCREF(function);
              __Pyx_DECREF_SET(__pyx_t_2, function);
              __pyx_t_12 = 1;
            }
          }
          #if CYTHON_FAST_PYCALL
          if (PyFunction_Check(__pyx_t_2)) {
            PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_5};
            __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1275, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          #if CYTHON_FAST_PYCCALL
          if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
            PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_5};
            __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_12, 2+__pyx_t_12); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1275, __pyx_L1_error)
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
          } else
          #endif
          {
            __pyx_t_39 = PyTuple_New(2+__pyx_t_12); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1275, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            if (__pyx_t_4) {
              __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_39, 0, __pyx_t_4); __pyx_t_4 = NULL;
            }
            __Pyx_INCREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
            PyTuple_SET_ITEM(__pyx_t_39, 0+__pyx_t_12, __pyx_kp_b_rg_l_b_s_rb_rs_nn);
            __Pyx_GIVEREF(__pyx_t_5);
            PyTuple_SET_ITEM(__pyx_t_39, 1+__pyx_t_12, __pyx_t_5);
            __pyx_t_5 = 0;
            __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_39, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1275, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_3, 6, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1275, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
            __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0;
            __pyx_t_7 = NULL;
          } else {
            __pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1275, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1275, __pyx_L1_error)
          }
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
          for (;;) {
            if (likely(!__pyx_t_7)) {
              if (likely(PyList_CheckExact(__pyx_t_3))) {
                if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1275, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1275, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              } else {
                if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
                #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
                __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 1275, __pyx_L1_error)
                #else
                __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1275, __pyx_L1_error)
                __Pyx_GOTREF(__pyx_t_2);
                #endif
              }
            } else {
              __pyx_t_2 = __pyx_t_7(__pyx_t_3);
              if (unlikely(!__pyx_t_2)) {
                PyObject* exc_type = PyErr_Occurred();
                if (exc_type) {
                  if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
                  else __PYX_ERR(0, 1275, __pyx_L1_error)
                }
                break;
              }
              __Pyx_GOTREF(__pyx_t_2);
            }
            __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_2);
            __pyx_t_2 = 0;
/* … */
          }
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+1276:                         current_trans.append(int(str(x)))
            __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_x); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1276, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_2);
            __pyx_t_39 = __Pyx_PyNumber_Int(__pyx_t_2); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1276, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_39);
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __pyx_t_41 = __Pyx_PyList_Append(__pyx_v_current_trans, __pyx_t_39); if (unlikely(__pyx_t_41 == ((int)-1))) __PYX_ERR(0, 1276, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
+1277:                         if len(current_trans) == 2:
            __pyx_t_10 = PyList_GET_SIZE(__pyx_v_current_trans); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1277, __pyx_L1_error)
            __pyx_t_8 = ((__pyx_t_10 == 2) != 0);
            if (__pyx_t_8) {
/* … */
            }
+1278:                             temp_semi_1.insert(pair[int, int] (current_trans[0] - 48, current_trans[1] - 48))
              __pyx_t_39 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 0, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1278, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_2 = __Pyx_PyInt_SubtractObjC(__pyx_t_39, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1278, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_12 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_12 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1278, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_GetItemInt_List(__pyx_v_current_trans, 1, long, 1, __Pyx_PyInt_From_long, 1, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1278, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __pyx_t_39 = __Pyx_PyInt_SubtractObjC(__pyx_t_2, __pyx_int_48, 48, 0, 0); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1278, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_39); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1278, __pyx_L1_error)
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              try {
                __pyx_t_25 = std::pair<int,int> (__pyx_t_12, __pyx_t_24);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 1278, __pyx_L1_error)
              }
              (void)(__pyx_v_temp_semi_1.insert(__pyx_t_25));
+1279:                             current_trans = []
              __pyx_t_39 = PyList_New(0); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1279, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_39);
              __Pyx_DECREF_SET(__pyx_v_current_trans, ((PyObject*)__pyx_t_39));
              __pyx_t_39 = 0;
+1280:                     regen_survival_semi_1.push_back(temp_semi_1)
          try {
            __pyx_v_9CACompute_regen_survival_semi_1.push_back(__pyx_v_temp_semi_1);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1280, __pyx_L1_error)
          }
 1281: 
+1282:                     try: naive_lst.push_back(re.split(b"rg|l|b|s|rb|rs|nn", individual_rule_string)[7])
          {
            /*try:*/ {
              __Pyx_GetModuleGlobalName(__pyx_t_39, __pyx_n_s_re); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1282, __pyx_L779_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_39, __pyx_n_s_split); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1282, __pyx_L779_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              __pyx_t_39 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_v_individual_rule_string); if (unlikely(!__pyx_t_39)) __PYX_ERR(0, 1282, __pyx_L779_error)
              __Pyx_GOTREF(__pyx_t_39);
              __pyx_t_5 = NULL;
              __pyx_t_24 = 0;
              if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
                __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
                if (likely(__pyx_t_5)) {
                  PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
                  __Pyx_INCREF(__pyx_t_5);
                  __Pyx_INCREF(function);
                  __Pyx_DECREF_SET(__pyx_t_2, function);
                  __pyx_t_24 = 1;
                }
              }
              #if CYTHON_FAST_PYCALL
              if (PyFunction_Check(__pyx_t_2)) {
                PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_39};
                __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1282, __pyx_L779_error)
                __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
                __Pyx_GOTREF(__pyx_t_3);
                __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              } else
              #endif
              #if CYTHON_FAST_PYCCALL
              if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
                PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_kp_b_rg_l_b_s_rb_rs_nn, __pyx_t_39};
                __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_24, 2+__pyx_t_24); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1282, __pyx_L779_error)
                __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
                __Pyx_GOTREF(__pyx_t_3);
                __Pyx_DECREF(__pyx_t_39); __pyx_t_39 = 0;
              } else
              #endif
              {
                __pyx_t_4 = PyTuple_New(2+__pyx_t_24); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1282, __pyx_L779_error)
                __Pyx_GOTREF(__pyx_t_4);
                if (__pyx_t_5) {
                  __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __pyx_t_5 = NULL;
                }
                __Pyx_INCREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
                __Pyx_GIVEREF(__pyx_kp_b_rg_l_b_s_rb_rs_nn);
                PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_24, __pyx_kp_b_rg_l_b_s_rb_rs_nn);
                __Pyx_GIVEREF(__pyx_t_39);
                PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_24, __pyx_t_39);
                __pyx_t_39 = 0;
                __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1282, __pyx_L779_error)
                __Pyx_GOTREF(__pyx_t_3);
                __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
              }
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              __pyx_t_2 = __Pyx_GetItemInt(__pyx_t_3, 7, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1282, __pyx_L779_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1282, __pyx_L779_error)
              __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 1282, __pyx_L779_error)
              }
            }
            __Pyx_XDECREF(__pyx_t_38); __pyx_t_38 = 0;
            __Pyx_XDECREF(__pyx_t_37); __pyx_t_37 = 0;
            __Pyx_XDECREF(__pyx_t_36); __pyx_t_36 = 0;
            goto __pyx_L786_try_end;
            __pyx_L779_error:;
            __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
            __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
            __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
            __Pyx_XDECREF(__pyx_t_39); __pyx_t_39 = 0;
            __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
            __Pyx_XDECREF(__pyx_t_40); __pyx_t_40 = 0;
            __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
/* … */
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_ExceptionReset(__pyx_t_38, __pyx_t_37, __pyx_t_36);
            goto __pyx_L1_error;
            __pyx_L780_exception_handled:;
            __Pyx_XGIVEREF(__pyx_t_38);
            __Pyx_XGIVEREF(__pyx_t_37);
            __Pyx_XGIVEREF(__pyx_t_36);
            __Pyx_ExceptionReset(__pyx_t_38, __pyx_t_37, __pyx_t_36);
            __pyx_L786_try_end:;
          }
        }
        __pyx_L744:;
+1283:                     except IndexError: naive_lst.push_back(b"-1")
            __pyx_t_24 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_IndexError);
            if (__pyx_t_24) {
              __Pyx_AddTraceback("CACompute.load", __pyx_clineno, __pyx_lineno, __pyx_filename);
              if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4) < 0) __PYX_ERR(0, 1283, __pyx_L781_except_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_GOTREF(__pyx_t_3);
              __Pyx_GOTREF(__pyx_t_4);
              __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_kp_b_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1283, __pyx_L781_except_error)
              try {
                __pyx_v_9CACompute_naive_lst.push_back(__pyx_t_1);
              } catch(...) {
                __Pyx_CppExn2PyErr();
                __PYX_ERR(0, 1283, __pyx_L781_except_error)
              }
              __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
              __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              goto __pyx_L780_exception_handled;
            }
            goto __pyx_L781_except_error;
            __pyx_L781_except_error:;
 1284: 
+1285:     for x in naive_lst:
  __pyx_t_35 = __pyx_v_9CACompute_naive_lst.begin();
  for (;;) {
    if (!(__pyx_t_35 != __pyx_v_9CACompute_naive_lst.end())) break;
    __pyx_t_1 = *__pyx_t_35;
    ++__pyx_t_35;
    __pyx_t_4 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1285, __pyx_L1_error)
    __Pyx_GOTREF(__pyx_t_4);
    __Pyx_XDECREF_SET(__pyx_v_x, __pyx_t_4);
    __pyx_t_4 = 0;
/* … */
  }
+1286:         if x != b"-1":
    __pyx_t_8 = (__Pyx_PyBytes_Equals(__pyx_v_x, __pyx_kp_b_1, Py_NE)); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 1286, __pyx_L1_error)
    if (__pyx_t_8) {
/* … */
      goto __pyx_L791;
    }
+1287:             corner_lst.push_back(int(x.decode("utf-8")[0]))
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_decode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1287, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_2 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_2)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_2);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_kp_u_utf_8) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_u_utf_8);
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1287, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_4, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1287, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyNumber_Int(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1287, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1287, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      try {
        __pyx_v_9CACompute_corner_lst.push_back(__pyx_t_24);
      } catch(...) {
        __Pyx_CppExn2PyErr();
        __PYX_ERR(0, 1287, __pyx_L1_error)
      }
+1288:             direction_lst.push_back(str(x.decode("utf-8")[1]).encode("utf-8"))
      __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_decode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1288, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_2 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
        __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
        if (likely(__pyx_t_2)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
          __Pyx_INCREF(__pyx_t_2);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_3, function);
        }
      }
      __pyx_t_4 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_kp_u_utf_8) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_u_utf_8);
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1288, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_GetItemInt(__pyx_t_4, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1288, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1288, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = PyUnicode_AsUTF8String(((PyObject*)__pyx_t_4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1288, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_t_3); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1288, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      try {
        __pyx_v_9CACompute_direction_lst.push_back(__pyx_t_1);
      } catch(...) {
        __Pyx_CppExn2PyErr();
        __PYX_ERR(0, 1288, __pyx_L1_error)
      }
+1289:             xy_lst.push_back(int(x.decode("utf-8")[2]))
      __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_x, __pyx_n_s_decode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1289, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_2 = NULL;
      if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
        __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
        if (likely(__pyx_t_2)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
          __Pyx_INCREF(__pyx_t_2);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_4, function);
        }
      }
      __pyx_t_3 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_2, __pyx_kp_u_utf_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_u_utf_8);
      __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
      if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1289, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_4 = __Pyx_GetItemInt(__pyx_t_3, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1289, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_t_3 = __Pyx_PyNumber_Int(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1289, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
      __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1289, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      try {
        __pyx_v_9CACompute_xy_lst.push_back(__pyx_t_24);
      } catch(...) {
        __Pyx_CppExn2PyErr();
        __PYX_ERR(0, 1289, __pyx_L1_error)
      }
 1290:         else:
+1291:             corner_lst.push_back(-1)
    /*else*/ {
      try {
        __pyx_v_9CACompute_corner_lst.push_back(-1);
      } catch(...) {
        __Pyx_CppExn2PyErr();
        __PYX_ERR(0, 1291, __pyx_L1_error)
      }
+1292:             direction_lst.push_back(b"")
      __pyx_t_1 = __pyx_convert_string_from_py_std__in_string(__pyx_kp_b_); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1292, __pyx_L1_error)
      try {
        __pyx_v_9CACompute_direction_lst.push_back(__pyx_t_1);
      } catch(...) {
        __Pyx_CppExn2PyErr();
        __PYX_ERR(0, 1292, __pyx_L1_error)
      }
+1293:             xy_lst.push_back(-1)
      try {
        __pyx_v_9CACompute_xy_lst.push_back(-1);
      } catch(...) {
        __Pyx_CppExn2PyErr();
        __PYX_ERR(0, 1293, __pyx_L1_error)
      }
    }
    __pyx_L791:;
 1294: 
 1295: 
+1296: cpdef vector[pair[int, int]] get_neighbourhood(int generations):
static PyObject *__pyx_pw_9CACompute_3get_neighbourhood(PyObject *__pyx_self, PyObject *__pyx_arg_generations); /*proto*/
static std::vector<std::pair<int,int> >  __pyx_f_9CACompute_get_neighbourhood(int __pyx_v_generations, CYTHON_UNUSED int __pyx_skip_dispatch) {
  std::vector<std::pair<int,int> >  __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_neighbourhood", 0);
/* … */
  /* function exit code */
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_9CACompute_3get_neighbourhood(PyObject *__pyx_self, PyObject *__pyx_arg_generations); /*proto*/
static PyObject *__pyx_pw_9CACompute_3get_neighbourhood(PyObject *__pyx_self, PyObject *__pyx_arg_generations) {
  int __pyx_v_generations;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_neighbourhood (wrapper)", 0);
  assert(__pyx_arg_generations); {
    __pyx_v_generations = __Pyx_PyInt_As_int(__pyx_arg_generations); if (unlikely((__pyx_v_generations == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1296, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L3_error:;
  __Pyx_AddTraceback("CACompute.get_neighbourhood", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9CACompute_2get_neighbourhood(__pyx_self, ((int)__pyx_v_generations));

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9CACompute_2get_neighbourhood(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_generations) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_neighbourhood", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_convert_vector_to_py_std_3a__3a_pair_3c_int_2c_int_3e___(__pyx_f_9CACompute_get_neighbourhood(__pyx_v_generations, 0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1296, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("CACompute.get_neighbourhood", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+1297:     return neighbourhood[generations % alternating_period]
  __pyx_r = (__pyx_v_9CACompute_neighbourhood[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]);
  goto __pyx_L0;
 1298: 
+1299: cpdef int get_n_states():
static PyObject *__pyx_pw_9CACompute_5get_n_states(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static int __pyx_f_9CACompute_get_n_states(CYTHON_UNUSED int __pyx_skip_dispatch) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_n_states", 0);
/* … */
  /* function exit code */
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_9CACompute_5get_n_states(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9CACompute_5get_n_states(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_n_states (wrapper)", 0);
  __pyx_r = __pyx_pf_9CACompute_4get_n_states(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9CACompute_4get_n_states(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_n_states", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_f_9CACompute_get_n_states(0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1299, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("CACompute.get_n_states", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+1300:     return n_states
  __pyx_r = __pyx_v_9CACompute_n_states;
  goto __pyx_L0;
 1301: 
+1302: cpdef vector[vector[int]] get_colour_palette():
static PyObject *__pyx_pw_9CACompute_7get_colour_palette(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static std::vector<std::vector<int> >  __pyx_f_9CACompute_get_colour_palette(CYTHON_UNUSED int __pyx_skip_dispatch) {
  std::vector<std::vector<int> >  __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_colour_palette", 0);
/* … */
  /* function exit code */
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_9CACompute_7get_colour_palette(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9CACompute_7get_colour_palette(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_colour_palette (wrapper)", 0);
  __pyx_r = __pyx_pf_9CACompute_6get_colour_palette(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9CACompute_6get_colour_palette(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_colour_palette", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_convert_vector_to_py_std_3a__3a_vector_3c_int_3e___(__pyx_f_9CACompute_get_colour_palette(0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1302, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("CACompute.get_colour_palette", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+1303:     return colour_palette
  __pyx_r = __pyx_v_9CACompute_colour_palette;
  goto __pyx_L0;
 1304: 
+1305: cpdef string get_rule_name():
static PyObject *__pyx_pw_9CACompute_9get_rule_name(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static std::string __pyx_f_9CACompute_get_rule_name(CYTHON_UNUSED int __pyx_skip_dispatch) {
  std::string __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_rule_name", 0);
/* … */
  /* function exit code */
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_9CACompute_9get_rule_name(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused); /*proto*/
static PyObject *__pyx_pw_9CACompute_9get_rule_name(PyObject *__pyx_self, CYTHON_UNUSED PyObject *unused) {
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_rule_name (wrapper)", 0);
  __pyx_r = __pyx_pf_9CACompute_8get_rule_name(__pyx_self);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9CACompute_8get_rule_name(CYTHON_UNUSED PyObject *__pyx_self) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("get_rule_name", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_f_9CACompute_get_rule_name(0)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1305, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("CACompute.get_rule_name", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+1306:     return rule_name
  __pyx_r = __pyx_v_9CACompute_rule_name;
  goto __pyx_L0;
 1307: 
+1308: cdef int transition_func(vector[int] neighbours, int generations):
static int __pyx_f_9CACompute_transition_func(std::vector<int>  __pyx_v_neighbours, int __pyx_v_generations) {
  int __pyx_v_n_living;
  int __pyx_v_n_destructive;
  int __pyx_v_n;
  int __pyx_v_n_birth;
  int __pyx_v_n_survival;
  int __pyx_v_idx;
  int __pyx_v_n_regen_birth;
  int __pyx_v_n_regen_survival;
  int __pyx_v_n_forcing;
  int __pyx_v_n_killing;
  int __pyx_v_n1;
  int __pyx_v_n2;
  int __pyx_v_n_edge;
  int __pyx_v_n_corner;
  int __pyx_v_n_edge_destructive;
  int __pyx_v_n_corner_destructive;
  std::pair<int,int>  __pyx_v_neighbour;
  std::pair<int,int>  __pyx_v_neighbour2;
  std::pair<int,int>  __pyx_v_alive_semi_1;
  std::pair<int,int>  __pyx_v_destructive_semi_1;
  std::vector<int> ::size_type __pyx_v_i;
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("transition_func", 0);
/* … */
  /* function exit code */
  __pyx_r = 0;
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_13);
  __Pyx_WriteUnraisable("CACompute.transition_func", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+1309:     cdef int n_living = 0, n_destructive = 0, n = 0, n_birth = 0, n_survival = 0, index, found_index, idx, \
  __pyx_v_n_living = 0;
  __pyx_v_n_destructive = 0;
  __pyx_v_n = 0;
  __pyx_v_n_birth = 0;
  __pyx_v_n_survival = 0;
  __pyx_v_n_regen_birth = 0;
  __pyx_v_n_regen_survival = 0;
  __pyx_v_n_forcing = 0;
  __pyx_v_n_killing = 0;
  __pyx_v_n1 = 0;
  __pyx_v_n2 = 0;
  __pyx_v_n_edge = 0;
  __pyx_v_n_corner = 0;
  __pyx_v_n_edge_destructive = 0;
  __pyx_v_n_corner_destructive = 0;
 1310:         n_regen_birth = 0, n_regen_survival = 0, n_forcing = 0, n_killing = 0, n1 = 0, n2 = 0, \
 1311:         n_edge = 0, n_corner = 0, n_edge_destructive = 0, n_corner_destructive = 0
 1312:     cdef pair[int, int] neighbour, neighbour2, alive_semi_1, destructive_semi_1
+1313:     if rule_space == b"BSFKL":
  __pyx_t_1 = ((__pyx_v_9CACompute_rule_space == ((char const *)"BSFKL")) != 0);
  if (__pyx_t_1) {
/* … */
    goto __pyx_L3;
  }
+1314:         if bsconditions == b"Outer Totalistic":
    __pyx_t_1 = ((__pyx_v_9CACompute_bsconditions == ((char const *)"Outer Totalistic")) != 0);
    if (__pyx_t_1) {
/* … */
    }
+1315:             for i in range(neighbours.size() - 1):
      __pyx_t_2 = (__pyx_v_neighbours.size() - 1);
      __pyx_t_3 = __pyx_t_2;
      for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
        __pyx_v_i = __pyx_t_4;
+1316:                 if neighbours[i] == 1:
        __pyx_t_1 = (((__pyx_v_neighbours[__pyx_v_i]) == 1) != 0);
        if (__pyx_t_1) {
/* … */
          goto __pyx_L7;
        }
+1317:                     n_living += neighbourhood_weights[generations % alternating_period][i]
          __pyx_v_n_living = (__pyx_v_n_living + ((__pyx_v_9CACompute_neighbourhood_weights[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[__pyx_v_i]));
+1318:                 elif neighbours[i] == 2:
        __pyx_t_1 = (((__pyx_v_neighbours[__pyx_v_i]) == 2) != 0);
        if (__pyx_t_1) {
/* … */
        }
        __pyx_L7:;
      }
+1319:                     n_destructive += neighbourhood_weights[generations % alternating_period][i]
          __pyx_v_n_destructive = (__pyx_v_n_destructive + ((__pyx_v_9CACompute_neighbourhood_weights[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[__pyx_v_i]));
 1320: 
+1321:             if neighbours[neighbours.size() - 1] == 1:
      __pyx_t_1 = (((__pyx_v_neighbours[(__pyx_v_neighbours.size() - 1)]) == 1) != 0);
      if (__pyx_t_1) {
/* … */
      }
+1322:                 if killing[generations % alternating_period].find(n_destructive) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_killing[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n_destructive) != (__pyx_v_9CACompute_killing[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1323:                         killing[generations % alternating_period].end():
+1324:                     return 0
          __pyx_r = 0;
          goto __pyx_L0;
+1325:                 elif survival[generations % alternating_period].find(n_living) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_survival[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n_living) != (__pyx_v_9CACompute_survival[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1326:                         survival[generations % alternating_period].end():
+1327:                     return 1
          __pyx_r = 1;
          goto __pyx_L0;
+1328:                 return 2
        __pyx_r = 2;
        goto __pyx_L0;
 1329: 
+1330:             elif neighbours[neighbours.size() - 1] == 2:
      __pyx_t_1 = (((__pyx_v_neighbours[(__pyx_v_neighbours.size() - 1)]) == 2) != 0);
      if (__pyx_t_1) {
/* … */
      }
+1331:                 if living[generations % alternating_period].find(n_living) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_living[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n_living) != (__pyx_v_9CACompute_living[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1332:                         living[generations % alternating_period].end():
+1333:                     return 0
          __pyx_r = 0;
          goto __pyx_L0;
+1334:                 return 2
        __pyx_r = 2;
        goto __pyx_L0;
 1335: 
 1336:             else:
+1337:                 if forcing[generations % alternating_period].find(n_destructive) != \
      /*else*/ {
/* … */
        __pyx_t_5 = (((__pyx_v_9CACompute_forcing[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n_destructive) != (__pyx_v_9CACompute_forcing[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_5) {
        } else {
          __pyx_t_1 = __pyx_t_5;
          goto __pyx_L12_bool_binop_done;
        }
/* … */
        if (__pyx_t_1) {
/* … */
        }
 1338:                         forcing[generations % alternating_period].end() and \
+1339:                         birth[generations % alternating_period].find(n_living) != \
        __pyx_t_5 = (((__pyx_v_9CACompute_birth[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n_living) != (__pyx_v_9CACompute_birth[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        __pyx_t_1 = __pyx_t_5;
        __pyx_L12_bool_binop_done:;
 1340:                         birth[generations % alternating_period].end():
+1341:                     return 1
          __pyx_r = 1;
          goto __pyx_L0;
+1342:                 return 0
        __pyx_r = 0;
        goto __pyx_L0;
      }
+1343:         elif bsconditions == b"Double Totalistic":
    __pyx_t_1 = ((__pyx_v_9CACompute_bsconditions == ((char const *)"Double Totalistic")) != 0);
    if (__pyx_t_1) {
/* … */
    }
+1344:             n_birth = 0
      __pyx_v_n_birth = 0;
+1345:             n_survival = 0
      __pyx_v_n_survival = 0;
+1346:             n_living = 0
      __pyx_v_n_living = 0;
+1347:             n_forcing = 0
      __pyx_v_n_forcing = 0;
+1348:             n_killing = 0
      __pyx_v_n_killing = 0;
+1349:             for neighbour in original_neighbourhood[generations % alternating_period]:
      __pyx_t_7 = &(__pyx_v_9CACompute_original_neighbourhood[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]);
      __pyx_t_6 = __pyx_t_7->begin();
      for (;;) {
        if (!(__pyx_t_6 != __pyx_t_7->end())) break;
        __pyx_t_8 = *__pyx_t_6;
        ++__pyx_t_6;
        __pyx_v_neighbour = __pyx_t_8;
/* … */
      }
+1350:                 n1, n2 = 0, 0
        __pyx_t_9 = 0;
        __pyx_t_10 = 0;
        __pyx_v_n1 = __pyx_t_9;
        __pyx_v_n2 = __pyx_t_10;
+1351:                 idx = 0
        __pyx_v_idx = 0;
+1352:                 for neighbour2 in original_neighbourhood[generations % alternating_period]:
        __pyx_t_12 = &(__pyx_v_9CACompute_original_neighbourhood[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]);
        __pyx_t_11 = __pyx_t_12->begin();
        for (;;) {
          if (!(__pyx_t_11 != __pyx_t_12->end())) break;
          __pyx_t_8 = *__pyx_t_11;
          ++__pyx_t_11;
          __pyx_v_neighbour2 = __pyx_t_8;
/* … */
        }
+1353:                     if neighbours[index_map[generations % alternating_period][pair[int, int]
          if (__pyx_t_1) {
/* … */
          }
+1354:                          (neighbour.first + neighbour2.first, neighbour.second + neighbour2.second)]] == 1:
          try {
            __pyx_t_8 = std::pair<int,int> ((__pyx_v_neighbour.first + __pyx_v_neighbour2.first), (__pyx_v_neighbour.second + __pyx_v_neighbour2.second));
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1354, __pyx_L1_error)
          }
/* … */
          __pyx_t_1 = (((__pyx_v_neighbours[((__pyx_v_9CACompute_index_map[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[__pyx_t_8])]) == 1) != 0);
+1355:                         n1 += neighbourhood_weights[generations % alternating_period][idx]
            __pyx_v_n1 = (__pyx_v_n1 + ((__pyx_v_9CACompute_neighbourhood_weights[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[__pyx_v_idx]));
+1356:                     if neighbours[index_map[generations % alternating_period][pair[int, int]
          if (__pyx_t_1) {
/* … */
          }
+1357:                          (neighbour.first + neighbour2.first, neighbour.second + neighbour2.second)]] == 2:
          try {
            __pyx_t_8 = std::pair<int,int> ((__pyx_v_neighbour.first + __pyx_v_neighbour2.first), (__pyx_v_neighbour.second + __pyx_v_neighbour2.second));
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1357, __pyx_L1_error)
          }
/* … */
          __pyx_t_1 = (((__pyx_v_neighbours[((__pyx_v_9CACompute_index_map[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[__pyx_t_8])]) == 2) != 0);
+1358:                         n2 += neighbourhood_weights[generations % alternating_period][idx]
            __pyx_v_n2 = (__pyx_v_n2 + ((__pyx_v_9CACompute_neighbourhood_weights[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[__pyx_v_idx]));
+1359:                     idx += 1
          __pyx_v_idx = (__pyx_v_idx + 1);
 1360: 
+1361:                 if other_birth[generations % alternating_period].find(n1) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_other_birth[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n1) != (__pyx_v_9CACompute_other_birth[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1362:                         other_birth[generations % alternating_period].end():
+1363:                     n_birth += 1
          __pyx_v_n_birth = (__pyx_v_n_birth + 1);
+1364:                 if other_survival[generations % alternating_period].find(n1) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_other_survival[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n1) != (__pyx_v_9CACompute_other_survival[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1365:                         other_survival[generations % alternating_period].end():
+1366:                     n_survival += 1
          __pyx_v_n_survival = (__pyx_v_n_survival + 1);
+1367:                 if other_living[generations % alternating_period].find(n1) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_other_living[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n1) != (__pyx_v_9CACompute_other_living[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1368:                         other_living[generations % alternating_period].end():
+1369:                     n_living += 1
          __pyx_v_n_living = (__pyx_v_n_living + 1);
+1370:                 if other_forcing[generations % alternating_period].find(n2) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_other_forcing[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n2) != (__pyx_v_9CACompute_other_forcing[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1371:                         other_forcing[generations % alternating_period].end():
+1372:                     n_forcing += 1
          __pyx_v_n_forcing = (__pyx_v_n_forcing + 1);
+1373:                 if other_killing[generations % alternating_period].find(n2) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_other_killing[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n2) != (__pyx_v_9CACompute_other_killing[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1374:                         other_killing[generations % alternating_period].end():
+1375:                     n_killing += 1
          __pyx_v_n_killing = (__pyx_v_n_killing + 1);
 1376: 
+1377:             if neighbours[neighbours.size() - 1] == 1:
      __pyx_t_1 = (((__pyx_v_neighbours[(__pyx_v_neighbours.size() - 1)]) == 1) != 0);
      if (__pyx_t_1) {
/* … */
      }
+1378:                 if killing[generations % alternating_period].find(n_killing) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_killing[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n_killing) != (__pyx_v_9CACompute_killing[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1379:                         killing[generations % alternating_period].end():
+1380:                     return 0
          __pyx_r = 0;
          goto __pyx_L0;
+1381:                 elif survival[generations % alternating_period].find(n_survival) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_survival[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n_survival) != (__pyx_v_9CACompute_survival[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1382:                         survival[generations % alternating_period].end():
+1383:                     return 1
          __pyx_r = 1;
          goto __pyx_L0;
+1384:                 return 2
        __pyx_r = 2;
        goto __pyx_L0;
 1385: 
+1386:             elif neighbours[neighbours.size() - 1] == 2:
      __pyx_t_1 = (((__pyx_v_neighbours[(__pyx_v_neighbours.size() - 1)]) == 2) != 0);
      if (__pyx_t_1) {
/* … */
      }
+1387:                 if living[generations % alternating_period].find(n_living) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_living[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n_living) != (__pyx_v_9CACompute_living[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1388:                         living[generations % alternating_period].end():
+1389:                     return 0
          __pyx_r = 0;
          goto __pyx_L0;
+1390:                 return 2
        __pyx_r = 2;
        goto __pyx_L0;
 1391: 
 1392:             else:
+1393:                 if forcing[generations % alternating_period].find(n_forcing) != \
      /*else*/ {
/* … */
        __pyx_t_5 = (((__pyx_v_9CACompute_forcing[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n_forcing) != (__pyx_v_9CACompute_forcing[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_5) {
        } else {
          __pyx_t_1 = __pyx_t_5;
          goto __pyx_L29_bool_binop_done;
        }
/* … */
        if (__pyx_t_1) {
/* … */
        }
 1394:                         forcing[generations % alternating_period].end() and \
+1395:                         birth[generations % alternating_period].find(n_birth) != \
        __pyx_t_5 = (((__pyx_v_9CACompute_birth[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n_birth) != (__pyx_v_9CACompute_birth[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        __pyx_t_1 = __pyx_t_5;
        __pyx_L29_bool_binop_done:;
 1396:                         birth[generations % alternating_period].end():
+1397:                     return 1
          __pyx_r = 1;
          goto __pyx_L0;
+1398:                 return 0
        __pyx_r = 0;
        goto __pyx_L0;
      }
+1399:         elif bsconditions == b"Range 1 Moore Semi Totalistic":
    __pyx_t_1 = ((__pyx_v_9CACompute_bsconditions == ((char const *)"Range 1 Moore Semi Totalistic")) != 0);
    if (__pyx_t_1) {
/* … */
    }
+1400:             for i in range(len(neighbours) - 1):
      __pyx_t_13 = __pyx_convert_vector_to_py_int(__pyx_v_neighbours); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1400, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_13);
      __pyx_t_14 = PyObject_Length(__pyx_t_13); if (unlikely(__pyx_t_14 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1400, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      __pyx_t_15 = (__pyx_t_14 - 1);
      __pyx_t_14 = __pyx_t_15;
      for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_14; __pyx_t_2+=1) {
        __pyx_v_i = __pyx_t_2;
+1401:                 if neighbourhood[generations % alternating_period][i] == pair[int, int] (0, -1) or \
        try {
          __pyx_t_8 = std::pair<int,int> (0, -1);
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1401, __pyx_L1_error)
        }
        __pyx_t_5 = ((((__pyx_v_9CACompute_neighbourhood[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[__pyx_v_i]) == __pyx_t_8) != 0);
        if (!__pyx_t_5) {
        } else {
          __pyx_t_1 = __pyx_t_5;
          goto __pyx_L34_bool_binop_done;
        }
/* … */
        if (__pyx_t_1) {
/* … */
          goto __pyx_L33;
        }
+1402:                         neighbourhood[generations % alternating_period][i] == pair[int, int] (0, 1) or \
        try {
          __pyx_t_8 = std::pair<int,int> (0, 1);
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1402, __pyx_L1_error)
        }
        __pyx_t_5 = ((((__pyx_v_9CACompute_neighbourhood[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[__pyx_v_i]) == __pyx_t_8) != 0);
        if (!__pyx_t_5) {
        } else {
          __pyx_t_1 = __pyx_t_5;
          goto __pyx_L34_bool_binop_done;
        }
+1403:                         neighbourhood[generations % alternating_period][i] == pair[int, int] (1, 0) or \
        try {
          __pyx_t_8 = std::pair<int,int> (1, 0);
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1403, __pyx_L1_error)
        }
        __pyx_t_5 = ((((__pyx_v_9CACompute_neighbourhood[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[__pyx_v_i]) == __pyx_t_8) != 0);
        if (!__pyx_t_5) {
        } else {
          __pyx_t_1 = __pyx_t_5;
          goto __pyx_L34_bool_binop_done;
        }
+1404:                         neighbourhood[generations % alternating_period][i] == pair[int, int] (-1, 0):
        try {
          __pyx_t_8 = std::pair<int,int> (-1, 0);
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1404, __pyx_L1_error)
        }
        __pyx_t_5 = ((((__pyx_v_9CACompute_neighbourhood[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[__pyx_v_i]) == __pyx_t_8) != 0);
        __pyx_t_1 = __pyx_t_5;
        __pyx_L34_bool_binop_done:;
+1405:                     if neighbours[i] == 1:
          __pyx_t_1 = (((__pyx_v_neighbours[__pyx_v_i]) == 1) != 0);
          if (__pyx_t_1) {
/* … */
            goto __pyx_L38;
          }
+1406:                         n_edge += 1
            __pyx_v_n_edge = (__pyx_v_n_edge + 1);
+1407:                     elif neighbours[i] == 2:
          __pyx_t_1 = (((__pyx_v_neighbours[__pyx_v_i]) == 2) != 0);
          if (__pyx_t_1) {
/* … */
          }
          __pyx_L38:;
+1408:                         n_edge_destructive += 1
            __pyx_v_n_edge_destructive = (__pyx_v_n_edge_destructive + 1);
 1409:                 else:
+1410:                     if neighbours[i] == 1:
        /*else*/ {
          __pyx_t_1 = (((__pyx_v_neighbours[__pyx_v_i]) == 1) != 0);
          if (__pyx_t_1) {
/* … */
            goto __pyx_L39;
          }
+1411:                         n_corner += 1
            __pyx_v_n_corner = (__pyx_v_n_corner + 1);
+1412:                     elif neighbours[i] == 2:
          __pyx_t_1 = (((__pyx_v_neighbours[__pyx_v_i]) == 2) != 0);
          if (__pyx_t_1) {
/* … */
          }
          __pyx_L39:;
        }
        __pyx_L33:;
      }
+1413:                         n_corner_destructive += 1
            __pyx_v_n_corner_destructive = (__pyx_v_n_corner_destructive + 1);
 1414: 
+1415:             alive_semi_1 = pair[int, int] (n_corner, n_edge)
      try {
        __pyx_t_8 = std::pair<int,int> (__pyx_v_n_corner, __pyx_v_n_edge);
      } catch(...) {
        __Pyx_CppExn2PyErr();
        __PYX_ERR(0, 1415, __pyx_L1_error)
      }
      __pyx_v_alive_semi_1 = __pyx_t_8;
+1416:             destructive_semi_1 = pair[int, int] (n_corner_destructive, n_edge_destructive)
      try {
        __pyx_t_8 = std::pair<int,int> (__pyx_v_n_corner_destructive, __pyx_v_n_edge_destructive);
      } catch(...) {
        __Pyx_CppExn2PyErr();
        __PYX_ERR(0, 1416, __pyx_L1_error)
      }
      __pyx_v_destructive_semi_1 = __pyx_t_8;
+1417:             if neighbours[neighbours.size() - 1] == 1:
      __pyx_t_1 = (((__pyx_v_neighbours[(__pyx_v_neighbours.size() - 1)]) == 1) != 0);
      if (__pyx_t_1) {
/* … */
      }
+1418:                 if killing_semi_1[generations % alternating_period].find(destructive_semi_1) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_killing_semi_1[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_destructive_semi_1) != (__pyx_v_9CACompute_killing_semi_1[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1419:                         killing_semi_1[generations % alternating_period].end():
+1420:                     return 0
          __pyx_r = 0;
          goto __pyx_L0;
+1421:                 elif survival_semi_1[generations % alternating_period].find(alive_semi_1) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_survival_semi_1[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_alive_semi_1) != (__pyx_v_9CACompute_survival_semi_1[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1422:                         survival_semi_1[generations % alternating_period].end():
+1423:                     return 1
          __pyx_r = 1;
          goto __pyx_L0;
+1424:                 return 2
        __pyx_r = 2;
        goto __pyx_L0;
 1425: 
+1426:             elif neighbours[neighbours.size() - 1] == 2:
      __pyx_t_1 = (((__pyx_v_neighbours[(__pyx_v_neighbours.size() - 1)]) == 2) != 0);
      if (__pyx_t_1) {
/* … */
      }
+1427:                 if living_semi_1[generations % alternating_period].find(alive_semi_1) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_living_semi_1[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_alive_semi_1) != (__pyx_v_9CACompute_living_semi_1[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1428:                         living_semi_1[generations % alternating_period].end():
+1429:                     return 0
          __pyx_r = 0;
          goto __pyx_L0;
+1430:                 return 2
        __pyx_r = 2;
        goto __pyx_L0;
 1431: 
 1432:             else:
+1433:                 if forcing_semi_1[generations % alternating_period].find(destructive_semi_1) != \
      /*else*/ {
/* … */
        __pyx_t_5 = (((__pyx_v_9CACompute_forcing_semi_1[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_destructive_semi_1) != (__pyx_v_9CACompute_forcing_semi_1[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_5) {
        } else {
          __pyx_t_1 = __pyx_t_5;
          goto __pyx_L44_bool_binop_done;
        }
/* … */
        if (__pyx_t_1) {
/* … */
        }
 1434:                         forcing_semi_1[generations % alternating_period].end() and \
+1435:                         birth_semi_1[generations % alternating_period].find(alive_semi_1) != \
        __pyx_t_5 = (((__pyx_v_9CACompute_birth_semi_1[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_alive_semi_1) != (__pyx_v_9CACompute_birth_semi_1[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        __pyx_t_1 = __pyx_t_5;
        __pyx_L44_bool_binop_done:;
 1436:                         birth_semi_1[generations % alternating_period].end():
+1437:                     return 1
          __pyx_r = 1;
          goto __pyx_L0;
+1438:                 return 0
        __pyx_r = 0;
        goto __pyx_L0;
      }
+1439:     elif rule_space == b"Extended Generations":
  __pyx_t_1 = ((__pyx_v_9CACompute_rule_space == ((char const *)"Extended Generations")) != 0);
  if (__pyx_t_1) {
/* … */
    goto __pyx_L3;
  }
+1440:         if bsconditions == b"Outer Totalistic":
    __pyx_t_1 = ((__pyx_v_9CACompute_bsconditions == ((char const *)"Outer Totalistic")) != 0);
    if (__pyx_t_1) {
/* … */
      goto __pyx_L46;
    }
+1441:             for i in range(neighbours.size() - 1):
      __pyx_t_2 = (__pyx_v_neighbours.size() - 1);
      __pyx_t_3 = __pyx_t_2;
      for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
        __pyx_v_i = __pyx_t_4;
+1442:                 n += neighbourhood_weights[generations % alternating_period][i] * \
        __pyx_v_n = (__pyx_v_n + (((__pyx_v_9CACompute_neighbourhood_weights[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[__pyx_v_i]) * ((__pyx_v_9CACompute_state_weights[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[(__pyx_v_neighbours[__pyx_v_i])])));
      }
 1443:                      state_weights[generations % alternating_period][neighbours[i]]
 1444: 
+1445:             if activity_list[generations % alternating_period].find(neighbours[neighbours.size() - 1]) != \
      __pyx_t_1 = (((__pyx_v_9CACompute_activity_list[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find((__pyx_v_neighbours[(__pyx_v_neighbours.size() - 1)])) != (__pyx_v_9CACompute_activity_list[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
      if (__pyx_t_1) {
/* … */
      }
 1446:                     activity_list[generations % alternating_period].end():
+1447:                 if survival[generations % alternating_period].find(n) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_survival[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n) != (__pyx_v_9CACompute_survival[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1448:                         survival[generations % alternating_period].end():
+1449:                     return neighbours[neighbours.size() - 1]
          __pyx_r = (__pyx_v_neighbours[(__pyx_v_neighbours.size() - 1)]);
          goto __pyx_L0;
+1450:                 return (neighbours[neighbours.size() - 1] + 1) % n_states
        __pyx_r = (((__pyx_v_neighbours[(__pyx_v_neighbours.size() - 1)]) + 1) % __pyx_v_9CACompute_n_states);
        goto __pyx_L0;
 1451: 
+1452:             elif neighbours[neighbours.size() - 1] == 0:
      __pyx_t_1 = (((__pyx_v_neighbours[(__pyx_v_neighbours.size() - 1)]) == 0) != 0);
      if (__pyx_t_1) {
/* … */
      }
+1453:                 if birth[generations % alternating_period].find(n) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_birth[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n) != (__pyx_v_9CACompute_birth[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1454:                         birth[generations % alternating_period].end():
+1455:                     return 1
          __pyx_r = 1;
          goto __pyx_L0;
+1456:                 return 0
        __pyx_r = 0;
        goto __pyx_L0;
+1457:         elif bsconditions == b"Double Totalistic":
    __pyx_t_1 = ((__pyx_v_9CACompute_bsconditions == ((char const *)"Double Totalistic")) != 0);
    if (__pyx_t_1) {
/* … */
      goto __pyx_L46;
    }
+1458:             n_birth = 0
      __pyx_v_n_birth = 0;
+1459:             n_survival = 0
      __pyx_v_n_survival = 0;
+1460:             for neighbour in original_neighbourhood[generations % alternating_period]:
      __pyx_t_7 = &(__pyx_v_9CACompute_original_neighbourhood[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]);
      __pyx_t_6 = __pyx_t_7->begin();
      for (;;) {
        if (!(__pyx_t_6 != __pyx_t_7->end())) break;
        __pyx_t_8 = *__pyx_t_6;
        ++__pyx_t_6;
        __pyx_v_neighbour = __pyx_t_8;
/* … */
      }
+1461:                 n = 0
        __pyx_v_n = 0;
+1462:                 idx = 0
        __pyx_v_idx = 0;
+1463:                 for neighbour2 in original_neighbourhood[generations % alternating_period]:
        __pyx_t_12 = &(__pyx_v_9CACompute_original_neighbourhood[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]);
        __pyx_t_11 = __pyx_t_12->begin();
        for (;;) {
          if (!(__pyx_t_11 != __pyx_t_12->end())) break;
          __pyx_t_8 = *__pyx_t_11;
          ++__pyx_t_11;
          __pyx_v_neighbour2 = __pyx_t_8;
/* … */
        }
+1464:                     n += neighbourhood_weights[generations % alternating_period][idx] * \
          __pyx_v_n = (__pyx_v_n + (((__pyx_v_9CACompute_neighbourhood_weights[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[__pyx_v_idx]) * ((__pyx_v_9CACompute_state_weights[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[(__pyx_v_neighbours[((__pyx_v_9CACompute_index_map[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[__pyx_t_8])])])));
 1465:                          state_weights[generations % alternating_period][neighbours[index_map[
 1466:                              generations % alternating_period][pair[int, int]
+1467:                          (neighbour.first + neighbour2.first, neighbour.second + neighbour2.second)]]]
          try {
            __pyx_t_8 = std::pair<int,int> ((__pyx_v_neighbour.first + __pyx_v_neighbour2.first), (__pyx_v_neighbour.second + __pyx_v_neighbour2.second));
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1467, __pyx_L1_error)
          }
+1468:                     idx += 1
          __pyx_v_idx = (__pyx_v_idx + 1);
 1469: 
+1470:                 if other_birth[generations % alternating_period].find(n) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_other_birth[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n) != (__pyx_v_9CACompute_other_birth[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1471:                         other_birth[generations % alternating_period].end():
+1472:                     n_birth += 1
          __pyx_v_n_birth = (__pyx_v_n_birth + 1);
+1473:                 if other_survival[generations % alternating_period].find(n) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_other_survival[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n) != (__pyx_v_9CACompute_other_survival[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1474:                         other_survival[generations % alternating_period].end():
+1475:                     n_survival += 1
          __pyx_v_n_survival = (__pyx_v_n_survival + 1);
 1476: 
+1477:             if activity_list[generations % alternating_period].find(neighbours[neighbours.size() - 1]) != \
      __pyx_t_1 = (((__pyx_v_9CACompute_activity_list[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find((__pyx_v_neighbours[(__pyx_v_neighbours.size() - 1)])) != (__pyx_v_9CACompute_activity_list[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
      if (__pyx_t_1) {
/* … */
      }
 1478:                     activity_list[generations % alternating_period].end():
+1479:                 if survival[generations % alternating_period].find(n_survival) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_survival[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n_survival) != (__pyx_v_9CACompute_survival[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1480:                     survival[generations % alternating_period].end():
+1481:                     return 1
          __pyx_r = 1;
          goto __pyx_L0;
+1482:                 return 2
        __pyx_r = 2;
        goto __pyx_L0;
 1483: 
+1484:             elif neighbours[neighbours.size() - 1] == 0:
      __pyx_t_1 = (((__pyx_v_neighbours[(__pyx_v_neighbours.size() - 1)]) == 0) != 0);
      if (__pyx_t_1) {
/* … */
      }
+1485:                 if birth[generations % alternating_period].find(n_birth) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_birth[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n_birth) != (__pyx_v_9CACompute_birth[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1486:                     birth[generations % alternating_period].end():
+1487:                     return 1
          __pyx_r = 1;
          goto __pyx_L0;
+1488:                 return 0
        __pyx_r = 0;
        goto __pyx_L0;
+1489:         elif bsconditions == b"Range 1 Moore Semi Totalistic":
    __pyx_t_1 = ((__pyx_v_9CACompute_bsconditions == ((char const *)"Range 1 Moore Semi Totalistic")) != 0);
    if (__pyx_t_1) {
/* … */
    }
    __pyx_L46:;
+1490:             n_edge, n_corner = 0, 0
      __pyx_t_10 = 0;
      __pyx_t_9 = 0;
      __pyx_v_n_edge = __pyx_t_10;
      __pyx_v_n_corner = __pyx_t_9;
+1491:             for i in range(len(neighbours) - 1):
      __pyx_t_13 = __pyx_convert_vector_to_py_int(__pyx_v_neighbours); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1491, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_13);
      __pyx_t_15 = PyObject_Length(__pyx_t_13); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1491, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      __pyx_t_14 = (__pyx_t_15 - 1);
      __pyx_t_15 = __pyx_t_14;
      for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_15; __pyx_t_2+=1) {
        __pyx_v_i = __pyx_t_2;
+1492:                 if neighbourhood[generations % alternating_period][i] == pair[int, int] (0, -1) or \
        try {
          __pyx_t_8 = std::pair<int,int> (0, -1);
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1492, __pyx_L1_error)
        }
        __pyx_t_5 = ((((__pyx_v_9CACompute_neighbourhood[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[__pyx_v_i]) == __pyx_t_8) != 0);
        if (!__pyx_t_5) {
        } else {
          __pyx_t_1 = __pyx_t_5;
          goto __pyx_L64_bool_binop_done;
        }
/* … */
        if (__pyx_t_1) {
/* … */
          goto __pyx_L63;
        }
+1493:                         neighbourhood[generations % alternating_period][i] == pair[int, int] (0, 1) or \
        try {
          __pyx_t_8 = std::pair<int,int> (0, 1);
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1493, __pyx_L1_error)
        }
        __pyx_t_5 = ((((__pyx_v_9CACompute_neighbourhood[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[__pyx_v_i]) == __pyx_t_8) != 0);
        if (!__pyx_t_5) {
        } else {
          __pyx_t_1 = __pyx_t_5;
          goto __pyx_L64_bool_binop_done;
        }
+1494:                         neighbourhood[generations % alternating_period][i] == pair[int, int] (1, 0) or \
        try {
          __pyx_t_8 = std::pair<int,int> (1, 0);
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1494, __pyx_L1_error)
        }
        __pyx_t_5 = ((((__pyx_v_9CACompute_neighbourhood[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[__pyx_v_i]) == __pyx_t_8) != 0);
        if (!__pyx_t_5) {
        } else {
          __pyx_t_1 = __pyx_t_5;
          goto __pyx_L64_bool_binop_done;
        }
+1495:                         neighbourhood[generations % alternating_period][i] == pair[int, int] (-1, 0):
        try {
          __pyx_t_8 = std::pair<int,int> (-1, 0);
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1495, __pyx_L1_error)
        }
        __pyx_t_5 = ((((__pyx_v_9CACompute_neighbourhood[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[__pyx_v_i]) == __pyx_t_8) != 0);
        __pyx_t_1 = __pyx_t_5;
        __pyx_L64_bool_binop_done:;
+1496:                     n_edge += state_weights[generations % alternating_period][neighbours[i]]
          __pyx_v_n_edge = (__pyx_v_n_edge + ((__pyx_v_9CACompute_state_weights[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[(__pyx_v_neighbours[__pyx_v_i])]));
 1497:                 else:
+1498:                     n_corner += state_weights[generations % alternating_period][neighbours[i]]
        /*else*/ {
          __pyx_v_n_corner = (__pyx_v_n_corner + ((__pyx_v_9CACompute_state_weights[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[(__pyx_v_neighbours[__pyx_v_i])]));
        }
        __pyx_L63:;
      }
 1499: 
+1500:             if neighbours[neighbours.size() - 1] == 0:
      __pyx_t_1 = (((__pyx_v_neighbours[(__pyx_v_neighbours.size() - 1)]) == 0) != 0);
      if (__pyx_t_1) {
/* … */
      }
+1501:                 if birth_semi_1[generations % alternating_period].find(pair[int, int] (n_corner, n_edge)) != \
        try {
          __pyx_t_8 = std::pair<int,int> (__pyx_v_n_corner, __pyx_v_n_edge);
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1501, __pyx_L1_error)
        }
/* … */
        __pyx_t_1 = (((__pyx_v_9CACompute_birth_semi_1[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_t_8) != (__pyx_v_9CACompute_birth_semi_1[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
/* … */
        if (__pyx_t_1) {
/* … */
        }
 1502:                     birth_semi_1[generations % alternating_period].end():
+1503:                     return 1
          __pyx_r = 1;
          goto __pyx_L0;
+1504:                 return 0
        __pyx_r = 0;
        goto __pyx_L0;
+1505:             elif neighbours[neighbours.size() - 1] == 1:
      __pyx_t_1 = (((__pyx_v_neighbours[(__pyx_v_neighbours.size() - 1)]) == 1) != 0);
      if (__pyx_t_1) {
/* … */
      }
+1506:                 if survival_semi_1[generations % alternating_period].find(pair[int, int] (n_corner, n_edge)) != \
        try {
          __pyx_t_8 = std::pair<int,int> (__pyx_v_n_corner, __pyx_v_n_edge);
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1506, __pyx_L1_error)
        }
/* … */
        __pyx_t_1 = (((__pyx_v_9CACompute_survival_semi_1[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_t_8) != (__pyx_v_9CACompute_survival_semi_1[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
/* … */
        if (__pyx_t_1) {
/* … */
        }
 1507:                     survival_semi_1[generations % alternating_period].end():
+1508:                     return 1
          __pyx_r = 1;
          goto __pyx_L0;
+1509:                 return 2
        __pyx_r = 2;
        goto __pyx_L0;
+1510:     elif rule_space == b"Single State":
  __pyx_t_1 = ((__pyx_v_9CACompute_rule_space == ((char const *)"Single State")) != 0);
  if (__pyx_t_1) {
/* … */
    goto __pyx_L3;
  }
+1511:         if bsconditions == b"Outer Totalistic":
    __pyx_t_1 = ((__pyx_v_9CACompute_bsconditions == ((char const *)"Outer Totalistic")) != 0);
    if (__pyx_t_1) {
/* … */
    }
+1512:             for i in range(neighbours.size() - 1):
      __pyx_t_2 = (__pyx_v_neighbours.size() - 1);
      __pyx_t_3 = __pyx_t_2;
      for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
        __pyx_v_i = __pyx_t_4;
+1513:                 n += neighbourhood_weights[generations % alternating_period][i] * \
        __pyx_v_n = (__pyx_v_n + (((__pyx_v_9CACompute_neighbourhood_weights[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[__pyx_v_i]) * ((__pyx_v_9CACompute_state_weights[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[(__pyx_v_neighbours[__pyx_v_i])])));
      }
 1514:                      state_weights[generations % alternating_period][neighbours[i]]
 1515: 
+1516:             if neighbours[neighbours.size() - 1] == 1:
      __pyx_t_1 = (((__pyx_v_neighbours[(__pyx_v_neighbours.size() - 1)]) == 1) != 0);
      if (__pyx_t_1) {
/* … */
      }
+1517:                 if survival[generations % alternating_period].find(n) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_survival[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n) != (__pyx_v_9CACompute_survival[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1518:                         survival[generations % alternating_period].end():
+1519:                     return 1
          __pyx_r = 1;
          goto __pyx_L0;
+1520:                 return 0
        __pyx_r = 0;
        goto __pyx_L0;
 1521:             else:
+1522:                 if birth[generations % alternating_period].find(n) != \
      /*else*/ {
/* … */
        __pyx_t_1 = (((__pyx_v_9CACompute_birth[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n) != (__pyx_v_9CACompute_birth[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
/* … */
        if (__pyx_t_1) {
/* … */
        }
 1523:                         birth[generations % alternating_period].end():
+1524:                     return 1
          __pyx_r = 1;
          goto __pyx_L0;
+1525:                 return 0
        __pyx_r = 0;
        goto __pyx_L0;
      }
+1526:         elif bsconditions == b"Double Totalistic":
    __pyx_t_1 = ((__pyx_v_9CACompute_bsconditions == ((char const *)"Double Totalistic")) != 0);
    if (__pyx_t_1) {
/* … */
      goto __pyx_L71;
    }
+1527:             n_birth = 0
      __pyx_v_n_birth = 0;
+1528:             n_survival = 0
      __pyx_v_n_survival = 0;
+1529:             for neighbour in original_neighbourhood[generations % alternating_period]:
      __pyx_t_7 = &(__pyx_v_9CACompute_original_neighbourhood[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]);
      __pyx_t_6 = __pyx_t_7->begin();
      for (;;) {
        if (!(__pyx_t_6 != __pyx_t_7->end())) break;
        __pyx_t_8 = *__pyx_t_6;
        ++__pyx_t_6;
        __pyx_v_neighbour = __pyx_t_8;
/* … */
      }
+1530:                 n = 0
        __pyx_v_n = 0;
+1531:                 idx = 0
        __pyx_v_idx = 0;
+1532:                 for neighbour2 in original_neighbourhood[generations % alternating_period]:
        __pyx_t_12 = &(__pyx_v_9CACompute_original_neighbourhood[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]);
        __pyx_t_11 = __pyx_t_12->begin();
        for (;;) {
          if (!(__pyx_t_11 != __pyx_t_12->end())) break;
          __pyx_t_8 = *__pyx_t_11;
          ++__pyx_t_11;
          __pyx_v_neighbour2 = __pyx_t_8;
/* … */
        }
+1533:                     n += neighbourhood_weights[generations % alternating_period][idx] * \
          __pyx_v_n = (__pyx_v_n + (((__pyx_v_9CACompute_neighbourhood_weights[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[__pyx_v_idx]) * ((__pyx_v_9CACompute_state_weights[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[(__pyx_v_neighbours[((__pyx_v_9CACompute_index_map[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[__pyx_t_8])])])));
 1534:                          state_weights[generations % alternating_period][neighbours[index_map[
 1535:                              generations % alternating_period][pair[int, int]
+1536:                          (neighbour.first + neighbour2.first, neighbour.second + neighbour2.second)]]]
          try {
            __pyx_t_8 = std::pair<int,int> ((__pyx_v_neighbour.first + __pyx_v_neighbour2.first), (__pyx_v_neighbour.second + __pyx_v_neighbour2.second));
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1536, __pyx_L1_error)
          }
+1537:                     idx += 1
          __pyx_v_idx = (__pyx_v_idx + 1);
 1538: 
+1539:                 if other_birth[generations % alternating_period].find(n) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_other_birth[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n) != (__pyx_v_9CACompute_other_birth[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1540:                         other_birth[generations % alternating_period].end():
+1541:                     n_birth += 1
          __pyx_v_n_birth = (__pyx_v_n_birth + 1);
+1542:                 if other_survival[generations % alternating_period].find(n) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_other_survival[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n) != (__pyx_v_9CACompute_other_survival[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1543:                         other_survival[generations % alternating_period].end():
+1544:                     n_survival += 1
          __pyx_v_n_survival = (__pyx_v_n_survival + 1);
 1545: 
+1546:             if neighbours[neighbours.size() - 1] == 1:
      __pyx_t_1 = (((__pyx_v_neighbours[(__pyx_v_neighbours.size() - 1)]) == 1) != 0);
      if (__pyx_t_1) {
/* … */
      }
+1547:                 if survival[generations % alternating_period].find(n_survival) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_survival[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n_survival) != (__pyx_v_9CACompute_survival[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1548:                     survival[generations % alternating_period].end():
+1549:                     return 1
          __pyx_r = 1;
          goto __pyx_L0;
+1550:                 return 0
        __pyx_r = 0;
        goto __pyx_L0;
 1551: 
+1552:             elif neighbours[neighbours.size() - 1] == 0:
      __pyx_t_1 = (((__pyx_v_neighbours[(__pyx_v_neighbours.size() - 1)]) == 0) != 0);
      if (__pyx_t_1) {
/* … */
      }
+1553:                 if birth[generations % alternating_period].find(n_birth) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_birth[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n_birth) != (__pyx_v_9CACompute_birth[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1554:                     birth[generations % alternating_period].end():
+1555:                     return 1
          __pyx_r = 1;
          goto __pyx_L0;
+1556:                 return 0
        __pyx_r = 0;
        goto __pyx_L0;
+1557:         elif bsconditions == b"Range 1 Moore Semi Totalistic":
    __pyx_t_1 = ((__pyx_v_9CACompute_bsconditions == ((char const *)"Range 1 Moore Semi Totalistic")) != 0);
    if (__pyx_t_1) {
/* … */
    }
    __pyx_L71:;
+1558:             n_edge, n_corner = 0, 0
      __pyx_t_9 = 0;
      __pyx_t_10 = 0;
      __pyx_v_n_edge = __pyx_t_9;
      __pyx_v_n_corner = __pyx_t_10;
+1559:             for i in range(len(neighbours) - 1):
      __pyx_t_13 = __pyx_convert_vector_to_py_int(__pyx_v_neighbours); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1559, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_13);
      __pyx_t_14 = PyObject_Length(__pyx_t_13); if (unlikely(__pyx_t_14 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1559, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      __pyx_t_15 = (__pyx_t_14 - 1);
      __pyx_t_14 = __pyx_t_15;
      for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_14; __pyx_t_2+=1) {
        __pyx_v_i = __pyx_t_2;
+1560:                 if neighbourhood[generations % alternating_period][i] == pair[int, int] (0, -1) or \
        try {
          __pyx_t_8 = std::pair<int,int> (0, -1);
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1560, __pyx_L1_error)
        }
        __pyx_t_5 = ((((__pyx_v_9CACompute_neighbourhood[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[__pyx_v_i]) == __pyx_t_8) != 0);
        if (!__pyx_t_5) {
        } else {
          __pyx_t_1 = __pyx_t_5;
          goto __pyx_L89_bool_binop_done;
        }
/* … */
        if (__pyx_t_1) {
/* … */
          goto __pyx_L88;
        }
+1561:                         neighbourhood[generations % alternating_period][i] == pair[int, int] (0, 1) or \
        try {
          __pyx_t_8 = std::pair<int,int> (0, 1);
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1561, __pyx_L1_error)
        }
        __pyx_t_5 = ((((__pyx_v_9CACompute_neighbourhood[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[__pyx_v_i]) == __pyx_t_8) != 0);
        if (!__pyx_t_5) {
        } else {
          __pyx_t_1 = __pyx_t_5;
          goto __pyx_L89_bool_binop_done;
        }
+1562:                         neighbourhood[generations % alternating_period][i] == pair[int, int] (1, 0) or \
        try {
          __pyx_t_8 = std::pair<int,int> (1, 0);
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1562, __pyx_L1_error)
        }
        __pyx_t_5 = ((((__pyx_v_9CACompute_neighbourhood[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[__pyx_v_i]) == __pyx_t_8) != 0);
        if (!__pyx_t_5) {
        } else {
          __pyx_t_1 = __pyx_t_5;
          goto __pyx_L89_bool_binop_done;
        }
+1563:                         neighbourhood[generations % alternating_period][i] == pair[int, int] (-1, 0):
        try {
          __pyx_t_8 = std::pair<int,int> (-1, 0);
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1563, __pyx_L1_error)
        }
        __pyx_t_5 = ((((__pyx_v_9CACompute_neighbourhood[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[__pyx_v_i]) == __pyx_t_8) != 0);
        __pyx_t_1 = __pyx_t_5;
        __pyx_L89_bool_binop_done:;
+1564:                     n_edge += neighbours[i]
          __pyx_v_n_edge = (__pyx_v_n_edge + (__pyx_v_neighbours[__pyx_v_i]));
 1565:                 else:
+1566:                     n_corner += neighbours[i]
        /*else*/ {
          __pyx_v_n_corner = (__pyx_v_n_corner + (__pyx_v_neighbours[__pyx_v_i]));
        }
        __pyx_L88:;
      }
 1567: 
+1568:             if neighbours[neighbours.size() - 1] == 0:
      __pyx_t_1 = (((__pyx_v_neighbours[(__pyx_v_neighbours.size() - 1)]) == 0) != 0);
      if (__pyx_t_1) {
/* … */
      }
+1569:                 if birth_semi_1[generations % alternating_period].find(pair[int, int] (n_corner, n_edge)) != \
        try {
          __pyx_t_8 = std::pair<int,int> (__pyx_v_n_corner, __pyx_v_n_edge);
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1569, __pyx_L1_error)
        }
/* … */
        __pyx_t_1 = (((__pyx_v_9CACompute_birth_semi_1[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_t_8) != (__pyx_v_9CACompute_birth_semi_1[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
/* … */
        if (__pyx_t_1) {
/* … */
        }
 1570:                     birth_semi_1[generations % alternating_period].end():
+1571:                     return 1
          __pyx_r = 1;
          goto __pyx_L0;
+1572:                 return 0
        __pyx_r = 0;
        goto __pyx_L0;
+1573:             elif neighbours[neighbours.size() - 1] == 1:
      __pyx_t_1 = (((__pyx_v_neighbours[(__pyx_v_neighbours.size() - 1)]) == 1) != 0);
      if (__pyx_t_1) {
/* … */
      }
+1574:                 if survival_semi_1[generations % alternating_period].find(pair[int, int] (n_corner, n_edge)) != \
        try {
          __pyx_t_8 = std::pair<int,int> (__pyx_v_n_corner, __pyx_v_n_edge);
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1574, __pyx_L1_error)
        }
/* … */
        __pyx_t_1 = (((__pyx_v_9CACompute_survival_semi_1[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_t_8) != (__pyx_v_9CACompute_survival_semi_1[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
/* … */
        if (__pyx_t_1) {
/* … */
        }
 1575:                     survival_semi_1[generations % alternating_period].end():
+1576:                     return 1
          __pyx_r = 1;
          goto __pyx_L0;
+1577:                 return 0
        __pyx_r = 0;
        goto __pyx_L0;
+1578:     elif rule_space == b"Regenerating Generations":
  __pyx_t_1 = ((__pyx_v_9CACompute_rule_space == ((char const *)"Regenerating Generations")) != 0);
  if (__pyx_t_1) {
/* … */
  }
  __pyx_L3:;
+1579:         if bsconditions == b"Outer Totalistic":
    __pyx_t_1 = ((__pyx_v_9CACompute_bsconditions == ((char const *)"Outer Totalistic")) != 0);
    if (__pyx_t_1) {
/* … */
    }
+1580:             for i in range(neighbours.size() - 1):
      __pyx_t_2 = (__pyx_v_neighbours.size() - 1);
      __pyx_t_3 = __pyx_t_2;
      for (__pyx_t_4 = 0; __pyx_t_4 < __pyx_t_3; __pyx_t_4+=1) {
        __pyx_v_i = __pyx_t_4;
+1581:                 n += neighbourhood_weights[generations % alternating_period][i] * \
        __pyx_v_n = (__pyx_v_n + (((__pyx_v_9CACompute_neighbourhood_weights[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[__pyx_v_i]) * ((__pyx_v_9CACompute_state_weights[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[(__pyx_v_neighbours[__pyx_v_i])])));
      }
 1582:                      state_weights[generations % alternating_period][neighbours[i]]
 1583: 
+1584:             if neighbours[neighbours.size() - 1] == 0:
      __pyx_t_1 = (((__pyx_v_neighbours[(__pyx_v_neighbours.size() - 1)]) == 0) != 0);
      if (__pyx_t_1) {
/* … */
      }
+1585:                 if birth[generations % alternating_period].find(n) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_birth[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n) != (__pyx_v_9CACompute_birth[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1586:                         birth[generations % alternating_period].end():
+1587:                     return birth_state
          __pyx_r = __pyx_v_9CACompute_birth_state;
          goto __pyx_L0;
+1588:                 return 0
        __pyx_r = 0;
        goto __pyx_L0;
+1589:             elif neighbours[neighbours.size() - 1] == 1:
      __pyx_t_1 = (((__pyx_v_neighbours[(__pyx_v_neighbours.size() - 1)]) == 1) != 0);
      if (__pyx_t_1) {
/* … */
      }
+1590:                 if survival[generations % alternating_period].find(n) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_survival[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n) != (__pyx_v_9CACompute_survival[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1591:                         survival[generations % alternating_period].end():
+1592:                     return 1
          __pyx_r = 1;
          goto __pyx_L0;
+1593:                 return 2
        __pyx_r = 2;
        goto __pyx_L0;
 1594:             else:
+1595:                 if regen_birth[generations % alternating_period].find(n) != \
      /*else*/ {
/* … */
        __pyx_t_1 = (((__pyx_v_9CACompute_regen_birth[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n) != (__pyx_v_9CACompute_regen_birth[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
/* … */
        if (__pyx_t_1) {
/* … */
        }
 1596:                         regen_birth[generations % alternating_period].end():
+1597:                     return neighbours[neighbours.size() - 1] - 1
          __pyx_r = ((__pyx_v_neighbours[(__pyx_v_neighbours.size() - 1)]) - 1);
          goto __pyx_L0;
+1598:                 elif regen_survival[generations % alternating_period].find(n) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_regen_survival[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n) != (__pyx_v_9CACompute_regen_survival[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1599:                         regen_survival[generations % alternating_period].end():
+1600:                     return neighbours[neighbours.size() - 1]
          __pyx_r = (__pyx_v_neighbours[(__pyx_v_neighbours.size() - 1)]);
          goto __pyx_L0;
+1601:                 return (neighbours[neighbours.size() - 1] + 1) % n_states
        __pyx_r = (((__pyx_v_neighbours[(__pyx_v_neighbours.size() - 1)]) + 1) % __pyx_v_9CACompute_n_states);
        goto __pyx_L0;
      }
+1602:         elif bsconditions == b"Double Totalistic":
    __pyx_t_1 = ((__pyx_v_9CACompute_bsconditions == ((char const *)"Double Totalistic")) != 0);
    if (__pyx_t_1) {
/* … */
    }
+1603:             n_birth, n_survival, n_regen_birth, n_regen_survival = 0, 0, 0, 0
      __pyx_t_10 = 0;
      __pyx_t_9 = 0;
      __pyx_t_16 = 0;
      __pyx_t_17 = 0;
      __pyx_v_n_birth = __pyx_t_10;
      __pyx_v_n_survival = __pyx_t_9;
      __pyx_v_n_regen_birth = __pyx_t_16;
      __pyx_v_n_regen_survival = __pyx_t_17;
+1604:             for neighbour in original_neighbourhood[generations % alternating_period]:
      __pyx_t_7 = &(__pyx_v_9CACompute_original_neighbourhood[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]);
      __pyx_t_6 = __pyx_t_7->begin();
      for (;;) {
        if (!(__pyx_t_6 != __pyx_t_7->end())) break;
        __pyx_t_8 = *__pyx_t_6;
        ++__pyx_t_6;
        __pyx_v_neighbour = __pyx_t_8;
/* … */
      }
+1605:                 n = 0
        __pyx_v_n = 0;
+1606:                 idx = 0
        __pyx_v_idx = 0;
+1607:                 for neighbour2 in original_neighbourhood[generations % alternating_period]:
        __pyx_t_12 = &(__pyx_v_9CACompute_original_neighbourhood[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]);
        __pyx_t_11 = __pyx_t_12->begin();
        for (;;) {
          if (!(__pyx_t_11 != __pyx_t_12->end())) break;
          __pyx_t_8 = *__pyx_t_11;
          ++__pyx_t_11;
          __pyx_v_neighbour2 = __pyx_t_8;
/* … */
        }
+1608:                     n += neighbourhood_weights[generations % alternating_period][idx] * \
          __pyx_v_n = (__pyx_v_n + (((__pyx_v_9CACompute_neighbourhood_weights[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[__pyx_v_idx]) * ((__pyx_v_9CACompute_state_weights[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[(__pyx_v_neighbours[((__pyx_v_9CACompute_index_map[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[__pyx_t_8])])])));
 1609:                          state_weights[generations % alternating_period][neighbours[index_map[
 1610:                              generations % alternating_period][pair[int, int]
+1611:                          (neighbour.first + neighbour2.first, neighbour.second + neighbour2.second)]]]
          try {
            __pyx_t_8 = std::pair<int,int> ((__pyx_v_neighbour.first + __pyx_v_neighbour2.first), (__pyx_v_neighbour.second + __pyx_v_neighbour2.second));
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1611, __pyx_L1_error)
          }
+1612:                     idx += 1
          __pyx_v_idx = (__pyx_v_idx + 1);
+1613:                 if other_birth[generations % alternating_period].find(n) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_other_birth[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n) != (__pyx_v_9CACompute_other_birth[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1614:                         other_birth[generations % alternating_period].end():
+1615:                     n_birth += 1
          __pyx_v_n_birth = (__pyx_v_n_birth + 1);
+1616:                 if other_survival[generations % alternating_period].find(n) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_other_survival[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n) != (__pyx_v_9CACompute_other_survival[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1617:                         other_survival[generations % alternating_period].end():
+1618:                     n_survival += 1
          __pyx_v_n_survival = (__pyx_v_n_survival + 1);
+1619:                 if other_regen_birth[generations % alternating_period].find(n) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_other_regen_birth[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n) != (__pyx_v_9CACompute_other_regen_birth[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1620:                         other_regen_birth[generations % alternating_period].end():
+1621:                     n_regen_birth += 1
          __pyx_v_n_regen_birth = (__pyx_v_n_regen_birth + 1);
+1622:                 if other_regen_survival[generations % alternating_period].find(n) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_other_regen_survival[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n) != (__pyx_v_9CACompute_other_regen_survival[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1623:                         other_regen_survival[generations % alternating_period].end():
+1624:                     n_regen_survival += 1
          __pyx_v_n_regen_survival = (__pyx_v_n_regen_survival + 1);
 1625: 
+1626:             if neighbours[neighbours.size() - 1] == 0:
      __pyx_t_1 = (((__pyx_v_neighbours[(__pyx_v_neighbours.size() - 1)]) == 0) != 0);
      if (__pyx_t_1) {
/* … */
      }
+1627:                 if birth[generations % alternating_period].find(n_birth) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_birth[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n_birth) != (__pyx_v_9CACompute_birth[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1628:                         birth[generations % alternating_period].end():
+1629:                     return birth_state
          __pyx_r = __pyx_v_9CACompute_birth_state;
          goto __pyx_L0;
+1630:                 return 0
        __pyx_r = 0;
        goto __pyx_L0;
+1631:             elif neighbours[neighbours.size() - 1] == 1:
      __pyx_t_1 = (((__pyx_v_neighbours[(__pyx_v_neighbours.size() - 1)]) == 1) != 0);
      if (__pyx_t_1) {
/* … */
      }
+1632:                 if survival[generations % alternating_period].find(n_survival) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_survival[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n_survival) != (__pyx_v_9CACompute_survival[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1633:                         survival[generations % alternating_period].end():
+1634:                     return 1
          __pyx_r = 1;
          goto __pyx_L0;
+1635:                 return 2
        __pyx_r = 2;
        goto __pyx_L0;
 1636:             else:
+1637:                 if regen_birth[generations % alternating_period].find(n_regen_birth) != \
      /*else*/ {
/* … */
        __pyx_t_1 = (((__pyx_v_9CACompute_regen_birth[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n_regen_birth) != (__pyx_v_9CACompute_regen_birth[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
/* … */
        if (__pyx_t_1) {
/* … */
        }
 1638:                         regen_birth[generations % alternating_period].end():
+1639:                     return neighbours[neighbours.size() - 1] - 1
          __pyx_r = ((__pyx_v_neighbours[(__pyx_v_neighbours.size() - 1)]) - 1);
          goto __pyx_L0;
+1640:                 elif regen_survival[generations % alternating_period].find(n_regen_survival) != \
        __pyx_t_1 = (((__pyx_v_9CACompute_regen_survival[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_n_regen_survival) != (__pyx_v_9CACompute_regen_survival[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
        if (__pyx_t_1) {
/* … */
        }
 1641:                         regen_survival[generations % alternating_period].end():
+1642:                     return neighbours[neighbours.size() - 1]
          __pyx_r = (__pyx_v_neighbours[(__pyx_v_neighbours.size() - 1)]);
          goto __pyx_L0;
+1643:                 return (neighbours[neighbours.size() - 1] + 1) % n_states
        __pyx_r = (((__pyx_v_neighbours[(__pyx_v_neighbours.size() - 1)]) + 1) % __pyx_v_9CACompute_n_states);
        goto __pyx_L0;
      }
+1644:         elif bsconditions == b"Range 1 Moore Semi Totalistic":
    __pyx_t_1 = ((__pyx_v_9CACompute_bsconditions == ((char const *)"Range 1 Moore Semi Totalistic")) != 0);
    if (__pyx_t_1) {
/* … */
    }
+1645:             n_edge, n_corner = 0, 0
      __pyx_t_17 = 0;
      __pyx_t_16 = 0;
      __pyx_v_n_edge = __pyx_t_17;
      __pyx_v_n_corner = __pyx_t_16;
+1646:             for i in range(len(neighbours) - 1):
      __pyx_t_13 = __pyx_convert_vector_to_py_int(__pyx_v_neighbours); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1646, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_13);
      __pyx_t_15 = PyObject_Length(__pyx_t_13); if (unlikely(__pyx_t_15 == ((Py_ssize_t)-1))) __PYX_ERR(0, 1646, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
      __pyx_t_14 = (__pyx_t_15 - 1);
      __pyx_t_15 = __pyx_t_14;
      for (__pyx_t_2 = 0; __pyx_t_2 < __pyx_t_15; __pyx_t_2+=1) {
        __pyx_v_i = __pyx_t_2;
+1647:                 if neighbourhood[generations % alternating_period][i] == pair[int, int] (0, -1) or \
        try {
          __pyx_t_8 = std::pair<int,int> (0, -1);
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1647, __pyx_L1_error)
        }
        __pyx_t_5 = ((((__pyx_v_9CACompute_neighbourhood[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[__pyx_v_i]) == __pyx_t_8) != 0);
        if (!__pyx_t_5) {
        } else {
          __pyx_t_1 = __pyx_t_5;
          goto __pyx_L118_bool_binop_done;
        }
/* … */
        if (__pyx_t_1) {
/* … */
          goto __pyx_L117;
        }
+1648:                         neighbourhood[generations % alternating_period][i] == pair[int, int] (0, 1) or \
        try {
          __pyx_t_8 = std::pair<int,int> (0, 1);
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1648, __pyx_L1_error)
        }
        __pyx_t_5 = ((((__pyx_v_9CACompute_neighbourhood[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[__pyx_v_i]) == __pyx_t_8) != 0);
        if (!__pyx_t_5) {
        } else {
          __pyx_t_1 = __pyx_t_5;
          goto __pyx_L118_bool_binop_done;
        }
+1649:                         neighbourhood[generations % alternating_period][i] == pair[int, int] (1, 0) or \
        try {
          __pyx_t_8 = std::pair<int,int> (1, 0);
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1649, __pyx_L1_error)
        }
        __pyx_t_5 = ((((__pyx_v_9CACompute_neighbourhood[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[__pyx_v_i]) == __pyx_t_8) != 0);
        if (!__pyx_t_5) {
        } else {
          __pyx_t_1 = __pyx_t_5;
          goto __pyx_L118_bool_binop_done;
        }
+1650:                         neighbourhood[generations % alternating_period][i] == pair[int, int] (-1, 0):
        try {
          __pyx_t_8 = std::pair<int,int> (-1, 0);
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1650, __pyx_L1_error)
        }
        __pyx_t_5 = ((((__pyx_v_9CACompute_neighbourhood[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[__pyx_v_i]) == __pyx_t_8) != 0);
        __pyx_t_1 = __pyx_t_5;
        __pyx_L118_bool_binop_done:;
+1651:                     n_edge += state_weights[generations % alternating_period][neighbours[i]]
          __pyx_v_n_edge = (__pyx_v_n_edge + ((__pyx_v_9CACompute_state_weights[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[(__pyx_v_neighbours[__pyx_v_i])]));
 1652:                 else:
+1653:                     n_corner += state_weights[generations % alternating_period][neighbours[i]]
        /*else*/ {
          __pyx_v_n_corner = (__pyx_v_n_corner + ((__pyx_v_9CACompute_state_weights[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)])[(__pyx_v_neighbours[__pyx_v_i])]));
        }
        __pyx_L117:;
      }
 1654: 
+1655:             if neighbours[neighbours.size() - 1] == 0:
      __pyx_t_1 = (((__pyx_v_neighbours[(__pyx_v_neighbours.size() - 1)]) == 0) != 0);
      if (__pyx_t_1) {
/* … */
      }
+1656:                 if birth_semi_1[generations % alternating_period].find(pair[int, int] (n_edge, n_corner)) != \
        try {
          __pyx_t_8 = std::pair<int,int> (__pyx_v_n_edge, __pyx_v_n_corner);
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1656, __pyx_L1_error)
        }
/* … */
        __pyx_t_1 = (((__pyx_v_9CACompute_birth_semi_1[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_t_8) != (__pyx_v_9CACompute_birth_semi_1[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
/* … */
        if (__pyx_t_1) {
/* … */
        }
 1657:                         birth_semi_1[generations % alternating_period].end():
+1658:                     return birth_state
          __pyx_r = __pyx_v_9CACompute_birth_state;
          goto __pyx_L0;
+1659:                 return 0
        __pyx_r = 0;
        goto __pyx_L0;
+1660:             elif neighbours[neighbours.size() - 1] == 1:
      __pyx_t_1 = (((__pyx_v_neighbours[(__pyx_v_neighbours.size() - 1)]) == 1) != 0);
      if (__pyx_t_1) {
/* … */
      }
+1661:                 if survival_semi_1[generations % alternating_period].find(pair[int, int] (n_edge, n_corner)) != \
        try {
          __pyx_t_8 = std::pair<int,int> (__pyx_v_n_edge, __pyx_v_n_corner);
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1661, __pyx_L1_error)
        }
/* … */
        __pyx_t_1 = (((__pyx_v_9CACompute_survival_semi_1[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_t_8) != (__pyx_v_9CACompute_survival_semi_1[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
/* … */
        if (__pyx_t_1) {
/* … */
        }
 1662:                         survival_semi_1[generations % alternating_period].end():
+1663:                     return 1
          __pyx_r = 1;
          goto __pyx_L0;
+1664:                 return 2
        __pyx_r = 2;
        goto __pyx_L0;
 1665:             else:
+1666:                 if regen_birth_semi_1[generations % alternating_period].find(pair[int, int] (n_edge, n_corner)) != \
      /*else*/ {
        try {
          __pyx_t_8 = std::pair<int,int> (__pyx_v_n_edge, __pyx_v_n_corner);
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1666, __pyx_L1_error)
        }
/* … */
        __pyx_t_1 = (((__pyx_v_9CACompute_regen_birth_semi_1[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_t_8) != (__pyx_v_9CACompute_regen_birth_semi_1[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
/* … */
        if (__pyx_t_1) {
/* … */
        }
 1667:                         regen_birth_semi_1[generations % alternating_period].end():
+1668:                     return neighbours[neighbours.size() - 1] - 1
          __pyx_r = ((__pyx_v_neighbours[(__pyx_v_neighbours.size() - 1)]) - 1);
          goto __pyx_L0;
+1669:                 elif regen_survival_semi_1[generations % alternating_period].find(
        if (__pyx_t_1) {
/* … */
        }
+1670:                         pair[int, int] (n_edge, n_corner)) != \
        try {
          __pyx_t_8 = std::pair<int,int> (__pyx_v_n_edge, __pyx_v_n_corner);
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1670, __pyx_L1_error)
        }
/* … */
        __pyx_t_1 = (((__pyx_v_9CACompute_regen_survival_semi_1[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_t_8) != (__pyx_v_9CACompute_regen_survival_semi_1[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
 1671:                         regen_survival_semi_1[generations % alternating_period].end():
+1672:                     return neighbours[neighbours.size() - 1]
          __pyx_r = (__pyx_v_neighbours[(__pyx_v_neighbours.size() - 1)]);
          goto __pyx_L0;
+1673:                 return (neighbours[neighbours.size() - 1] + 1) % n_states
        __pyx_r = (((__pyx_v_neighbours[(__pyx_v_neighbours.size() - 1)]) + 1) % __pyx_v_9CACompute_n_states);
        goto __pyx_L0;
      }
 1674: 
+1675: cdef int depend_on_neighbours(int state, int generations):
static int __pyx_f_9CACompute_depend_on_neighbours(int __pyx_v_state, int __pyx_v_generations) {
  int __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("depend_on_neighbours", 0);
/* … */
  /* function exit code */
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+1676:     if rule_space == b"BSFKL" or rule_space == b"Single State" or rule_space == b"Regenerating Generations":
  __pyx_t_2 = ((__pyx_v_9CACompute_rule_space == ((char const *)"BSFKL")) != 0);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_9CACompute_rule_space == ((char const *)"Single State")) != 0);
  if (!__pyx_t_2) {
  } else {
    __pyx_t_1 = __pyx_t_2;
    goto __pyx_L4_bool_binop_done;
  }
  __pyx_t_2 = ((__pyx_v_9CACompute_rule_space == ((char const *)"Regenerating Generations")) != 0);
  __pyx_t_1 = __pyx_t_2;
  __pyx_L4_bool_binop_done:;
  if (__pyx_t_1) {
/* … */
  }
+1677:         return -1
    __pyx_r = -1;
    goto __pyx_L0;
+1678:     elif rule_space == b"Extended Generations":
  __pyx_t_1 = ((__pyx_v_9CACompute_rule_space == ((char const *)"Extended Generations")) != 0);
  if (__pyx_t_1) {
/* … */
  }
+1679:         if activity_list[generations % alternating_period].find(state) != \
    __pyx_t_2 = (((__pyx_v_9CACompute_activity_list[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).find(__pyx_v_state) != (__pyx_v_9CACompute_activity_list[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).end()) != 0);
    if (!__pyx_t_2) {
    } else {
      __pyx_t_1 = __pyx_t_2;
      goto __pyx_L8_bool_binop_done;
    }
/* … */
    if (__pyx_t_1) {
/* … */
    }
+1680:                 activity_list[generations % alternating_period].end() or state == 0:
    __pyx_t_2 = ((__pyx_v_state == 0) != 0);
    __pyx_t_1 = __pyx_t_2;
    __pyx_L8_bool_binop_done:;
+1681:             return -1
      __pyx_r = -1;
      goto __pyx_L0;
 1682:         else:
+1683:             return (state + 1) % n_states
    /*else*/ {
      __pyx_r = ((__pyx_v_state + 1) % __pyx_v_9CACompute_n_states);
      goto __pyx_L0;
    }
 1684: 
 1685: cdef unordered_map[pair[int, int], int] depends_cache
 1686: cdef map[pair[vector[int], int], int] transition_func_cache
 1687: 
+1688: cdef bool compare_pairs(pair[int, int] a, pair[int, int] b):
static bool __pyx_f_9CACompute_compare_pairs(std::pair<int,int>  __pyx_v_a, std::pair<int,int>  __pyx_v_b) {
  bool __pyx_r;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("compare_pairs", 0);
/* … */
  /* function exit code */
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
+1689:     if direction == b"o":
  __pyx_t_1 = ((__pyx_v_9CACompute_direction == ((char const *)"o")) != 0);
  if (__pyx_t_1) {
/* … */
    goto __pyx_L3;
  }
+1690:         if corner == 0:
    switch (__pyx_v_9CACompute_corner) {
      case 0:
/* … */
      break;
      case 1:
+1691:             if xy == 0:
      switch (__pyx_v_9CACompute_xy) {
        case 0:
/* … */
        break;
        case 1:
+1692:                 if a.second == b.second:
        __pyx_t_1 = ((__pyx_v_a.second == __pyx_v_b.second) != 0);
        if (__pyx_t_1) {
/* … */
        }
+1693:                     return a.first < b.first
          __pyx_r = (__pyx_v_a.first < __pyx_v_b.first);
          goto __pyx_L0;
+1694:                 return a.second < b.second
        __pyx_r = (__pyx_v_a.second < __pyx_v_b.second);
        goto __pyx_L0;
+1695:             elif xy == 1:
        break;
        default: break;
      }
+1696:                 if a.first == b.first:
        __pyx_t_1 = ((__pyx_v_a.first == __pyx_v_b.first) != 0);
        if (__pyx_t_1) {
/* … */
        }
+1697:                     return a.second < b.second
          __pyx_r = (__pyx_v_a.second < __pyx_v_b.second);
          goto __pyx_L0;
+1698:                 return a.first < b.first
        __pyx_r = (__pyx_v_a.first < __pyx_v_b.first);
        goto __pyx_L0;
 1699: 
+1700:         elif corner == 1:
      break;
      case 2:
+1701:             if xy == 0:
      switch (__pyx_v_9CACompute_xy) {
        case 0:
/* … */
        break;
        case 1:
+1702:                 if a.second == b.second:
        __pyx_t_1 = ((__pyx_v_a.second == __pyx_v_b.second) != 0);
        if (__pyx_t_1) {
/* … */
        }
+1703:                     return a.first < b.first
          __pyx_r = (__pyx_v_a.first < __pyx_v_b.first);
          goto __pyx_L0;
+1704:                 return a.second > b.second
        __pyx_r = (__pyx_v_a.second > __pyx_v_b.second);
        goto __pyx_L0;
+1705:             elif xy == 1:
        break;
        default: break;
      }
+1706:                 if a.first == b.first:
        __pyx_t_1 = ((__pyx_v_a.first == __pyx_v_b.first) != 0);
        if (__pyx_t_1) {
/* … */
        }
+1707:                     return a.second > b.second
          __pyx_r = (__pyx_v_a.second > __pyx_v_b.second);
          goto __pyx_L0;
+1708:                 return a.first < b.first
        __pyx_r = (__pyx_v_a.first < __pyx_v_b.first);
        goto __pyx_L0;
 1709: 
+1710:         elif corner == 2:
      break;
      case 3:
+1711:             if xy == 0:
      switch (__pyx_v_9CACompute_xy) {
        case 0:
/* … */
        break;
        case 1:
+1712:                 if a.second == b.second:
        __pyx_t_1 = ((__pyx_v_a.second == __pyx_v_b.second) != 0);
        if (__pyx_t_1) {
/* … */
        }
+1713:                     return a.first > b.first
          __pyx_r = (__pyx_v_a.first > __pyx_v_b.first);
          goto __pyx_L0;
+1714:                 return a.second < b.second
        __pyx_r = (__pyx_v_a.second < __pyx_v_b.second);
        goto __pyx_L0;
+1715:             elif xy == 1:
        break;
        default: break;
      }
+1716:                 if a.first == b.first:
        __pyx_t_1 = ((__pyx_v_a.first == __pyx_v_b.first) != 0);
        if (__pyx_t_1) {
/* … */
        }
+1717:                     return a.second < b.second
          __pyx_r = (__pyx_v_a.second < __pyx_v_b.second);
          goto __pyx_L0;
+1718:                 return a.first > b.first
        __pyx_r = (__pyx_v_a.first > __pyx_v_b.first);
        goto __pyx_L0;
 1719: 
+1720:         elif corner == 3:
      break;
      default: break;
    }
+1721:             if xy == 0:
      switch (__pyx_v_9CACompute_xy) {
        case 0:
/* … */
        break;
        case 1:
+1722:                 if a.second == b.second:
        __pyx_t_1 = ((__pyx_v_a.second == __pyx_v_b.second) != 0);
        if (__pyx_t_1) {
/* … */
        }
+1723:                     return a.first > b.first
          __pyx_r = (__pyx_v_a.first > __pyx_v_b.first);
          goto __pyx_L0;
+1724:                 return a.second > b.second
        __pyx_r = (__pyx_v_a.second > __pyx_v_b.second);
        goto __pyx_L0;
+1725:             elif xy == 1:
        break;
        default: break;
      }
+1726:                 if a.first == b.first:
        __pyx_t_1 = ((__pyx_v_a.first == __pyx_v_b.first) != 0);
        if (__pyx_t_1) {
/* … */
        }
+1727:                     return a.second > b.second
          __pyx_r = (__pyx_v_a.second > __pyx_v_b.second);
          goto __pyx_L0;
+1728:                 return a.first > b.first
        __pyx_r = (__pyx_v_a.first > __pyx_v_b.first);
        goto __pyx_L0;
+1729:     elif direction == b"d":
  __pyx_t_1 = ((__pyx_v_9CACompute_direction == ((char const *)"d")) != 0);
  if (__pyx_t_1) {
/* … */
  }
  __pyx_L3:;
+1730:         if corner == 0:
    switch (__pyx_v_9CACompute_corner) {
      case 0:
/* … */
      break;
      case 1:
+1731:             if xy == 0:
      switch (__pyx_v_9CACompute_xy) {
        case 0:
/* … */
        break;
        case 1:
+1732:                 if a.first + a.second == b.first + b.second:
        __pyx_t_1 = (((__pyx_v_a.first + __pyx_v_a.second) == (__pyx_v_b.first + __pyx_v_b.second)) != 0);
        if (__pyx_t_1) {
/* … */
        }
+1733:                     return a.first < b.first
          __pyx_r = (__pyx_v_a.first < __pyx_v_b.first);
          goto __pyx_L0;
+1734:                 return a.first + a.second < b.first + b.second
        __pyx_r = ((__pyx_v_a.first + __pyx_v_a.second) < (__pyx_v_b.first + __pyx_v_b.second));
        goto __pyx_L0;
+1735:             elif xy == 1:
        break;
        default: break;
      }
+1736:                 if a.first + a.second == b.first + b.second:
        __pyx_t_1 = (((__pyx_v_a.first + __pyx_v_a.second) == (__pyx_v_b.first + __pyx_v_b.second)) != 0);
        if (__pyx_t_1) {
/* … */
        }
+1737:                     return a.first > b.first
          __pyx_r = (__pyx_v_a.first > __pyx_v_b.first);
          goto __pyx_L0;
+1738:                 return a.first + a.second < b.first + b.second
        __pyx_r = ((__pyx_v_a.first + __pyx_v_a.second) < (__pyx_v_b.first + __pyx_v_b.second));
        goto __pyx_L0;
 1739: 
+1740:         elif corner == 1:
      break;
      case 2:
+1741:             if xy == 0:
      switch (__pyx_v_9CACompute_xy) {
        case 0:
/* … */
        break;
        case 1:
+1742:                 if a.first - a.second == b.first - b.second:
        __pyx_t_1 = (((__pyx_v_a.first - __pyx_v_a.second) == (__pyx_v_b.first - __pyx_v_b.second)) != 0);
        if (__pyx_t_1) {
/* … */
        }
+1743:                     return a.first < b.first
          __pyx_r = (__pyx_v_a.first < __pyx_v_b.first);
          goto __pyx_L0;
+1744:                 return a.first - a.second < b.first - b.second
        __pyx_r = ((__pyx_v_a.first - __pyx_v_a.second) < (__pyx_v_b.first - __pyx_v_b.second));
        goto __pyx_L0;
+1745:             elif xy == 1:
        break;
        default: break;
      }
+1746:                 if a.first - a.second == b.first - b.second:
        __pyx_t_1 = (((__pyx_v_a.first - __pyx_v_a.second) == (__pyx_v_b.first - __pyx_v_b.second)) != 0);
        if (__pyx_t_1) {
/* … */
        }
+1747:                     return a.first > b.first
          __pyx_r = (__pyx_v_a.first > __pyx_v_b.first);
          goto __pyx_L0;
+1748:                 return a.first - a.second < b.first - b.second
        __pyx_r = ((__pyx_v_a.first - __pyx_v_a.second) < (__pyx_v_b.first - __pyx_v_b.second));
        goto __pyx_L0;
 1749: 
+1750:         elif corner == 2:
      break;
      case 3:
+1751:             if xy == 0:
      switch (__pyx_v_9CACompute_xy) {
        case 0:
/* … */
        break;
        case 1:
+1752:                 if a.first - a.second == b.first - b.second:
        __pyx_t_1 = (((__pyx_v_a.first - __pyx_v_a.second) == (__pyx_v_b.first - __pyx_v_b.second)) != 0);
        if (__pyx_t_1) {
/* … */
        }
+1753:                     return a.first < b.first
          __pyx_r = (__pyx_v_a.first < __pyx_v_b.first);
          goto __pyx_L0;
+1754:                 return a.first - a.second > b.first - b.second
        __pyx_r = ((__pyx_v_a.first - __pyx_v_a.second) > (__pyx_v_b.first - __pyx_v_b.second));
        goto __pyx_L0;
+1755:             elif xy == 1:
        break;
        default: break;
      }
+1756:                 if a.first - a.second == b.first - b.second:
        __pyx_t_1 = (((__pyx_v_a.first - __pyx_v_a.second) == (__pyx_v_b.first - __pyx_v_b.second)) != 0);
        if (__pyx_t_1) {
/* … */
        }
+1757:                     return a.first > b.first
          __pyx_r = (__pyx_v_a.first > __pyx_v_b.first);
          goto __pyx_L0;
+1758:                 return a.first - a.second > b.first - b.second
        __pyx_r = ((__pyx_v_a.first - __pyx_v_a.second) > (__pyx_v_b.first - __pyx_v_b.second));
        goto __pyx_L0;
 1759: 
+1760:         elif corner == 3:
      break;
      default: break;
    }
+1761:             if xy == 0:
      switch (__pyx_v_9CACompute_xy) {
        case 0:
/* … */
        break;
        case 1:
+1762:                 if a.first + a.second == b.first + b.second:
        __pyx_t_1 = (((__pyx_v_a.first + __pyx_v_a.second) == (__pyx_v_b.first + __pyx_v_b.second)) != 0);
        if (__pyx_t_1) {
/* … */
        }
+1763:                     return a.first < b.first
          __pyx_r = (__pyx_v_a.first < __pyx_v_b.first);
          goto __pyx_L0;
+1764:                 return a.first + a.second > b.first + b.second
        __pyx_r = ((__pyx_v_a.first + __pyx_v_a.second) > (__pyx_v_b.first + __pyx_v_b.second));
        goto __pyx_L0;
+1765:             elif xy == 1:
        break;
        default: break;
      }
+1766:                 if a.first + a.second == b.first + b.second:
        __pyx_t_1 = (((__pyx_v_a.first + __pyx_v_a.second) == (__pyx_v_b.first + __pyx_v_b.second)) != 0);
        if (__pyx_t_1) {
/* … */
        }
+1767:                     return a.first > b.first
          __pyx_r = (__pyx_v_a.first > __pyx_v_b.first);
          goto __pyx_L0;
+1768:                 return a.first + a.second > b.first + b.second
        __pyx_r = ((__pyx_v_a.first + __pyx_v_a.second) > (__pyx_v_b.first + __pyx_v_b.second));
        goto __pyx_L0;
 1769: 
+1770: cpdef compute(unordered_set[pair[int, int]] cells_changed,
static PyObject *__pyx_pw_9CACompute_11compute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_f_9CACompute_compute(std::unordered_set<std::pair<int,int> >  __pyx_v_cells_changed, std::unordered_map<std::pair<int,int> ,int>  __pyx_v_copy_grid, std::unordered_map<std::pair<int,int> ,int>  __pyx_v_dict_grid, int __pyx_v_generations, CYTHON_UNUSED int __pyx_skip_dispatch) {
  std::vector<int>  __pyx_v_neighbours;
  std::unordered_set<std::pair<int,int> >  __pyx_v_cells_to_check;
  int __pyx_v_ans;
  std::vector<std::pair<int,int> >  __pyx_v_cells_to_check_vector;
  std::pair<int,int>  __pyx_v_coordinates;
  std::pair<int,int>  __pyx_v_coordinates2;
  std::pair<int,int>  __pyx_v_neighbour;
  std::pair<int,int>  __pyx_v_coor;
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("compute", 0);
/* … */
  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_9);
  __Pyx_XDECREF(__pyx_t_10);
  __Pyx_XDECREF(__pyx_t_11);
  __Pyx_AddTraceback("CACompute.compute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

/* Python wrapper */
static PyObject *__pyx_pw_9CACompute_11compute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyObject *__pyx_pw_9CACompute_11compute(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  std::unordered_set<std::pair<int,int> >  __pyx_v_cells_changed;
  std::unordered_map<std::pair<int,int> ,int>  __pyx_v_copy_grid;
  std::unordered_map<std::pair<int,int> ,int>  __pyx_v_dict_grid;
  int __pyx_v_generations;
  PyObject *__pyx_r = 0;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("compute (wrapper)", 0);
  {
    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_cells_changed,&__pyx_n_s_copy_grid,&__pyx_n_s_dict_grid,&__pyx_n_s_generations,0};
    PyObject* values[4] = {0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
      switch (pos_args) {
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        CYTHON_FALLTHROUGH;
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        CYTHON_FALLTHROUGH;
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        CYTHON_FALLTHROUGH;
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        CYTHON_FALLTHROUGH;
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (pos_args) {
        case  0:
        if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_cells_changed)) != 0)) kw_args--;
        else goto __pyx_L5_argtuple_error;
        CYTHON_FALLTHROUGH;
        case  1:
        if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_copy_grid)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("compute", 1, 4, 4, 1); __PYX_ERR(0, 1770, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  2:
        if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dict_grid)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("compute", 1, 4, 4, 2); __PYX_ERR(0, 1770, __pyx_L3_error)
        }
        CYTHON_FALLTHROUGH;
        case  3:
        if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_generations)) != 0)) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("compute", 1, 4, 4, 3); __PYX_ERR(0, 1770, __pyx_L3_error)
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "compute") < 0)) __PYX_ERR(0, 1770, __pyx_L3_error)
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
    }
    __pyx_v_cells_changed = __pyx_convert_unordered_set_from_py_std_3a__3a_pair_3c_int_2c_int_3e___(values[0]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1770, __pyx_L3_error)
    __pyx_v_copy_grid = __pyx_convert_unordered_map_from_py_std_3a__3a_pair_3c_int_2c_int_3e_____and_int(values[1]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1771, __pyx_L3_error)
    __pyx_v_dict_grid = __pyx_convert_unordered_map_from_py_std_3a__3a_pair_3c_int_2c_int_3e_____and_int(values[2]); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1771, __pyx_L3_error)
    __pyx_v_generations = __Pyx_PyInt_As_int(values[3]); if (unlikely((__pyx_v_generations == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 1772, __pyx_L3_error)
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("compute", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1770, __pyx_L3_error)
  __pyx_L3_error:;
  __Pyx_AddTraceback("CACompute.compute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_r = __pyx_pf_9CACompute_10compute(__pyx_self, __pyx_v_cells_changed, __pyx_v_copy_grid, __pyx_v_dict_grid, __pyx_v_generations);

  /* function exit code */
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}

static PyObject *__pyx_pf_9CACompute_10compute(CYTHON_UNUSED PyObject *__pyx_self, std::unordered_set<std::pair<int,int> >  __pyx_v_cells_changed, std::unordered_map<std::pair<int,int> ,int>  __pyx_v_copy_grid, std::unordered_map<std::pair<int,int> ,int>  __pyx_v_dict_grid, int __pyx_v_generations) {
  PyObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("compute", 0);
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = __pyx_f_9CACompute_compute(__pyx_v_cells_changed, __pyx_v_copy_grid, __pyx_v_dict_grid, __pyx_v_generations, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1770, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  /* function exit code */
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_AddTraceback("CACompute.compute", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  __pyx_L0:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 1771:               unordered_map[pair[int, int], int] copy_grid, unordered_map[pair[int, int], int] dict_grid,
 1772:               int generations):
 1773: 
 1774:     global corner, direction, xy
 1775: 
 1776:     cdef vector[int] neighbours
+1777:     neighbours.reserve(neighbourhood[generations % alternating_period].size() + 1)
  __pyx_v_neighbours.reserve(((__pyx_v_9CACompute_neighbourhood[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]).size() + 1));
 1778: 
 1779:     cdef unordered_set[pair[int, int]] cells_to_check
 1780: 
 1781:     cdef int i, j
 1782:     cdef int ans
 1783:     cdef vector[pair[int, int]] cells_to_check_vector
 1784:     cdef pair[int, int] coordinates, coordinates2
 1785:     cdef pair[int, int] neighbour
 1786: 
+1787:     for coor in cells_changed:
  __pyx_t_1 = __pyx_v_cells_changed.begin();
  for (;;) {
    if (!(__pyx_t_1 != __pyx_v_cells_changed.end())) break;
    __pyx_t_2 = *__pyx_t_1;
    ++__pyx_t_1;
    __pyx_v_coor = __pyx_t_2;
/* … */
  }
+1788:         for neighbour in neighbourhood[generations % alternating_period]:
    __pyx_t_4 = &(__pyx_v_9CACompute_neighbourhood[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]);
    __pyx_t_3 = __pyx_t_4->begin();
    for (;;) {
      if (!(__pyx_t_3 != __pyx_t_4->end())) break;
      __pyx_t_2 = *__pyx_t_3;
      ++__pyx_t_3;
      __pyx_v_neighbour = __pyx_t_2;
/* … */
    }
+1789:             coordinates.first = coor.first + neighbour.first
      __pyx_v_coordinates.first = (__pyx_v_coor.first + __pyx_v_neighbour.first);
+1790:             coordinates.second = coor.second + neighbour.second
      __pyx_v_coordinates.second = (__pyx_v_coor.second + __pyx_v_neighbour.second);
+1791:             cells_to_check.insert(coordinates)
      (void)(__pyx_v_cells_to_check.insert(__pyx_v_coordinates));
 1792: 
+1793:         cells_to_check.insert(coor)
    (void)(__pyx_v_cells_to_check.insert(__pyx_v_coor));
 1794: 
+1795:     if alternating_period > 1:
  __pyx_t_5 = ((__pyx_v_9CACompute_alternating_period > 1) != 0);
  if (__pyx_t_5) {
/* … */
    goto __pyx_L7;
  }
+1796:         if generations % (alternating_period - 1) == 0:
    __pyx_t_5 = (((__pyx_v_generations % (__pyx_v_9CACompute_alternating_period - 1)) == 0) != 0);
    if (__pyx_t_5) {
/* … */
    }
+1797:             cells_changed.clear()
      __pyx_v_cells_changed.clear();
 1798:     else:
+1799:         cells_changed.clear()
  /*else*/ {
    __pyx_v_cells_changed.clear();
  }
  __pyx_L7:;
 1800: 
+1801:     corner = corner_lst[generations % alternating_period]
  __pyx_v_9CACompute_corner = (__pyx_v_9CACompute_corner_lst[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]);
+1802:     direction = direction_lst[generations % alternating_period]
  __pyx_v_9CACompute_direction = (__pyx_v_9CACompute_direction_lst[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]);
+1803:     xy = xy_lst[generations % alternating_period]
  __pyx_v_9CACompute_xy = (__pyx_v_9CACompute_xy_lst[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]);
 1804: 
+1805:     if corner == -1:
  __pyx_t_5 = ((__pyx_v_9CACompute_corner == -1L) != 0);
  if (__pyx_t_5) {
/* … */
    goto __pyx_L9;
  }
+1806:         for coordinates in cells_to_check:
    __pyx_t_1 = __pyx_v_cells_to_check.begin();
    for (;;) {
      if (!(__pyx_t_1 != __pyx_v_cells_to_check.end())) break;
      __pyx_t_2 = *__pyx_t_1;
      ++__pyx_t_1;
      __pyx_v_coordinates = __pyx_t_2;
/* … */
    }
+1807:             neighbours.clear()
      __pyx_v_neighbours.clear();
+1808:             ans = -1
      __pyx_v_ans = -1;
 1809: 
+1810:             if copy_grid.find(coordinates) == copy_grid.end():
      __pyx_t_5 = ((__pyx_v_copy_grid.find(__pyx_v_coordinates) == __pyx_v_copy_grid.end()) != 0);
      if (__pyx_t_5) {
/* … */
        goto __pyx_L12;
      }
+1811:                 if depends_cache.find(pair[int, int] (0, generations % alternating_period)) == \
        try {
          __pyx_t_2 = std::pair<int,int> (0, (__pyx_v_generations % __pyx_v_9CACompute_alternating_period));
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1811, __pyx_L1_error)
        }
/* … */
        __pyx_t_5 = ((__pyx_v_9CACompute_depends_cache.find(__pyx_t_2) == __pyx_v_9CACompute_depends_cache.end()) != 0);
/* … */
        if (__pyx_t_5) {
/* … */
          goto __pyx_L13;
        }
 1812:                         depends_cache.end():
+1813:                     ans = depend_on_neighbours(0, generations % alternating_period)
          __pyx_v_ans = __pyx_f_9CACompute_depend_on_neighbours(0, (__pyx_v_generations % __pyx_v_9CACompute_alternating_period));
+1814:                     depends_cache[pair[int, int] (0, generations % alternating_period)] = ans
          try {
            __pyx_t_2 = std::pair<int,int> (0, (__pyx_v_generations % __pyx_v_9CACompute_alternating_period));
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1814, __pyx_L1_error)
          }
          (__pyx_v_9CACompute_depends_cache[__pyx_t_2]) = __pyx_v_ans;
 1815:                 else:
+1816:                     ans = depends_cache[pair[int, int] (0, generations % alternating_period)]
        /*else*/ {
          try {
            __pyx_t_2 = std::pair<int,int> (0, (__pyx_v_generations % __pyx_v_9CACompute_alternating_period));
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1816, __pyx_L1_error)
          }
          __pyx_v_ans = (__pyx_v_9CACompute_depends_cache[__pyx_t_2]);
        }
        __pyx_L13:;
 1817:             else:
+1818:                 if depends_cache.find(pair[int, int] (copy_grid[coordinates],
      /*else*/ {
/* … */
        try {
          __pyx_t_2 = std::pair<int,int> ((__pyx_v_copy_grid[__pyx_v_coordinates]), (__pyx_v_generations % __pyx_v_9CACompute_alternating_period));
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1818, __pyx_L1_error)
        }
/* … */
        if (__pyx_t_5) {
/* … */
          goto __pyx_L14;
        }
+1819:                                                       generations % alternating_period)) == \
        __pyx_t_5 = ((__pyx_v_9CACompute_depends_cache.find(__pyx_t_2) == __pyx_v_9CACompute_depends_cache.end()) != 0);
 1820:                         depends_cache.end():
+1821:                     ans = depend_on_neighbours(copy_grid[coordinates], generations % alternating_period)
          __pyx_v_ans = __pyx_f_9CACompute_depend_on_neighbours((__pyx_v_copy_grid[__pyx_v_coordinates]), (__pyx_v_generations % __pyx_v_9CACompute_alternating_period));
+1822:                     depends_cache[pair[int, int] (copy_grid[coordinates], generations % alternating_period)] = ans
          try {
            __pyx_t_2 = std::pair<int,int> ((__pyx_v_copy_grid[__pyx_v_coordinates]), (__pyx_v_generations % __pyx_v_9CACompute_alternating_period));
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1822, __pyx_L1_error)
          }
          (__pyx_v_9CACompute_depends_cache[__pyx_t_2]) = __pyx_v_ans;
 1823:                 else:
+1824:                     ans = depends_cache[pair[int, int] (copy_grid[coordinates], generations % alternating_period)]
        /*else*/ {
          try {
            __pyx_t_2 = std::pair<int,int> ((__pyx_v_copy_grid[__pyx_v_coordinates]), (__pyx_v_generations % __pyx_v_9CACompute_alternating_period));
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1824, __pyx_L1_error)
          }
          __pyx_v_ans = (__pyx_v_9CACompute_depends_cache[__pyx_t_2]);
        }
        __pyx_L14:;
      }
      __pyx_L12:;
 1825: 
+1826:             if ans == -1:
      __pyx_t_5 = ((__pyx_v_ans == -1L) != 0);
      if (__pyx_t_5) {
/* … */
      }
+1827:                 for neighbour in neighbourhood[generations % alternating_period]:
        __pyx_t_4 = &(__pyx_v_9CACompute_neighbourhood[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]);
        __pyx_t_3 = __pyx_t_4->begin();
        for (;;) {
          if (!(__pyx_t_3 != __pyx_t_4->end())) break;
          __pyx_t_2 = *__pyx_t_3;
          ++__pyx_t_3;
          __pyx_v_neighbour = __pyx_t_2;
/* … */
        }
+1828:                     coordinates2 = pair[int, int] (coordinates.first + neighbour.first,
          try {
            __pyx_t_2 = std::pair<int,int> ((__pyx_v_coordinates.first + __pyx_v_neighbour.first), (__pyx_v_coordinates.second + __pyx_v_neighbour.second));
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1828, __pyx_L1_error)
          }
          __pyx_v_coordinates2 = __pyx_t_2;
 1829:                                                    coordinates.second + neighbour.second)
+1830:                     if copy_grid.find(coordinates2) != copy_grid.end():
          __pyx_t_5 = ((__pyx_v_copy_grid.find(__pyx_v_coordinates2) != __pyx_v_copy_grid.end()) != 0);
          if (__pyx_t_5) {
/* … */
            goto __pyx_L18;
          }
+1831:                         neighbours.push_back(copy_grid[coordinates2])
            try {
              __pyx_v_neighbours.push_back((__pyx_v_copy_grid[__pyx_v_coordinates2]));
            } catch(...) {
              __Pyx_CppExn2PyErr();
              __PYX_ERR(0, 1831, __pyx_L1_error)
            }
 1832:                     else:
+1833:                         neighbours.push_back(0)
          /*else*/ {
            try {
              __pyx_v_neighbours.push_back(0);
            } catch(...) {
              __Pyx_CppExn2PyErr();
              __PYX_ERR(0, 1833, __pyx_L1_error)
            }
          }
          __pyx_L18:;
 1834: 
+1835:             if copy_grid.find(coordinates) != copy_grid.end():
      __pyx_t_5 = ((__pyx_v_copy_grid.find(__pyx_v_coordinates) != __pyx_v_copy_grid.end()) != 0);
      if (__pyx_t_5) {
/* … */
        goto __pyx_L19;
      }
+1836:                 neighbours.push_back(copy_grid[coordinates])
        try {
          __pyx_v_neighbours.push_back((__pyx_v_copy_grid[__pyx_v_coordinates]));
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1836, __pyx_L1_error)
        }
+1837:                 if transition_func_cache.find(
        if (__pyx_t_5) {
/* … */
          goto __pyx_L20;
        }
+1838:                         pair[vector[int], int] (neighbours, generations % alternating_period)) == \
        try {
          __pyx_t_6 = std::pair<std::vector<int> ,int> (__pyx_v_neighbours, (__pyx_v_generations % __pyx_v_9CACompute_alternating_period));
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1838, __pyx_L1_error)
        }
/* … */
        __pyx_t_5 = ((__pyx_v_9CACompute_transition_func_cache.find(__pyx_t_6) == __pyx_v_9CACompute_transition_func_cache.end()) != 0);
 1839:                         transition_func_cache.end():
+1840:                     if ans == -1:
          __pyx_t_5 = ((__pyx_v_ans == -1L) != 0);
          if (__pyx_t_5) {
/* … */
          }
+1841:                         ans = transition_func(neighbours, generations % alternating_period)
            __pyx_v_ans = __pyx_f_9CACompute_transition_func(__pyx_v_neighbours, (__pyx_v_generations % __pyx_v_9CACompute_alternating_period));
 1842:                         transition_func_cache[
+1843:                             pair[vector[int], int] (neighbours, generations % alternating_period)] = ans
            try {
              __pyx_t_6 = std::pair<std::vector<int> ,int> (__pyx_v_neighbours, (__pyx_v_generations % __pyx_v_9CACompute_alternating_period));
            } catch(...) {
              __Pyx_CppExn2PyErr();
              __PYX_ERR(0, 1843, __pyx_L1_error)
            }
            (__pyx_v_9CACompute_transition_func_cache[__pyx_t_6]) = __pyx_v_ans;
 1844:                 else:
+1845:                     if ans == -1: ans = transition_func_cache[
        /*else*/ {
          __pyx_t_5 = ((__pyx_v_ans == -1L) != 0);
          if (__pyx_t_5) {
/* … */
            __pyx_v_ans = (__pyx_v_9CACompute_transition_func_cache[__pyx_t_6]);
          }
        }
        __pyx_L20:;
+1846:                         pair[vector[int], int] (neighbours, generations % alternating_period)]
            try {
              __pyx_t_6 = std::pair<std::vector<int> ,int> (__pyx_v_neighbours, (__pyx_v_generations % __pyx_v_9CACompute_alternating_period));
            } catch(...) {
              __Pyx_CppExn2PyErr();
              __PYX_ERR(0, 1846, __pyx_L1_error)
            }
 1847: 
+1848:                 if ans == 0:
        __pyx_t_5 = ((__pyx_v_ans == 0) != 0);
        if (__pyx_t_5) {
/* … */
          goto __pyx_L23;
        }
+1849:                     dict_grid.erase(coordinates)
          (void)(__pyx_v_dict_grid.erase(__pyx_v_coordinates));
+1850:                     cells_changed.insert(coordinates)
          (void)(__pyx_v_cells_changed.insert(__pyx_v_coordinates));
+1851:                 elif ans != copy_grid[coordinates]:
        __pyx_t_5 = ((__pyx_v_ans != (__pyx_v_copy_grid[__pyx_v_coordinates])) != 0);
        if (__pyx_t_5) {
/* … */
        }
        __pyx_L23:;
+1852:                     dict_grid[coordinates] = ans
          (__pyx_v_dict_grid[__pyx_v_coordinates]) = __pyx_v_ans;
+1853:                     cells_changed.insert(coordinates)
          (void)(__pyx_v_cells_changed.insert(__pyx_v_coordinates));
 1854:             else:
+1855:                 neighbours.push_back(0)
      /*else*/ {
        try {
          __pyx_v_neighbours.push_back(0);
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1855, __pyx_L1_error)
        }
+1856:                 if transition_func_cache.find(
        if (__pyx_t_5) {
/* … */
          goto __pyx_L24;
        }
+1857:                         pair[vector[int], int] (neighbours, generations % alternating_period)) == \
        try {
          __pyx_t_6 = std::pair<std::vector<int> ,int> (__pyx_v_neighbours, (__pyx_v_generations % __pyx_v_9CACompute_alternating_period));
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1857, __pyx_L1_error)
        }
/* … */
        __pyx_t_5 = ((__pyx_v_9CACompute_transition_func_cache.find(__pyx_t_6) == __pyx_v_9CACompute_transition_func_cache.end()) != 0);
 1858:                         transition_func_cache.end():
+1859:                     if ans == -1:
          __pyx_t_5 = ((__pyx_v_ans == -1L) != 0);
          if (__pyx_t_5) {
/* … */
          }
+1860:                         ans = transition_func(neighbours, generations % alternating_period)
            __pyx_v_ans = __pyx_f_9CACompute_transition_func(__pyx_v_neighbours, (__pyx_v_generations % __pyx_v_9CACompute_alternating_period));
 1861:                         transition_func_cache[
+1862:                             pair[vector[int], int] (neighbours, generations % alternating_period)] = ans
            try {
              __pyx_t_6 = std::pair<std::vector<int> ,int> (__pyx_v_neighbours, (__pyx_v_generations % __pyx_v_9CACompute_alternating_period));
            } catch(...) {
              __Pyx_CppExn2PyErr();
              __PYX_ERR(0, 1862, __pyx_L1_error)
            }
            (__pyx_v_9CACompute_transition_func_cache[__pyx_t_6]) = __pyx_v_ans;
 1863:                 else:
+1864:                     if ans == -1: ans = transition_func_cache[
        /*else*/ {
          __pyx_t_5 = ((__pyx_v_ans == -1L) != 0);
          if (__pyx_t_5) {
/* … */
            __pyx_v_ans = (__pyx_v_9CACompute_transition_func_cache[__pyx_t_6]);
          }
        }
        __pyx_L24:;
+1865:                         pair[vector[int], int] (neighbours, generations % alternating_period)]
            try {
              __pyx_t_6 = std::pair<std::vector<int> ,int> (__pyx_v_neighbours, (__pyx_v_generations % __pyx_v_9CACompute_alternating_period));
            } catch(...) {
              __Pyx_CppExn2PyErr();
              __PYX_ERR(0, 1865, __pyx_L1_error)
            }
 1866: 
+1867:                 if ans != 0:
        __pyx_t_5 = ((__pyx_v_ans != 0) != 0);
        if (__pyx_t_5) {
/* … */
        }
      }
      __pyx_L19:;
+1868:                     dict_grid.insert(pair[pair[int, int], int] (coordinates, ans))
          try {
            __pyx_t_7 = std::pair<std::pair<int,int> ,int> (__pyx_v_coordinates, __pyx_v_ans);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1868, __pyx_L1_error)
          }
          (void)(__pyx_v_dict_grid.insert(__pyx_t_7));
+1869:                     cells_changed.insert(coordinates)
          (void)(__pyx_v_cells_changed.insert(__pyx_v_coordinates));
 1870:     else:
+1871:         cells_to_check_vector.assign(cells_to_check.begin(), cells_to_check.end())
  /*else*/ {
    try {
      __pyx_v_cells_to_check_vector.assign(__pyx_v_cells_to_check.begin(), __pyx_v_cells_to_check.end());
    } catch(...) {
      __Pyx_CppExn2PyErr();
      __PYX_ERR(0, 1871, __pyx_L1_error)
    }
+1872:         sort(cells_to_check_vector.begin(), cells_to_check_vector.end(), compare_pairs)
    std::sort<std::vector<std::pair<int,int> > ::iterator,bool (std::pair<int,int> , std::pair<int,int> )>(__pyx_v_cells_to_check_vector.begin(), __pyx_v_cells_to_check_vector.end(), __pyx_f_9CACompute_compare_pairs);
+1873:         for coordinates in cells_to_check_vector:
    __pyx_t_3 = __pyx_v_cells_to_check_vector.begin();
    for (;;) {
      if (!(__pyx_t_3 != __pyx_v_cells_to_check_vector.end())) break;
      __pyx_t_2 = *__pyx_t_3;
      ++__pyx_t_3;
      __pyx_v_coordinates = __pyx_t_2;
/* … */
    }
  }
  __pyx_L9:;
+1874:             neighbours.clear()
      __pyx_v_neighbours.clear();
+1875:             ans = -1
      __pyx_v_ans = -1;
 1876: 
+1877:             if dict_grid.find(coordinates) == dict_grid.end():
      __pyx_t_5 = ((__pyx_v_dict_grid.find(__pyx_v_coordinates) == __pyx_v_dict_grid.end()) != 0);
      if (__pyx_t_5) {
/* … */
        goto __pyx_L30;
      }
+1878:                 if depends_cache.find(pair[int, int] (0, generations % alternating_period)) == \
        try {
          __pyx_t_2 = std::pair<int,int> (0, (__pyx_v_generations % __pyx_v_9CACompute_alternating_period));
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1878, __pyx_L1_error)
        }
/* … */
        __pyx_t_5 = ((__pyx_v_9CACompute_depends_cache.find(__pyx_t_2) == __pyx_v_9CACompute_depends_cache.end()) != 0);
/* … */
        if (__pyx_t_5) {
/* … */
          goto __pyx_L31;
        }
 1879:                         depends_cache.end():
+1880:                     ans = depend_on_neighbours(0, generations % alternating_period)
          __pyx_v_ans = __pyx_f_9CACompute_depend_on_neighbours(0, (__pyx_v_generations % __pyx_v_9CACompute_alternating_period));
+1881:                     depends_cache[pair[int, int] (0, generations % alternating_period)] = ans
          try {
            __pyx_t_2 = std::pair<int,int> (0, (__pyx_v_generations % __pyx_v_9CACompute_alternating_period));
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1881, __pyx_L1_error)
          }
          (__pyx_v_9CACompute_depends_cache[__pyx_t_2]) = __pyx_v_ans;
 1882:                 else:
+1883:                     ans = depends_cache[pair[int, int] (0, generations % alternating_period)]
        /*else*/ {
          try {
            __pyx_t_2 = std::pair<int,int> (0, (__pyx_v_generations % __pyx_v_9CACompute_alternating_period));
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1883, __pyx_L1_error)
          }
          __pyx_v_ans = (__pyx_v_9CACompute_depends_cache[__pyx_t_2]);
        }
        __pyx_L31:;
 1884:             else:
+1885:                 if depends_cache.find(pair[int, int] (dict_grid[coordinates],
      /*else*/ {
/* … */
        try {
          __pyx_t_2 = std::pair<int,int> ((__pyx_v_dict_grid[__pyx_v_coordinates]), (__pyx_v_generations % __pyx_v_9CACompute_alternating_period));
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1885, __pyx_L1_error)
        }
/* … */
        if (__pyx_t_5) {
/* … */
          goto __pyx_L32;
        }
+1886:                                                       generations % alternating_period)) == \
        __pyx_t_5 = ((__pyx_v_9CACompute_depends_cache.find(__pyx_t_2) == __pyx_v_9CACompute_depends_cache.end()) != 0);
 1887:                         depends_cache.end():
+1888:                     ans = depend_on_neighbours(dict_grid[coordinates], generations % alternating_period)
          __pyx_v_ans = __pyx_f_9CACompute_depend_on_neighbours((__pyx_v_dict_grid[__pyx_v_coordinates]), (__pyx_v_generations % __pyx_v_9CACompute_alternating_period));
+1889:                     depends_cache[pair[int, int] (dict_grid[coordinates], generations % alternating_period)] = ans
          try {
            __pyx_t_2 = std::pair<int,int> ((__pyx_v_dict_grid[__pyx_v_coordinates]), (__pyx_v_generations % __pyx_v_9CACompute_alternating_period));
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1889, __pyx_L1_error)
          }
          (__pyx_v_9CACompute_depends_cache[__pyx_t_2]) = __pyx_v_ans;
 1890:                 else:
+1891:                     ans = depends_cache[pair[int, int] (dict_grid[coordinates], generations % alternating_period)]
        /*else*/ {
          try {
            __pyx_t_2 = std::pair<int,int> ((__pyx_v_dict_grid[__pyx_v_coordinates]), (__pyx_v_generations % __pyx_v_9CACompute_alternating_period));
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1891, __pyx_L1_error)
          }
          __pyx_v_ans = (__pyx_v_9CACompute_depends_cache[__pyx_t_2]);
        }
        __pyx_L32:;
      }
      __pyx_L30:;
 1892: 
+1893:             if ans == -1:
      __pyx_t_5 = ((__pyx_v_ans == -1L) != 0);
      if (__pyx_t_5) {
/* … */
      }
+1894:                 for neighbour in neighbourhood[generations % alternating_period]:
        __pyx_t_4 = &(__pyx_v_9CACompute_neighbourhood[(__pyx_v_generations % __pyx_v_9CACompute_alternating_period)]);
        __pyx_t_8 = __pyx_t_4->begin();
        for (;;) {
          if (!(__pyx_t_8 != __pyx_t_4->end())) break;
          __pyx_t_2 = *__pyx_t_8;
          ++__pyx_t_8;
          __pyx_v_neighbour = __pyx_t_2;
/* … */
        }
+1895:                     coordinates2 = pair[int, int] (coordinates.first + neighbour.first,
          try {
            __pyx_t_2 = std::pair<int,int> ((__pyx_v_coordinates.first + __pyx_v_neighbour.first), (__pyx_v_coordinates.second + __pyx_v_neighbour.second));
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1895, __pyx_L1_error)
          }
          __pyx_v_coordinates2 = __pyx_t_2;
 1896:                                                    coordinates.second + neighbour.second)
+1897:                     if dict_grid.find(coordinates2) != dict_grid.end():
          __pyx_t_5 = ((__pyx_v_dict_grid.find(__pyx_v_coordinates2) != __pyx_v_dict_grid.end()) != 0);
          if (__pyx_t_5) {
/* … */
            goto __pyx_L36;
          }
+1898:                         neighbours.push_back(dict_grid[coordinates2])
            try {
              __pyx_v_neighbours.push_back((__pyx_v_dict_grid[__pyx_v_coordinates2]));
            } catch(...) {
              __Pyx_CppExn2PyErr();
              __PYX_ERR(0, 1898, __pyx_L1_error)
            }
 1899:                     else:
+1900:                         neighbours.push_back(0)
          /*else*/ {
            try {
              __pyx_v_neighbours.push_back(0);
            } catch(...) {
              __Pyx_CppExn2PyErr();
              __PYX_ERR(0, 1900, __pyx_L1_error)
            }
          }
          __pyx_L36:;
 1901: 
+1902:             if dict_grid.find(coordinates) != dict_grid.end():
      __pyx_t_5 = ((__pyx_v_dict_grid.find(__pyx_v_coordinates) != __pyx_v_dict_grid.end()) != 0);
      if (__pyx_t_5) {
/* … */
        goto __pyx_L37;
      }
+1903:                 neighbours.push_back(dict_grid[coordinates])
        try {
          __pyx_v_neighbours.push_back((__pyx_v_dict_grid[__pyx_v_coordinates]));
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1903, __pyx_L1_error)
        }
+1904:                 if transition_func_cache.find(
        if (__pyx_t_5) {
/* … */
          goto __pyx_L38;
        }
+1905:                         pair[vector[int], int] (neighbours, generations % alternating_period)) == \
        try {
          __pyx_t_6 = std::pair<std::vector<int> ,int> (__pyx_v_neighbours, (__pyx_v_generations % __pyx_v_9CACompute_alternating_period));
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1905, __pyx_L1_error)
        }
/* … */
        __pyx_t_5 = ((__pyx_v_9CACompute_transition_func_cache.find(__pyx_t_6) == __pyx_v_9CACompute_transition_func_cache.end()) != 0);
 1906:                         transition_func_cache.end():
+1907:                     if ans == -1:
          __pyx_t_5 = ((__pyx_v_ans == -1L) != 0);
          if (__pyx_t_5) {
/* … */
          }
+1908:                         ans = transition_func(neighbours, generations % alternating_period)
            __pyx_v_ans = __pyx_f_9CACompute_transition_func(__pyx_v_neighbours, (__pyx_v_generations % __pyx_v_9CACompute_alternating_period));
 1909:                         transition_func_cache[
+1910:                             pair[vector[int], int] (neighbours, generations % alternating_period)] = ans
            try {
              __pyx_t_6 = std::pair<std::vector<int> ,int> (__pyx_v_neighbours, (__pyx_v_generations % __pyx_v_9CACompute_alternating_period));
            } catch(...) {
              __Pyx_CppExn2PyErr();
              __PYX_ERR(0, 1910, __pyx_L1_error)
            }
            (__pyx_v_9CACompute_transition_func_cache[__pyx_t_6]) = __pyx_v_ans;
 1911:                 else:
+1912:                     if ans == -1: ans = transition_func_cache[
        /*else*/ {
          __pyx_t_5 = ((__pyx_v_ans == -1L) != 0);
          if (__pyx_t_5) {
/* … */
            __pyx_v_ans = (__pyx_v_9CACompute_transition_func_cache[__pyx_t_6]);
          }
        }
        __pyx_L38:;
+1913:                         pair[vector[int], int] (neighbours, generations % alternating_period)]
            try {
              __pyx_t_6 = std::pair<std::vector<int> ,int> (__pyx_v_neighbours, (__pyx_v_generations % __pyx_v_9CACompute_alternating_period));
            } catch(...) {
              __Pyx_CppExn2PyErr();
              __PYX_ERR(0, 1913, __pyx_L1_error)
            }
 1914: 
+1915:                 if ans == 0:
        __pyx_t_5 = ((__pyx_v_ans == 0) != 0);
        if (__pyx_t_5) {
/* … */
          goto __pyx_L41;
        }
+1916:                     dict_grid.erase(coordinates)
          (void)(__pyx_v_dict_grid.erase(__pyx_v_coordinates));
+1917:                     cells_changed.insert(coordinates)
          (void)(__pyx_v_cells_changed.insert(__pyx_v_coordinates));
+1918:                 elif ans != dict_grid[coordinates]:
        __pyx_t_5 = ((__pyx_v_ans != (__pyx_v_dict_grid[__pyx_v_coordinates])) != 0);
        if (__pyx_t_5) {
/* … */
        }
        __pyx_L41:;
+1919:                     dict_grid[coordinates] = ans
          (__pyx_v_dict_grid[__pyx_v_coordinates]) = __pyx_v_ans;
+1920:                     cells_changed.insert(coordinates)
          (void)(__pyx_v_cells_changed.insert(__pyx_v_coordinates));
 1921:             else:
+1922:                 neighbours.push_back(0)
      /*else*/ {
        try {
          __pyx_v_neighbours.push_back(0);
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1922, __pyx_L1_error)
        }
+1923:                 if transition_func_cache.find(
        if (__pyx_t_5) {
/* … */
          goto __pyx_L42;
        }
+1924:                         pair[vector[int], int] (neighbours, generations % alternating_period)) == \
        try {
          __pyx_t_6 = std::pair<std::vector<int> ,int> (__pyx_v_neighbours, (__pyx_v_generations % __pyx_v_9CACompute_alternating_period));
        } catch(...) {
          __Pyx_CppExn2PyErr();
          __PYX_ERR(0, 1924, __pyx_L1_error)
        }
/* … */
        __pyx_t_5 = ((__pyx_v_9CACompute_transition_func_cache.find(__pyx_t_6) == __pyx_v_9CACompute_transition_func_cache.end()) != 0);
 1925:                         transition_func_cache.end():
+1926:                     if ans == -1:
          __pyx_t_5 = ((__pyx_v_ans == -1L) != 0);
          if (__pyx_t_5) {
/* … */
          }
+1927:                         ans = transition_func(neighbours, generations % alternating_period)
            __pyx_v_ans = __pyx_f_9CACompute_transition_func(__pyx_v_neighbours, (__pyx_v_generations % __pyx_v_9CACompute_alternating_period));
 1928:                         transition_func_cache[
+1929:                             pair[vector[int], int] (neighbours, generations % alternating_period)] = ans
            try {
              __pyx_t_6 = std::pair<std::vector<int> ,int> (__pyx_v_neighbours, (__pyx_v_generations % __pyx_v_9CACompute_alternating_period));
            } catch(...) {
              __Pyx_CppExn2PyErr();
              __PYX_ERR(0, 1929, __pyx_L1_error)
            }
            (__pyx_v_9CACompute_transition_func_cache[__pyx_t_6]) = __pyx_v_ans;
 1930:                 else:
+1931:                     if ans == -1: ans = transition_func_cache[
        /*else*/ {
          __pyx_t_5 = ((__pyx_v_ans == -1L) != 0);
          if (__pyx_t_5) {
/* … */
            __pyx_v_ans = (__pyx_v_9CACompute_transition_func_cache[__pyx_t_6]);
          }
        }
        __pyx_L42:;
+1932:                         pair[vector[int], int] (neighbours, generations % alternating_period)]
            try {
              __pyx_t_6 = std::pair<std::vector<int> ,int> (__pyx_v_neighbours, (__pyx_v_generations % __pyx_v_9CACompute_alternating_period));
            } catch(...) {
              __Pyx_CppExn2PyErr();
              __PYX_ERR(0, 1932, __pyx_L1_error)
            }
 1933: 
+1934:                 if ans != 0:
        __pyx_t_5 = ((__pyx_v_ans != 0) != 0);
        if (__pyx_t_5) {
/* … */
        }
      }
      __pyx_L37:;
+1935:                     dict_grid.insert(pair[pair[int, int], int] (coordinates, ans))
          try {
            __pyx_t_7 = std::pair<std::pair<int,int> ,int> (__pyx_v_coordinates, __pyx_v_ans);
          } catch(...) {
            __Pyx_CppExn2PyErr();
            __PYX_ERR(0, 1935, __pyx_L1_error)
          }
          (void)(__pyx_v_dict_grid.insert(__pyx_t_7));
+1936:                     cells_changed.insert(coordinates)
          (void)(__pyx_v_cells_changed.insert(__pyx_v_coordinates));
 1937: 
+1938:     return cells_changed, dict_grid
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_9 = __pyx_convert_unordered_set_to_py_std_3a__3a_pair_3c_int_2c_int_3e___(__pyx_v_cells_changed); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1938, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_9);
  __pyx_t_10 = __pyx_convert_unordered_map_to_py_std_3a__3a_pair_3c_int_2c_int_3e_______int(__pyx_v_dict_grid); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1938, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_10);
  __pyx_t_11 = PyTuple_New(2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1938, __pyx_L1_error)
  __Pyx_GOTREF(__pyx_t_11);
  __Pyx_GIVEREF(__pyx_t_9);
  PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9);
  __Pyx_GIVEREF(__pyx_t_10);
  PyTuple_SET_ITEM(__pyx_t_11, 1, __pyx_t_10);
  __pyx_t_9 = 0;
  __pyx_t_10 = 0;
  __pyx_r = __pyx_t_11;
  __pyx_t_11 = 0;
  goto __pyx_L0;