ufl localfunctions
for the hash code the generated code is used instead of the ufl expression. Even when running the same script twice the code is not always the same leading to recompilation. The difference is in the using std:: directives added in the evaluate/jacobian method.