1  /* { dg-do run } */
       2  
       3  typedef __UINT16_TYPE__ uint16_t;
       4  typedef __INT32_TYPE__ int32_t;
       5  static uint16_t g_2823 = 0xEC75L;
       6  static uint16_t g_116 = 0xBC07L;
       7  
       8  static uint16_t
       9  safe_mul_func_uint16_t_u_u(uint16_t ui1, uint16_t ui2)
      10  {
      11    return ((unsigned int)ui1) * ((unsigned int)ui2);
      12  }
      13  
      14  int main ()
      15  {
      16    uint16_t l_2815 = 0xffff;
      17    uint16_t *l_2821 = &g_116;
      18    uint16_t *l_2822 = &g_2823;
      19  
      20  lbl_2826:
      21    l_2815 &= 0x1eae;
      22    if (safe_mul_func_uint16_t_u_u(((*l_2821) = l_2815), (--(*l_2822))))
      23      goto lbl_2826;
      24    if (g_2823 != 32768)
      25      __builtin_abort ();
      26    return 0;
      27  }