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    /* Fully redundant call, but we need a phi node to merge the results.  */
      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        c = fp (a);
      21      }
      22    d = fp (a);
      23    return d + c;
      24  }
      25  
      26  /* { dg-final { scan-tree-dump-times "Eliminated: 1" 1 "pre"} } */