_FP_W_TYPE_SIZE
b = _FP_W_TYPE_SIZE - bm;
n1 = (n1 << bm) | (n0 >> (_FP_W_TYPE_SIZE - bm));
b = _FP_W_TYPE_SIZE - bm;
FRn ^= (1 << (_FP_W_TYPE_SIZE - 1));
FRn &= ~(1 << (_FP_W_TYPE_SIZE - 1));
#if _FP_W_TYPE_SIZE < 32
#if _FP_W_TYPE_SIZE < 64
#define _FP_FRACTBITS_D (2 * _FP_W_TYPE_SIZE)
#define _FP_FRACTBITS_D _FP_W_TYPE_SIZE
((_FP_W_TYPE)1 << (_FP_FRACBITS_D-2) % _FP_W_TYPE_SIZE)
((_FP_W_TYPE)1 << (_FP_FRACBITS_D-1) % _FP_W_TYPE_SIZE)
((_FP_W_TYPE)1 << _FP_WFRACBITS_D % _FP_W_TYPE_SIZE)
#if _FP_W_TYPE_SIZE < 64
unsigned frac1 : _FP_FRACBITS_D - (_FP_IMPLBIT_D != 0) - _FP_W_TYPE_SIZE;
unsigned frac0 : _FP_W_TYPE_SIZE;
unsigned frac0 : _FP_W_TYPE_SIZE;
unsigned frac1 : _FP_FRACBITS_D - (_FP_IMPLBIT_D != 0) - _FP_W_TYPE_SIZE;
_xh = X##_f >> (_FP_W_TYPE_SIZE/2); \
_xl = X##_f & (((_FP_W_TYPE)1 << (_FP_W_TYPE_SIZE/2)) - 1); \
_yh = Y##_f >> (_FP_W_TYPE_SIZE/2); \
_yl = Y##_f & (((_FP_W_TYPE)1 << (_FP_W_TYPE_SIZE/2)) - 1); \
_z_f1 += (_FP_W_TYPE)1 << (_FP_W_TYPE_SIZE/2); \
_a_f1 = _a_f0 >> (_FP_W_TYPE_SIZE/2); \
_a_f0 = _a_f0 << (_FP_W_TYPE_SIZE/2); \
_nl = X##_f << (_FP_W_TYPE_SIZE - 1); \
? X & 1 : (X << (_FP_W_TYPE_SIZE - (N))) != 0)))
R += _FP_W_TYPE_SIZE; \
R += _FP_W_TYPE_SIZE; \
(void) (((N) < _FP_W_TYPE_SIZE) \
_n_f1 = X##_f1 << (_FP_W_TYPE_SIZE - 1) | X##_f0 >> 1; \
(_FP_W_TYPE_SIZE - (N)); \
_n_f0 = X##_f0 << (_FP_W_TYPE_SIZE - 1); \
X##_f1 = X##_f0 << ((N) - _FP_W_TYPE_SIZE); \
_x[1] = (X##_f0 << (_FP_WFRACBITS_##fs-1 - _FP_W_TYPE_SIZE) | \
X##_f1 >> (_FP_W_TYPE_SIZE - \
(_FP_WFRACBITS_##fs-1 - _FP_W_TYPE_SIZE))); \
_x[2] = X##_f1 << (_FP_WFRACBITS_##fs-1 - _FP_W_TYPE_SIZE); \
_x[1] = (X##_f0 << (_FP_WFRACBITS_##fs - _FP_W_TYPE_SIZE) | \
X##_f1 >> (_FP_W_TYPE_SIZE - \
(_FP_WFRACBITS_##fs - _FP_W_TYPE_SIZE))); \
_x[2] = X##_f1 << (_FP_WFRACBITS_##fs - _FP_W_TYPE_SIZE); \
q = (_FP_W_TYPE)1 << (_FP_W_TYPE_SIZE - 1); \
(void) (((N) < _FP_W_TYPE_SIZE) \
X##_f0 = X##_f0 >> (N) | X##_f1 << (_FP_W_TYPE_SIZE - (N)); \
(void) (((rsize) <= _FP_W_TYPE_SIZE) \
(r) <<= _FP_W_TYPE_SIZE; \
X##_f1 = (rsize <= _FP_W_TYPE_SIZE ? 0 : r >> _FP_W_TYPE_SIZE); \
X##_f0 = X##_f1 >> ((N) - _FP_W_TYPE_SIZE); \
(void) (((N) < _FP_W_TYPE_SIZE) \
X##_f0 = (X##_f1 << (_FP_W_TYPE_SIZE - (N)) | X##_f0 >> (N) \
: (X##_f0 << (_FP_W_TYPE_SIZE - (N))) != 0)); \
X##_f0 = (X##_f1 >> ((N) - _FP_W_TYPE_SIZE) \
| ((((N) == _FP_W_TYPE_SIZE \
: (X##_f1 << (2*_FP_W_TYPE_SIZE - (N)))) \
R += _FP_W_TYPE_SIZE; \
R += _FP_W_TYPE_SIZE*2; \
R += _FP_W_TYPE_SIZE*3; \
_n_f[3] = X##_f[0] << (_FP_W_TYPE_SIZE - 1); \
_skip = (N) / _FP_W_TYPE_SIZE; \
_up = (N) % _FP_W_TYPE_SIZE; \
_down = _FP_W_TYPE_SIZE - _up; \
q = (_FP_W_TYPE)1 << (_FP_W_TYPE_SIZE - 1); \
q = (_FP_W_TYPE)1 << (_FP_W_TYPE_SIZE - 1); \
q = (_FP_W_TYPE)1 << (_FP_W_TYPE_SIZE - 1); \
_skip = (N) / _FP_W_TYPE_SIZE; \
_down = (N) % _FP_W_TYPE_SIZE; \
_up = _FP_W_TYPE_SIZE - _down; \
if (rsize <= _FP_W_TYPE_SIZE) \
else if (rsize <= 2*_FP_W_TYPE_SIZE) \
r <<= _FP_W_TYPE_SIZE; \
r <<= _FP_W_TYPE_SIZE; \
r <<= _FP_W_TYPE_SIZE; \
r <<= _FP_W_TYPE_SIZE; \
X##_f[1] = (rsize <= _FP_W_TYPE_SIZE ? 0 : r >> _FP_W_TYPE_SIZE); \
X##_f[2] = (rsize <= 2*_FP_W_TYPE_SIZE ? 0 : r >> 2*_FP_W_TYPE_SIZE); \
X##_f[3] = (rsize <= 3*_FP_W_TYPE_SIZE ? 0 : r >> 3*_FP_W_TYPE_SIZE); \
_skip = (N) / _FP_W_TYPE_SIZE; \
_down = (N) % _FP_W_TYPE_SIZE; \
_up = _FP_W_TYPE_SIZE - _down; \
_skip = (N) / _FP_W_TYPE_SIZE; \
_up = (N) % _FP_W_TYPE_SIZE; \
_down = _FP_W_TYPE_SIZE - _up; \
_skip = (N) / _FP_W_TYPE_SIZE; \
_down = (N) % _FP_W_TYPE_SIZE; \
_up = _FP_W_TYPE_SIZE - _down; \
_skip = (N) / _FP_W_TYPE_SIZE; \
_down = (N) % _FP_W_TYPE_SIZE; \
_up = _FP_W_TYPE_SIZE - _down; \
if (_FP_W_TYPE_SIZE*wc < rsize) \
(void) (((rsize) <= _FP_W_TYPE_SIZE) \
__FP_CLZ_2(X##_e, (_FP_W_TYPE)(ur_ >> _FP_W_TYPE_SIZE), \
if (rsize < _FP_W_TYPE_SIZE) \
X##_e -= (_FP_W_TYPE_SIZE - rsize); \
#if _FP_W_TYPE_SIZE < 64
r = _FP_W_TYPE_SIZE - 1; \
r = _FP_W_TYPE_SIZE - 1; \
unsigned long frac1 : _FP_FRACBITS_Q-(_FP_IMPLBIT_Q != 0)-_FP_W_TYPE_SIZE;
unsigned long frac0 : _FP_W_TYPE_SIZE;
unsigned long frac0 : _FP_W_TYPE_SIZE;
unsigned long frac1 : _FP_FRACBITS_Q-(_FP_IMPLBIT_Q != 0)-_FP_W_TYPE_SIZE;
#if _FP_W_TYPE_SIZE < 32
#if _FP_W_TYPE_SIZE < 64
#define _FP_FRACTBITS_Q (4*_FP_W_TYPE_SIZE)
#define _FP_FRACTBITS_Q (2*_FP_W_TYPE_SIZE)
((_FP_W_TYPE)1 << (_FP_FRACBITS_Q-2) % _FP_W_TYPE_SIZE)
((_FP_W_TYPE)1 << (_FP_FRACBITS_Q-1) % _FP_W_TYPE_SIZE)
((_FP_W_TYPE)1 << (_FP_WFRACBITS_Q % _FP_W_TYPE_SIZE))
#if _FP_W_TYPE_SIZE < 64
unsigned long frac3 : _FP_FRACBITS_Q - (_FP_IMPLBIT_Q != 0)-(_FP_W_TYPE_SIZE * 3);
unsigned long frac2 : _FP_W_TYPE_SIZE;
unsigned long frac1 : _FP_W_TYPE_SIZE;
unsigned long frac0 : _FP_W_TYPE_SIZE;
unsigned long frac0 : _FP_W_TYPE_SIZE;
unsigned long frac1 : _FP_W_TYPE_SIZE;
unsigned long frac2 : _FP_W_TYPE_SIZE;
unsigned long frac3 : _FP_FRACBITS_Q - (_FP_IMPLBIT_Q != 0)-(_FP_W_TYPE_SIZE * 3);
#if _FP_W_TYPE_SIZE < 32
#define _FP_FRACXBITS_S (_FP_W_TYPE_SIZE - _FP_FRACBITS_S)
#define _FP_WFRACXBITS_S (_FP_W_TYPE_SIZE - _FP_WFRACBITS_S)
#define W_TYPE_SIZE _FP_W_TYPE_SIZE
#if _FP_W_TYPE_SIZE == 32
#elif _FP_W_TYPE_SIZE == 64