diff --git a/pystencils/backends/syclbackend.py b/pystencils/backends/syclbackend.py index 1a8ca00b75992f96b8c18fc82e8168704d5ccb2b..493b035ec12ad34872b9c38acd89792660696826 100644 --- a/pystencils/backends/syclbackend.py +++ b/pystencils/backends/syclbackend.py @@ -214,10 +214,10 @@ class SyCLSympyPrinter(CustomSympyPrinter): if expr.exp.is_integer and expr.exp.is_number and 0 < expr.exp < 12: return f"({self._print(sp.Mul(*[expr.base] * expr.exp, evaluate=False))})" - if expr.exp.is_integer and 12 <= expr.exp: - ret = pre_fixed_pow(sp.Pow(expr.base, cast_func(expr.exp, base_type))) elif expr.exp.is_integer and -8 < expr.exp < 0: return super()._print_Pow(expr) + if get_type_of_expression(expr.exp) != base_type: + ret = pre_fixed_pow(sp.Pow(expr.base, cast_func(expr.exp, base_type))) else: ret = pre_fixed_pow(expr)