/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-vrp1" } */

extern void vrp_keep (void);

void
f2 (int s, int b)
{
  if (s > 1)
    s = 1;
  /* s in [minint, 1].   */
  b = (b & 1) + 1;
  /* b in range [1, 2].  */
  b = s << b;
  /* b in range [minint+4, maxint-3].  */
  if (b == -2)
    vrp_keep ();
}

/* { dg-final { scan-tree-dump-times "vrp_keep \\(" 1 "vrp1"} } */