c/numeric/math/sqrt

@1-3@ Computes square root of. @4@ Type-generic macro: If has type,  is called. Otherwise, if has integer type or the type,  is called. Otherwise, is called. If is complex or imaginary, then the macro invokes the corresponding complex function.

Return value
If no errors occur, square root of, is returned.

If a domain error occurs, an implementation-defined value is returned (NaN where supported).

If a range error occurs due to underflow, the correct result (after rounding) is returned.

Error handling
Errors are reported as specified in.

Domain error occurs if is less than zero.

If the implementation supports IEEE floating-point arithmetic (IEC 60559),
 * If the argument is less than -0, fe_invalid is raised and NaN is returned.
 * If the argument is +∞ or ±0, it is returned, unmodified.
 * If the argument is NaN, NaN is returned