//! Expression simplification pass.
//!
//! Applies algebraic simplifications to reduce expression complexity:
//! - Arithmetic identities (x + 0 → x, x * 1 → x, etc.)
//! - Boolean simplifications (x == true → x, !!x → x, etc.)
//! - Constant folding for simple cases
use Expr;
/// Simplify an expression by applying algebraic rules.
///
/// This function recursively simplifies subexpressions and then applies
/// simplification rules to the result.