1  main ()
       2  {
       3    union
       4      {
       5        double d;
       6        unsigned short i[sizeof (double) / sizeof (short)];
       7      } u;
       8    int a = 0;
       9    int b = -5;
      10    int j;
      11  
      12    u.d = (double) a / b;
      13  
      14    /* Look for the right pattern, but be sloppy since
      15       we don't know the byte order.  */
      16    for (j = 0; j < sizeof (double) / sizeof (short); j++)
      17      {
      18        if (u.i[j] == 0x8000)
      19  	exit (0);
      20      }
      21    abort ();
      22  }