this function will never return NAN. It will return zero for negative numbers.
this adds range checking to asin()