1  /* PR rtl-optimization/44031 */
       2  /* Testcase by John Regehr <regehr@cs.utah.edu> */
       3  
       4  typedef unsigned char uint8_t;
       5  typedef unsigned int uint32_t;
       6  typedef unsigned long int uint64_t;
       7  
       8  static uint32_t
       9  safe_add_func_uint32_t_u_u (uint32_t ui1, uint32_t ui2)
      10  {
      11    return ui1 + ui2;
      12  }
      13  
      14  static uint64_t
      15  safe_div_func_uint64_t_u_u (uint64_t ui1, uint32_t ui2)
      16  {
      17    return ui2 ? : (ui1 / ui2);
      18  }
      19  
      20  uint8_t g_55;
      21  uint8_t *g_73 = &g_55;
      22  uint8_t **g_332 = &g_73;
      23  
      24  int func_38(uint8_t *,int);
      25  int func_8(int);
      26  
      27  int int321 (void)
      28  {
      29    uint8_t l_26[4];
      30    uint8_t *l_238 = &l_26[2];
      31    uint8_t l_400;
      32    l_400 &=
      33      func_38 (&l_26[3],
      34           safe_add_func_uint32_t_u_u (safe_div_func_uint64_t_u_u
      35                       (1, **g_332),
      36                       *l_238) >= *l_238 < func_8 (0)), 1;
      37    return 0;
      38  }