Return the value raised to the power of x.
If the value is less than 0, and x is a normal number the result is
NAN.
If the result overflows the result is T.float.max.
If the result underflows the result is 0.0.
Except as specified below, if the value or x is a NAN, the result is a
NAN.
If the value is 1, the result is 1.0 (even if x is a NAN).
If the value is 0, the result is 1.0 (even if x is a NAN).
If the value is +0 (0), and x is an odd integer greater than 0, the
result is +0 (0).
If x is 0, and the value greater than 0 and not an odd integer, the
result is +0.
If x is 1, and the value is INF or NINF, the result is 1.0.
If the absolute value of x is less than 1, and the value is NINF, the
result is INF.
If the absolute value of x is greater than 1, and the value is NINF,
the result is +0.
If the absolute value of x is less than 1, and the value is INF, the
result is +0.
If the absolute value of x is greater than 1, and the value is INF, the
result is INF.
If x is NINF, and the value is an odd integer less than 0, the result
is 0.
If x is NINF, and the value less than 0 and not an odd integer, the
result is +0.
If x is NINF, and the value is an odd integer greater than 0, the
result is NINF.
If x is NINF, and the value greater than 0 and not an odd integer, the
result is INF.
If x is INF, and the value less than 0, the result is +0.
If x is INF, and the value greater than 0, the result is INF.
If x is +0 or 0, and the value is an odd integer less than 0,
the result is T.float.max with same sign as x.
If x is +0 or 0, and the value is less than 0 and not an odd integer,
the result is T.float.max
