add 10-9: safe sqrt

support negtive or complex number.