ttype = type(term) has, hasnt = __separate(ttype.make_args(term)) return ttype(*[ ttype(*[__rec_lims(h) for h in has]), __rec_lims(ttype(*hasnt)) ]) save = term term = expand(term) if save != term: return __rec_lims(__apply(term)) lim = limit(term, Xi, 0) print(term, lim) return lim if state['fall_type'] == 'troe': import pdb pdb.set_trace() dci = __rec_lims(dci) print(state) print('dci:', dci) lim = Limit(dci, Xi, 0, '+').doit(deep=True) print('lim:', lim) for term, cse in term_dict.iteritems(): if lim.has(cse): lim = lim.subs(cse, term) print('lim:', lim) print() print()