3 extern void abort (void);
5 typedef unsigned long T;
12 #define M (sizeof (T) * 4)
14 S __attribute__((noinline))
20 e.b = (x & (~(T) 0 >> M)) * (y & (~(T) 0 >> M));
21 e.a = (x >> M) * (y >> M);
23 f[0] = (x & (~(T) 0 >> M)) * (y >> M);
24 f[1] = (x >> M) * (y & (~(T) 0 >> M));
27 e.b += (f[0] & (~(T) 0 >> M)) << M;
32 e.b += (f[1] & (~(T) 0 >> M)) << M;
47 T x = 1UL << (M * 2 - 1);
49 if (y.a || y.b != x || y.c != 1 || y.d)