Make sure both arguments are pulled from the stack before using them in boolean operators

Without this, due to objc short-circuiting, we could end up with one of the values being left on the stack