--- ray/src/common/calexpr.c 1991/08/14 08:18:14 1.15 +++ ray/src/common/calexpr.c 1991/08/14 16:26:31 1.16 @@ -586,6 +586,10 @@ getE4() /* E4 -> ADDOP E5 */ ep2->v.num = -ep2->v.num; return(ep2); } + if (ep2->type == UMINUS) { /* don't generate -(-E5) */ + efree((char *)ep2); + return(ep2->v.kid); + } ep1 = newnode(); ep1->type = UMINUS; addekid(ep1, ep2);