diff --git a/pymbolic/mapper/c_code.py b/pymbolic/mapper/c_code.py index 51ed3c4fbe1c26b10d571043b0bed2b9fc41b295..d4d38cacd18204e6b07bab04f89cad0e28411a49 100644 --- a/pymbolic/mapper/c_code.py +++ b/pymbolic/mapper/c_code.py @@ -55,7 +55,7 @@ class CCodeMapper(SimplifyingSortingStringifyMapper): def map_common_subexpression(self, expr, enclosing_prec): try: - cse_name = self.cse_to_name[expr] + cse_name = self.cse_to_name[expr.child] except KeyError: from pymbolic.mapper.stringifier import PREC_NONE cse_str = self.rec(expr.child, PREC_NONE) @@ -82,6 +82,8 @@ class CCodeMapper(SimplifyingSortingStringifyMapper): self.cse_to_name[expr.child] = cse_name self.cse_names.add(cse_name) + assert len(self.cse_names) == len(self.cse_to_name) + return cse_name def map_if_positive(self, expr, enclosing_prec):