The algorithm used by FreeBSD libm for powl several reduces both its precision and domain. See msun/src/imprecise.c.