From d6f4a83b4421a3a2470a7fdb81f83047bbf86df2 Mon Sep 17 00:00:00 2001
From: Alexandru Fikl <alexfikl@gmail.com>
Date: Sat, 9 Sep 2023 16:11:06 +0300
Subject: [PATCH] pass all arguments to CSE constructor

---
 sumpy/codegen.py | 3 ++-
 sumpy/kernel.py  | 7 ++++---
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/sumpy/codegen.py b/sumpy/codegen.py
index 3b19fcb9..c4857fca 100644
--- a/sumpy/codegen.py
+++ b/sumpy/codegen.py
@@ -290,7 +290,8 @@ class BesselDerivativeReplacer(CSECachingIdentityMapper, CallExternalRecMapper):
                     2**(-k)*sum(
                         (-1)**idx*int(sym.binomial(k, idx)) * function(i, arg)
                         for idx, i in enumerate(range(order-k, order+k+1, 2))),
-                    f"d{n_derivs}_{function.name}_{order_str}")
+                    f"d{n_derivs}_{function.name}_{order_str}",
+                    scope=prim.cse_scope.EVALUATION)
         else:
             return CSECachingIdentityMapper.map_call(
                     rec_self or self, expr, rec_self, *args)
diff --git a/sumpy/kernel.py b/sumpy/kernel.py
index 6c50350b..76027809 100644
--- a/sumpy/kernel.py
+++ b/sumpy/kernel.py
@@ -1077,11 +1077,12 @@ class _VectorIndexAdder(CSECachingMapperMixin, IdentityMapper):
         self.additional_indices = additional_indices
 
     def map_subscript(self, expr):
-        from pymbolic.primitives import CommonSubexpression
+        from pymbolic.primitives import CommonSubexpression, cse_scope
         if expr.aggregate.name == self.vec_name \
                 and isinstance(expr.index, int):
-            return CommonSubexpression(expr.aggregate.index(
-                    (expr.index,) + self.additional_indices))
+            return CommonSubexpression(
+                    expr.aggregate.index((expr.index,) + self.additional_indices),
+                    prefix=None, scope=cse_scope.EVALUATION)
         else:
             return IdentityMapper.map_subscript(self, expr)
 
-- 
GitLab