------- Comment #3 from pinskia at gcc dot gnu dot org 2007-01-04 10:26 ------- This most likely comes from the " associate:" case in fold_binary where we reassociate the PLUS_EXPR and MINUS_EXPR and then fold the -20 + -20 into -40.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30364