1  volatile double a, *p;
       2  
       3  int main ()
       4  {
       5    double c, d;
       6    volatile double b;
       7  
       8    d = 1.0;
       9    p = &b;
      10    do
      11    {
      12      c = d;
      13      d = c * 0.5;
      14      b = 1 + d;
      15    } while (b != 1.0);
      16  
      17    a = 1.0 + c;
      18    if (a == 1.0)
      19      abort();
      20  
      21    exit (0);
      22  }