testd
testd(-0x1.0000000000001p-749, 0x1.4p-1072, 0x1p-1074, -1288490189);
static void testd(double, double, double, int);
testd(x, y, e_r, e_q); \
testd(0x1p-1074, 1, 0x1p-1074, 0);
testd(275 * 1193040, 275, 0, 1193040);
testd(-0x1.98260f22fc6dep-302, 0x1.fb3167c430a13p-332,
testd(-0x1.abcdefp120, 0x1.87654321p-120, -0x1.69c78ec4p-121,
testd(-0x1.0000000000003p+0, 0x1.0000000000003p+0, -0.0, -1);