Evaluate calls simplify under the hood. You can turn this off by using
evaluate(_, simplify=False);
However, I think you probably want
product_rule(_);
instead (evaluate is for evaluating components of a tensor expression, but yours is a scalar, so it is already 'evaluated' for that purpose; see the docs for more detail and ask again if it's not clear).