1#include <float.h>
2
3long double dfrom = 1.1L;
4long double m1;
5long double m2;
6unsigned long mant_long;
7
8int main()
9{
10  /* Some targets don't support a conforming long double type.  This is
11     common with very small parts which set long double == float.   Look
12     to see if the type has at least 32 bits of precision.  */
13  if (LDBL_EPSILON > 0x1p-31L)
14    return 0;
15
16  m1 = dfrom / 2.0L;
17  m2 = m1 * 4294967296.0L;
18  mant_long = ((unsigned long) m2) & 0xffffffff;
19
20  if (mant_long == 0x8ccccccc)
21    return 0;
22  else
23    abort();
24}
25