in src/math_verify/grader.py [0:0]
def safe_sympy_doit(a: Basic | MatrixBase):
"""Safely execute doit() on a sympy expression, catching exceptions.
Doit in sympy will evaluate expressions it will pass the expression tree and evluate nodes.
For example for 1+1+1 it will evaluate the additions and return 3. One issue with it is that it maybe
evaluates too much as integrals will also be evaluated.
As we are using latex2sympy2_extended, evaluates are lazy and only evaluated when needed.
Args:
a: A sympy Basic or MatrixBase expression to evaluate
Returns:
The result of a.doit() if successful, otherwise returns the original expression
"""
try:
return a.doit()
except Exception:
pass
return a