Geert Bosch writes:
 > 
 > On May 11, 2007, at 08:26, Rahul wrote:
 > > But for the following example
 > >  int a = 1;
 > >  int b = 2;
 > >  int c = 3;
 > >  c = c + a * b;
 > > the MAC pattern is not getting recognized, instead it is still using
 > > PLUS and MULT patterns.
 > 
 > In general, this transformation is not valid, as it has
 > different rounding behavior from the expression with the
 > + and * operations.

It shouldn't have.  All args are ints, and if we are assuming (as the
C standard says) that int overflow is undefined, the transformation is
valid.

Andrew.

Reply via email to