1  /* { dg-do compile } */ 
       2  /* { dg-options "-O2 -fdump-tree-pre-stats" } */
       3  double cos (double) __attribute__ ((const));
       4  double sin (double) __attribute__ ((const));
       5  double f(double a)
       6  {
       7    double b;
       8    double c,d;
       9    double (*fp) (double) __attribute__ ((const));
      10    /* Partially redundant call */
      11    if (a < 2.0)
      12      {
      13        fp = sin;
      14        c = fp (a);
      15      }
      16    else
      17      {
      18        c = 1.0; 
      19        fp = cos;
      20      }
      21    d = fp (a);
      22    return d + c;
      23  }
      24  
      25  /* { dg-final { scan-tree-dump-times "Eliminated: 1" 1 "pre"} } */