Switched to calling Acos() wherever appropriate
Switched to calling Acos() for safety
Changed to calling asin() for safety