/* { dg-options "-O1 -funsafe-math-optimizations -fno-trapping-math -fdump-tree-recip" } */
/* { dg-do compile } */

/* Test inserting in a block that does not contain a division.  */

extern double h();

double m, n, o;

void f(int x, double z, double w)
{
  double b, c, d, e, f;
  double y = h ();

  if (x)
    b = 1 / y, c = z / y;
  else
    b = 3 / y, c = w / y;

  d = b / y;
  e = c / y;
  f = 1 / y;

  m = d;
  n = e;
  o = f;
}

/* { dg-final { scan-tree-dump-times " / " 1 "recip" } } */

