@@ -1538,21 +1538,23 @@ def try_evaling(expr: Expr, prim_expr: i64 | Bool) -> int | bool:
15381538 egraph .register (expr )
15391539 egraph .run (array_api_schedule )
15401540 try :
1541- extracted = egraph .extract (expr )
1542- except EggSmolError as exc :
1543- raise ValueError (f"Cannot extract { expr } " ) from exc
1544- try :
1545- return egraph .eval (prim_expr )
1541+ extracted = egraph .extract (prim_expr )
15461542 except EggSmolError as exc :
1543+ # Try giving some context, by showing the smallest version of the larger expression
1544+ try :
1545+ expr_extracted = egraph .extract (expr )
1546+ except EggSmolError as inner_exc :
1547+ raise ValueError (f"Cannot simplify { expr } " ) from inner_exc
15471548 egraph .display (n_inline_leaves = 1 , split_primitive_outputs = True )
1548- msg = f"Cannot simplify to primitive { extracted } "
1549-
1550- # string = (
1551- # egraph.as_egglog_string
1552- # + "\n"
1553- # + str(egraph._state.typed_expr_to_egg(cast(RuntimeExpr, prim_expr).__egg_typed_expr__))
1554- # )
1555- # # save to "tmp.egg"
1556- # with open("tmp.egg", "w") as f:
1557- # f.write(string)
1549+ msg = f"Cannot simplify to primitive { expr_extracted } "
15581550 raise ValueError (msg ) from exc
1551+ return egraph .eval (extracted )
1552+
1553+ # string = (
1554+ # egraph.as_egglog_string
1555+ # + "\n"
1556+ # + str(egraph._state.typed_expr_to_egg(cast(RuntimeExpr, prim_expr).__egg_typed_expr__))
1557+ # )
1558+ # # save to "tmp.egg"
1559+ # with open("tmp.egg", "w") as f:
1560+ # f.write(string)
0 commit comments