/// Compact chooses AMO and table algorithms per constraint; portfolio heuristics share families.
fn compact_table_encoding(rows: &[Vec<i64>], variable_row_count: Option<usize>) -> TableEncoding {
pub(crate) fn count_uses_amo(inputs: &[Expression], relation: IntegerRelation, bound: i64) -> bool {
let compact = settings::amo_encoding().is_none() && settings::heuristic() == Heuristic::Compact;