@@ -82,13 +82,13 @@ static void remove_vector(exprt &expr)
82
82
expr.id ()==ID_mod || expr.id ()==ID_bitxor ||
83
83
expr.id ()==ID_bitand || expr.id ()==ID_bitor)
84
84
{
85
+ auto const &binary_expr = to_binary_expr (expr);
85
86
remove_vector (expr.type ());
86
87
array_typet array_type=to_array_type (expr.type ());
87
88
88
89
mp_integer dimension;
89
90
to_integer (array_type.size (), dimension);
90
91
91
- assert (expr.operands ().size ()==2 );
92
92
const typet subtype=array_type.subtype ();
93
93
// do component-wise:
94
94
// x+y -> vector(x[0]+y[0],x[1]+y[1],...)
@@ -99,22 +99,23 @@ static void remove_vector(exprt &expr)
99
99
{
100
100
exprt index =from_integer (i, array_type.size ().type ());
101
101
102
- array_expr.operands ()[i]=
103
- binary_exprt (index_exprt (expr.op0 (), index , subtype), expr.id (),
104
- index_exprt (expr.op1 (), index , subtype));
102
+ array_expr.operands ()[i] = binary_exprt (
103
+ index_exprt (binary_expr.op0 (), index , subtype),
104
+ binary_expr.id (),
105
+ index_exprt (binary_expr.op1 (), index , subtype));
105
106
}
106
107
107
108
expr=array_expr;
108
109
}
109
110
else if (expr.id ()==ID_unary_minus || expr.id ()==ID_bitnot)
110
111
{
112
+ auto const &unary_expr = to_unary_expr (expr);
111
113
remove_vector (expr.type ());
112
114
array_typet array_type=to_array_type (expr.type ());
113
115
114
116
mp_integer dimension;
115
117
to_integer (array_type.size (), dimension);
116
118
117
- assert (expr.operands ().size ()==1 );
118
119
const typet subtype=array_type.subtype ();
119
120
// do component-wise:
120
121
// -x -> vector(-x[0],-x[1],...)
@@ -125,8 +126,8 @@ static void remove_vector(exprt &expr)
125
126
{
126
127
exprt index =from_integer (i, array_type.size ().type ());
127
128
128
- array_expr.operands ()[i]=
129
- unary_exprt (expr .id (), index_exprt (expr .op0 (), index , subtype));
129
+ array_expr.operands ()[i] = unary_exprt (
130
+ unary_expr .id (), index_exprt (unary_expr .op0 (), index , subtype));
130
131
}
131
132
132
133
expr=array_expr;
0 commit comments