diff --git a/pymbolic/cse.py b/pymbolic/cse.py index 700479a06ee18990e2fb0ed70cd644b2a0c1e799..9329a696c12a97975318d10e1631ab11e8dbeee2 100644 --- a/pymbolic/cse.py +++ b/pymbolic/cse.py @@ -68,7 +68,10 @@ class CSEMapper(IdentityMapper): map_call = map_sum def map_common_subexpression(self, expr): - # don't duplicate CSEs + # Avoid creating CSE(CSE(...)) + # + # NOTE: This is not equivalent to isinstance--it's more specific, + # and for a reason! if type(expr) is prim.CommonSubexpression: return prim.wrap_in_cse(self.rec(expr.child), expr.prefix) else: