added negation expression folding