We already check hasNoNaNs and that x is finite and strictly positive.

That only leaves the following special cases (taken from the Linux man

page for pow):

If the absolute value of x is less than 1, and y is negative infinity, the result is positive infinity.

If the absolute value of x is greater than 1, and y is negative infinity, the result is +0.

If the absolute value of x is less than 1, and y is positive infinity, the result is +0.

If the absolute value of x is greater than 1, and y is positive infinity, the result is positive infinity.

The transformation preserves all of these, so there is no need to limit

it to hasNoInfs.