pub fn rewrite_with_inventions(
    e: Expr,
    invs: &[Invention]
) -> Expr {
    let mut egraph = EGraph::default();
    let root = egraph.add_expr(&e.into());
    rewrite_with_inventions_egraph(root, invs, &mut egraph)
}
/// Same as `rewrite_with_invention` but for multiple inventions, rewriting with one after another in order, compounding on each other
Same as `rewrite_with_invention` but for multiple inventions, rewriting with one after another in order, compounding on each other
Same as ` rewrite_with_invention ` but for multiple inventions rewriting with one after another in order compounding on each other
pub fn rewrite_with_inventions(
    e: Expr,
    invs: &[Invention]
) -> Expr {
    let mut egraph = EGraph::default();
    let root = egraph.add_expr(&e.into());
    rewrite_with_inventions_egraph(root, invs, &mut egraph)
}
pub fn rewrite_with_inventions ( e : Expr , invs : & [ Invention ] ) -> Expr { let mut egraph = EGraph :: default ( ) ; let root = egraph . add_expr ( & e . into ( ) ) ; rewrite_with_inventions_egraph ( root , invs , & mut egraph ) }
Same as `rewrite_with_invention` but for multiple inventions, rewriting with one after another in order, compounding on each other
Same as ` rewrite_with_invention ` but for multiple inventions rewriting with one after another in order compounding on each other
e
Expr
invs
&[Invention]
e
Expr
invs
&[Invention]