I have been quite inaccurate in my post #2. Actually, *p* generally ranges from -15,999978 to +15,999978 (cf enclosed picture). But in some rare cases, because the weights are unbounded, *p* might fall out from this range so we need to correct it.

The objective is to have a value of* Squash(p)* between [10000H; FFFF0000H], otherwise the calculation of the ranges would be subject to an underflow or overflow situation.

This is why I used those weird decimals : I calculated that Squash(-15.99998) returns 10000H, and Squash(+15.99998) returns FFFF0000H.

Squash(-16) returns FFFFH, and Squash(+16) returns a NAN, but may be this can be corrected by slightly modifying the tables.

Out of curiosity, qWord, what are the steps to transform the Squash formula in (Taylor?) polynomials approximation?

I'm wondering if a step of 1 would be sufficient.