binius_spartan_frontend/compiler.rs
1// Copyright 2025 Irreducible Inc.
2
3use binius_field::Field;
4
5use crate::{
6 circuit_builder::ConstraintBuilder,
7 constraint_system::{ConstraintSystem, WitnessLayout},
8 wire_elimination::{CostModel, run_wire_elimination},
9};
10
11pub fn compile<F: Field>(builder: ConstraintBuilder<F>) -> (ConstraintSystem<F>, WitnessLayout<F>) {
12 let ir = builder.build();
13 let ir = run_wire_elimination(CostModel::default(), ir);
14 ir.finalize()
15}