UPDATE : After going through all answers, it was found that all answers had imperfections due to edge cases of unary -
and √. Thus, missing those edge cases was considered okay as far as completeness of answers is involved.
This is a tough question, but a rather interesting one.