diff --git a/python/dune/perftool/ufl/visitor.py b/python/dune/perftool/ufl/visitor.py index 9e14391c5aef7656dfcc6e0fe8276ffcf3016505..cc5d3726dc4a99f98693e7be3d13aba9d9389204 100644 --- a/python/dune/perftool/ufl/visitor.py +++ b/python/dune/perftool/ufl/visitor.py @@ -370,9 +370,14 @@ class UFL2LoopyVisitor(ModifiedTerminalTracker): try: evaluated = eval(str(cond)) except: - return prim.If(cond, - self.call(o.ufl_operands[1]), - self.call(o.ufl_operands[2])) + op1 = self.call(o.ufl_operands[1]) + op2 = self.call(o.ufl_operands[2]) + + # This conditional might be redundant! + if op1 == op2: + return op1 + + return prim.If(cond, op1, op2) # User code generation time evaluation if evaluated: