pub fn div(&mut self, v1: &Variable, v2: &Variable) -> Variable {
        // TODO: check 0.div(0) does not compile
        let result = self.new_variable();
        self.add_constraint(Constraint {
            constraint_type: ConstraintType {
                ql: FE::zero(),
                qr: FE::zero(),
                qm: FE::one(),
                qo: -FE::one(),
                qc: FE::zero(),
            },
            l: result,
            r: *v2,
            o: *v1,
            hint: None,
        });
        result
    }
Creates a new variable `w` constrained to be equal to `v1 / v2`.
crates/provers/plonk/src/constraint_system/operations.rs