Skip to main content

optimize_expr

Function optimize_expr 

Source
pub fn optimize_expr(expr: &TLExpr) -> TLExpr
Expand description

Apply multiple optimization passes in sequence

This function applies constant propagation, constant folding, and algebraic simplification iteratively until no more changes occur or a maximum number of iterations is reached.

ยงExample

use tensorlogic_ir::TLExpr;
use tensorlogic_ir::optimize_expr;

// (2 + 3) * 1 should become 5
let expr = TLExpr::mul(
    TLExpr::add(TLExpr::constant(2.0), TLExpr::constant(3.0)),
    TLExpr::constant(1.0),
);
let optimized = optimize_expr(&expr);
assert_eq!(optimized, TLExpr::Constant(5.0));