pub fn expression_complexity_variable(
        &mut self,
        expression: il::Expression,
    ) -> Result<il::Expression> {
        let scalar_expression = il::expr_scalar(
            format!("ecv_{}", self.next_expression_complexity_variable),
            expression.bits(),
        );

        self.next_expression_complexity_variable += 1;

        self.add_path_constraint(&il::Expression::cmpeq(
            scalar_expression.clone(),
            expression,
        )?)?;

        Ok(scalar_expression)
    }
/// Add the expression to constraints, and return a scalar expression to use
/// in its place
Add the expression to constraints, and return a scalar expression to use
in its place
Add the expression to constraints and return a scalar expression to use in its place
pub fn expression_complexity_variable(
        &mut self,
        expression: il::Expression,
    ) -> Result<il::Expression> {
        let scalar_expression = il::expr_scalar(
            format!("ecv_{}", self.next_expression_complexity_variable),
            expression.bits(),
        );
        self.next_expression_complexity_variable += 1;
        self.add_path_constraint(&il::Expression::cmpeq(
            scalar_expression.clone(),
            expression,
        )?)?;
        Ok(scalar_expression)
    }
pub fn expression_complexity_variable ( & mut self , expression : il :: Expression , ) -> Result < il :: Expression > { let scalar_expression = il :: expr_scalar ( format ! ( " " self next_expression_complexity_variable ) , expression . bits ( ) , ) ; self . next_expression_complexity_variable += 1 ; self . add_path_constraint ( & il :: Expression :: cmpeq ( scalar_expression . clone ( ) , expression , ) ? ) ? ; Ok ( scalar_expression ) }
Add the expression to constraints, and return a scalar expression to use
in its place
Add the expression to constraints and return a scalar expression to use in its place
&mut self
expression
il::Expression