POWF_SCALE_BITS
k = (int32_t)top >> (23 - POWF_SCALE_BITS); /* arithmetic shift */
#define POWF_SCALE ((double)(1 << POWF_SCALE_BITS))