pub fn cells_to_bounded(
cells: &[LoopCell],
result: Src,
width: u32,
) -> Option<BoundedExpr>Expand description
Lower an ALU/select cell body to the bounded fragment (the placer’s own lowering vocabulary).
This is the TREE form: a cell read by two later cells is copied into both, and their readers
copy those, so the body’s BoundedExpr is the cell DAG UNFOLDED — fib.lg’s 75 cells unfold
to 1 657 763 nodes. Callers that speak the tree (printers, SMT surfaces) want exactly that;
the certifier does not, and uses cells_to_gates
to build the same datapath into the shared gate DAG instead, through the SAME walk, so the two
forms cannot drift.