1  /* { dg-lto-do run } */
       2  /* { dg-lto-options { { -flto -O -ffast-math -fno-builtin } } } */
       3  
       4  extern double pow(double, double);
       5  extern void abort (void);
       6  volatile double x = 1.0;
       7  int main(int argc, char **argv)
       8  {
       9    double d1 = x;
      10    double d2 = pow(d1, 1.0 / 3.0);
      11    double d3 = d1 * d1;
      12    if (d3 != 1.0 || d2 != 0.0)
      13      abort ();
      14    return 0;
      15  }