1
0
Fork 0
mirror of synced 2025-09-24 04:40:05 +00:00

Remove unnecessary variable definitions

This commit is contained in:
Tjaden Hess 2018-10-27 13:43:52 -04:00
parent f1966e918d
commit cc29180201

View file

@ -358,41 +358,25 @@ impl Flattener {
FlatExpression::Identifier(name_1_y)
},
BooleanExpression::Or(box lhs, box rhs) => {
let x = self.flatten_boolean_expression(
let x = box self.flatten_boolean_expression(
functions_flattened,
arguments_flattened,
statements_flattened,
lhs
);
let y = self.flatten_boolean_expression(
let y = box self.flatten_boolean_expression(
functions_flattened,
arguments_flattened,
statements_flattened,
rhs
);
assert!(x.is_linear() && y.is_linear());
let name_x = self.use_sym();
let name_y = self.use_sym();
let name_x_or_y = self.use_sym();
statements_flattened.push(FlatStatement::Definition(
name_x,
x
));
statements_flattened.push(FlatStatement::Definition(
name_y,
y
));
statements_flattened.push(FlatStatement::Definition(
name_x_or_y,
FlatExpression::Sub(
box FlatExpression::Add(
box FlatExpression::Identifier(name_x),
box FlatExpression::Identifier(name_y)
),
box FlatExpression::Mult(
box FlatExpression::Identifier(name_x),
box FlatExpression::Identifier(name_y)
)
box FlatExpression::Add(x.clone(), y.clone()),
box FlatExpression::Mult(x, y)
)
));
FlatExpression::Identifier(name_x_or_y)