fci_l2br_domain_cmd_query_cont_build_repply_buf.isra.0 (struct pfe_l2br_domain_t * domain, struct fpp_l2_bd_cmd_t * * bd_cmd, uint16_t * fci_ret, struct fpp_l2_bd_cmd_t * reply_buf, struct pfe_l2br_t * const * ISRA.37)
{
  struct pfe_ct_vlan_stats_t stats;
  uint16_t * _3;
  int _5;
  struct fpp_l2_bd_cmd_t * _7;
  short unsigned int _8;
  short unsigned int _9;
  uint8_t * _10;
  uint8_t * _11;
  int _12;
  struct fpp_l2_bd_cmd_t * _13;
  uint8_t * _14;
  uint8_t * _15;
  int _16;
  struct pfe_l2br_t * _18;
  unsigned char _19;
  int _20;
  struct fpp_l2_bd_cmd_t * _21;
  struct fpp_l2_bd_stats_t * _22;
  unsigned char _23;
  struct fpp_l2_bd_cmd_t * _24;
  <unnamed type> _25;
  <unnamed type> _26;
  unsigned char _27;
  struct fpp_l2_bd_cmd_t * _28;
  <unnamed type> _29;
  <unnamed type> _30;
  long unsigned int _31;
  long unsigned int _32;
  long unsigned int _33;
  long unsigned int _34;
  long unsigned int _35;
  long unsigned int _36;
  long unsigned int _37;
  long unsigned int _38;
  long unsigned int _39;
  long unsigned int _40;
  long unsigned int _41;
  long unsigned int _42;
  struct fpp_l2_bd_cmd_t * _43;
  long unsigned int _44;
  long unsigned int _45;
  long unsigned int _46;
  long unsigned int _47;
  long unsigned int _48;
  long unsigned int _49;
  long unsigned int _50;
  long unsigned int _51;
  long unsigned int _52;
  long unsigned int _53;
  long unsigned int _54;

  <bb 16> [local count: 1073741824]:
  # DEBUG fci_context s=> fci_context

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  # DEBUG BEGIN_STMT
  stats = {};
  # DEBUG BEGIN_STMT
  *bd_cmd_2(D) = reply_buf_1(D);
  # DEBUG BEGIN_STMT
  _3 = &reply_buf_1(D)->vlan;
  _5 = pfe_l2br_domain_get_vlan (domain_4(D), _3);
  if (_5 != 0)
    goto <bb 3>; [67.00%]
  else
    goto <bb 4>; [33.00%]

  <bb 3> [local count: 719407023]:
  # DEBUG BEGIN_STMT
  *fci_ret_6(D) = 65535;
  goto <bb 15>; [100.00%]

  <bb 4> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  _7 = *bd_cmd_2(D);
  _8 = _7->vlan;
  _9 = _8 r>> 8;
  _7->vlan = _9;
  # DEBUG BEGIN_STMT
  _10 = &_7->ucast_hit;
  _11 = &_7->ucast_miss;
  _12 = pfe_l2br_domain_get_ucast_action (domain_4(D), _10, _11);
  if (_12 != 0)
    goto <bb 5>; [67.00%]
  else
    goto <bb 6>; [33.00%]

  <bb 5> [local count: 237404317]:
  # DEBUG BEGIN_STMT
  *fci_ret_6(D) = 65535;
  goto <bb 15>; [100.00%]

  <bb 6> [local count: 116930485]:
  # DEBUG BEGIN_STMT
  _13 = *bd_cmd_2(D);
  _14 = &_13->mcast_hit;
  _15 = &_13->mcast_miss;
  _16 = pfe_l2br_domain_get_mcast_action (domain_4(D), _14, _15);
  if (_16 != 0)
    goto <bb 7>; [67.00%]
  else
    goto <bb 8>; [33.00%]

  <bb 7> [local count: 78343425]:
  # DEBUG BEGIN_STMT
  *fci_ret_6(D) = 65535;
  goto <bb 15>; [100.00%]

  <bb 8> [local count: 38587060]:
  # DEBUG BEGIN_STMT
  _18 = *ISRA.37_82(D);
  _19 = pfe_l2br_get_vlan_stats_index (domain_4(D));
  _20 = pfe_l2br_get_domain_stats (_18, &stats, _19);
  if (_20 != 0)
    goto <bb 9>; [67.00%]
  else
    goto <bb 10>; [33.00%]

  <bb 9> [local count: 25853330]:
  # DEBUG BEGIN_STMT
  *fci_ret_6(D) = 65535;
  goto <bb 15>; [100.00%]

  <bb 10> [local count: 12733730]:
  # DEBUG BEGIN_STMT
  _21 = *bd_cmd_2(D);
  _22 = &_21->stats;
  memcpy (_22, &stats, 16);
  # DEBUG BEGIN_STMT
  _23 = pfe_l2br_domain_is_default (domain_4(D));
  if (_23 == 1)
    goto <bb 11>; [34.00%]
  else
    goto <bb 12>; [66.00%]

  <bb 11> [local count: 4329468]:
  # DEBUG BEGIN_STMT
  _24 = *bd_cmd_2(D);
  _25 = _24->flags;
  _26 = _25 | 1;
  _24->flags = _26;

  <bb 12> [local count: 12733730]:
  # DEBUG BEGIN_STMT
  _27 = pfe_l2br_domain_is_fallback (domain_4(D));
  if (_27 == 1)
    goto <bb 13>; [34.00%]
  else
    goto <bb 14>; [66.00%]

  <bb 13> [local count: 4329468]:
  # DEBUG BEGIN_STMT
  _28 = *bd_cmd_2(D);
  _29 = _28->flags;
  _30 = _29 | 2;
  _28->flags = _30;

  <bb 14> [local count: 12733730]:
  # DEBUG BEGIN_STMT
  _31 = pfe_l2br_domain_get_if_list (domain_4(D));
  _32 = _31 >> 24;
  _33 = pfe_l2br_domain_get_if_list (domain_4(D));
  _34 = _33 >> 8;
  _35 = _34 & 65280;
  _36 = _32 | _35;
  _37 = pfe_l2br_domain_get_if_list (domain_4(D));
  _38 = _37 << 8;
  _39 = _38 & 16711680;
  _40 = _36 | _39;
  _41 = pfe_l2br_domain_get_if_list (domain_4(D));
  _42 = _41 << 24;
  _43 = *bd_cmd_2(D);
  _44 = _40 | _42;
  _43->if_list = _44;
  # DEBUG BEGIN_STMT
  _45 = pfe_l2br_domain_get_untag_if_list (domain_4(D));
  _46 = _45 >> 24;
  _47 = _45 >> 8;
  _48 = _47 & 65280;
  _49 = _46 | _48;
  _50 = _45 << 8;
  _51 = _50 & 16711680;
  _52 = _49 | _51;
  _53 = _45 << 24;
  _54 = _52 | _53;
  _43->untag_if_list = _54;
  # DEBUG BEGIN_STMT
  *fci_ret_6(D) = 0;
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0

  <bb 15> [local count: 1073741824]:
  # DEBUG ret => 0
  # DEBUG BEGIN_STMT
  stats ={v} {CLOBBER};
  return 0;

}


fci_l2br_domain_cmd_update_check_if_list.isra.0 (struct pfe_l2br_domain_t * domain, struct pfe_if_db_t * const * ISRA.35, uint32_t session_id, uint16_t * fci_ret, const struct fpp_l2_bd_cmd_t * bd_cmd)
{
  uint32_t ii;
  bool_t tag;
  struct pfe_phy_if_t * phy_if;
  errno_t ret;
  struct pfe_if_db_entry_t * if_db_entry;
  long unsigned int _2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;
  long unsigned int _6;
  long unsigned int _7;
  long unsigned int _8;
  long unsigned int _9;
  long unsigned int _10;
  long unsigned int _11;
  long unsigned int _13;
  long unsigned int _14;
  struct pfe_if_db_t * _16;
  void * ii.17_17;
  struct pfe_if_db_entry_t * if_db_entry.18_21;
  long unsigned int _22;
  long unsigned int _23;
  long unsigned int _24;
  long unsigned int _25;
  long unsigned int _26;
  long unsigned int _27;
  long unsigned int _28;
  long unsigned int _29;
  long unsigned int _30;
  long unsigned int _31;
  unsigned int _32;
  long unsigned int _33;
  _Bool _34;
  void * ii.20_41;

  <bb 18> [local count: 133384446]:
  # DEBUG fci_context s=> fci_context

  <bb 2> [local count: 133384446]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  # DEBUG BEGIN_STMT
  if_db_entry = 0B;
  # DEBUG BEGIN_STMT
  # DEBUG ii => 0
  goto <bb 16>; [100.00%]

  <bb 3> [local count: 976138694]:
  # DEBUG BEGIN_STMT
  _2 = bd_cmd_1(D)->if_list;
  _3 = _2 >> 24;
  _4 = _2 >> 8;
  _5 = _4 & 65280;
  _6 = _3 | _5;
  _7 = _2 << 8;
  _8 = _7 & 16711680;
  _9 = _6 | _8;
  _10 = _2 << 24;
  _11 = _9 | _10;
  _13 = _11 >> ii_12;
  _14 = _13 & 1;
  if (_14 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 12>; [50.00%]

  <bb 4> [local count: 488069347]:
  # DEBUG BEGIN_STMT
  _16 = *ISRA.35_65(D);
  ii.17_17 = (void *) ii_12;
  ret_19 = pfe_if_db_get_first (_16, session_id_18(D), 1, ii.17_17, &if_db_entry);
  # DEBUG ret => ret_19
  # DEBUG BEGIN_STMT
  if (ret_19 != 0)
    goto <bb 5>; [2.00%]
  else
    goto <bb 6>; [98.00%]

  <bb 5> [local count: 9761387]:
  # ret_46 = PHI <ret_19(4)>
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *fci_ret_20(D) = 61713;
  # DEBUG BEGIN_STMT
  goto <bb 17>; [100.00%]

  <bb 6> [local count: 478307960]:
  # DEBUG BEGIN_STMT
  if_db_entry.18_21 = if_db_entry;
  if (if_db_entry.18_21 != 0B)
    goto <bb 7>; [98.00%]
  else
    goto <bb 11>; [2.00%]

  <bb 7> [local count: 468741801]:
  # DEBUG BEGIN_STMT
  _22 = bd_cmd_1(D)->untag_if_list;
  _23 = _22 >> 24;
  _24 = _22 >> 8;
  _25 = _24 & 65280;
  _26 = _23 | _25;
  _27 = _22 << 8;
  _28 = _27 & 16711680;
  _29 = _26 | _28;
  _30 = _22 << 24;
  _31 = _29 | _30;
  _32 = 1 << ii_12;
  _33 = _31 & _32;
  _34 = _33 == 0;
  tag_35 = (bool_t) _34;
  # DEBUG tag => tag_35
  # DEBUG BEGIN_STMT
  phy_if_36 = pfe_if_db_entry_get_phy_if (if_db_entry.18_21);
  # DEBUG phy_if => phy_if_36
  # DEBUG BEGIN_STMT
  ret_38 = pfe_l2br_domain_add_if (domain_37(D), phy_if_36, tag_35);
  # DEBUG ret => ret_38
  # DEBUG BEGIN_STMT
  if (ret_38 == 116)
    goto <bb 8>; [20.24%]
  else
    goto <bb 10>; [79.76%]

  <bb 8> [local count: 94873340]:
  # DEBUG BEGIN_STMT
  ret_39 = pfe_l2br_domain_del_if (domain_37(D), phy_if_36);
  # DEBUG ret => ret_39
  # DEBUG BEGIN_STMT
  if (ret_39 != 0)
    goto <bb 17>; [2.00%]
  else
    goto <bb 9>; [98.00%]

  <bb 9> [local count: 92975874]:
  # DEBUG BEGIN_STMT
  ret_40 = pfe_l2br_domain_add_if (domain_37(D), phy_if_36, tag_35);
  # DEBUG ret => ret_40
  # DEBUG BEGIN_STMT
  if (ret_40 != 0)
    goto <bb 17>; [2.00%]
  else
    goto <bb 15>; [98.00%]

  <bb 10> [local count: 373868460]:
  # DEBUG BEGIN_STMT
  if (ret_38 != 0)
    goto <bb 17>; [2.00%]
  else
    goto <bb 15>; [98.00%]

  <bb 11> [local count: 9566159]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *fci_ret_20(D) = 3;
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  # DEBUG BEGIN_STMT
  goto <bb 17>; [100.00%]

  <bb 12> [local count: 488069347]:
  # DEBUG BEGIN_STMT
  ii.20_41 = (void *) ii_12;
  phy_if_42 = pfe_l2br_domain_get_first_if (domain_37(D), 1, ii.20_41);
  # DEBUG phy_if => phy_if_42
  # DEBUG BEGIN_STMT
  if (phy_if_42 != 0B)
    goto <bb 13>; [53.47%]
  else
    goto <bb 15>; [46.53%]

  <bb 13> [local count: 260970679]:
  # DEBUG BEGIN_STMT
  ret_43 = fci_l2br_domain_remove_if (domain_37(D), phy_if_42);
  # DEBUG ret => ret_43
  # DEBUG BEGIN_STMT
  if (ret_43 != 0)
    goto <bb 14>; [2.00%]
  else
    goto <bb 15>; [98.00%]

  <bb 14> [local count: 5219414]:
  # ret_47 = PHI <ret_43(13)>
  # DEBUG BEGIN_STMT
  *fci_ret_20(D) = 65535;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  goto <bb 17>; [100.00%]

  <bb 15> [local count: 940357380]:
  # ret_48 = PHI <ret_40(9), ret_38(10), ret_49(12), ret_43(13)>
  # DEBUG ret => ret_48
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  ii_44 = ii_12 + 1;
  # DEBUG ii => ii_44

  <bb 16> [local count: 1073741824]:
  # ii_12 = PHI <0(2), ii_44(15)>
  # ret_49 = PHI <0(2), ret_48(15)>
  # DEBUG ret => ret_49
  # DEBUG ii => ii_12
  # DEBUG BEGIN_STMT
  if (ii_12 != 10)
    goto <bb 3>; [90.91%]
  else
    goto <bb 17>; [9.09%]

  <bb 17> [local count: 133384445]:
  # ret_45 = PHI <ret_46(5), ret_39(8), ret_40(9), ret_38(10), 0(11), ret_47(14), ret_49(16)>
  # DEBUG ret => ret_45
  # DEBUG BEGIN_STMT
  if_db_entry ={v} {CLOBBER};
  return ret_45;

}


fci_l2br_domain_cmd_deregister.isra.0 (struct pfe_l2br_domain_t * domain, struct pfe_l2br_t * const * ISRA.32, uint16_t * fci_ret, uint16_t * ISRA.33)
{
  errno_t ret;
  struct pfe_l2br_domain_t * local_domain;
  short unsigned int _2;
  short unsigned int _3;
  short unsigned int _4;
  short unsigned int _5;
  struct pfe_l2br_t * _9;
  short unsigned int _10;
  short unsigned int _11;
  short unsigned int _12;
  short unsigned int _13;
  unsigned int _14;
  void * _15;

  <bb 9> [local count: 1073741824]:
  # DEBUG fci_context s=> fci_context
  # DEBUG bd_cmd s=> bd_cmd

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG ret => 22
  # DEBUG BEGIN_STMT
  # DEBUG local_domain => 0B
  # DEBUG BEGIN_STMT
  _2 = *ISRA.33_26(D);
  _3 = _2 >> 8;
  _4 = _2 << 8;
  _5 = _3 | _4;
  if (_5 <= 1)
    goto <bb 4>; [58.52%]
  else
    goto <bb 3>; [41.48%]

  <bb 3> [local count: 445388109]:
  # DEBUG ret => 22
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  ret_7 = fci_l2br_domain_remove (domain_6(D));
  # DEBUG ret => ret_7
  # DEBUG BEGIN_STMT
  _9 = *ISRA.32_27(D);
  _10 = *ISRA.33_26(D);
  _11 = _10 >> 8;
  _12 = _10 << 8;
  _13 = _11 | _12;
  _14 = (unsigned int) _13;
  _15 = (void *) _14;
  local_domain_16 = pfe_l2br_get_first_domain (_9, 1, _15);
  # DEBUG local_domain => local_domain_16
  # DEBUG BEGIN_STMT
  if (local_domain_16 == 0B)
    goto <bb 5>; [30.00%]
  else
    goto <bb 6>; [70.00%]

  <bb 4> [local count: 628353716]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *fci_ret_17(D) = 3;
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  # DEBUG BEGIN_STMT
  goto <bb 8>; [100.00%]

  <bb 5> [local count: 133616433]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *fci_ret_17(D) = 61954;
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  goto <bb 8>; [100.00%]

  <bb 6> [local count: 311771676]:
  # DEBUG BEGIN_STMT
  if (ret_7 != 0)
    goto <bb 7>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 7> [local count: 155885838]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *fci_ret_17(D) = 65535;

  <bb 8> [local count: 1073741824]:
  # ret_18 = PHI <0(4), 0(5), ret_7(6), ret_7(7)>
  # DEBUG ret => ret_18
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return ret_18;

}


fci_l2br_domain_cmd_update_set_action.isra.0 (struct pfe_l2br_domain_t * * domain, struct pfe_l2br_t * const ISRA.30, uint16_t * fci_ret, const struct fpp_l2_bd_cmd_t * bd_cmd)
{
  errno_t ret;
  struct pfe_l2br_t * _2;
  short unsigned int _4;
  short unsigned int _5;
  short unsigned int _6;
  short unsigned int _7;
  unsigned int _8;
  void * _9;
  struct pfe_l2br_domain_t * _10;
  unsigned char _12;
  int _13;
  <unnamed type> _14;
  unsigned char _15;
  int _16;
  <unnamed type> _17;
  short unsigned int _20;
  short unsigned int _21;
  struct pfe_l2br_domain_t * _22;
  struct pfe_l2br_domain_t * _23;
  unsigned char _24;
  int _25;
  <unnamed type> _26;
  unsigned char _27;
  int _28;
  <unnamed type> _29;
  short unsigned int _31;
  struct pfe_l2br_domain_t * _32;

  <bb 12> [local count: 1073741824]:
  # DEBUG fci_context s=> fci_context

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  # DEBUG BEGIN_STMT
  _2 = ISRA.30_48(D);
  _4 = bd_cmd_3(D)->vlan;
  _5 = _4 >> 8;
  _6 = _4 << 8;
  _7 = _5 | _6;
  _8 = (unsigned int) _7;
  _9 = (void *) _8;
  _10 = pfe_l2br_get_first_domain (_2, 1, _9);
  *domain_11(D) = _10;
  # DEBUG BEGIN_STMT
  if (_10 == 0B)
    goto <bb 4>; [46.53%]
  else
    goto <bb 3>; [53.47%]

  <bb 3> [local count: 574129754]:
  # DEBUG ret => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _12 = bd_cmd_3(D)->ucast_hit;
  _13 = (int) _12;
  _14 = fci_to_l2br_action[_13];
  _15 = bd_cmd_3(D)->ucast_miss;
  _16 = (int) _15;
  _17 = fci_to_l2br_action[_16];
  ret_18 = pfe_l2br_domain_set_ucast_action (_10, _14, _17);
  # DEBUG ret => ret_18
  # DEBUG BEGIN_STMT
  if (ret_18 != 0)
    goto <bb 6>; [67.00%]
  else
    goto <bb 8>; [33.00%]

  <bb 4> [local count: 499612071]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *fci_ret_19(D) = 65535;
  # DEBUG BEGIN_STMT
  # DEBUG ret => 2
  # DEBUG BEGIN_STMT
  _20 = bd_cmd_3(D)->action;
  if (_20 == 0)
    goto <bb 5>; [33.00%]
  else
    goto <bb 11>; [67.00%]

  <bb 5> [local count: 164871983]:
  # DEBUG BEGIN_STMT
  fci_l2br_domain_remove (0B);
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *fci_ret_19(D) = 65535;
  # DEBUG ret => 2
  # DEBUG BEGIN_STMT
  goto <bb 11>; [100.00%]

  <bb 6> [local count: 384666935]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _21 = bd_cmd_3(D)->action;
  if (_21 == 0)
    goto <bb 7>; [33.00%]
  else
    goto <bb 11>; [67.00%]

  <bb 7> [local count: 126940088]:
  # DEBUG BEGIN_STMT
  _22 = *domain_11(D);
  fci_l2br_domain_remove (_22);
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *fci_ret_19(D) = 65535;
  goto <bb 11>; [100.00%]

  <bb 8> [local count: 189462818]:
  # DEBUG BEGIN_STMT
  _23 = *domain_11(D);
  _24 = bd_cmd_3(D)->mcast_hit;
  _25 = (int) _24;
  _26 = fci_to_l2br_action[_25];
  _27 = bd_cmd_3(D)->mcast_miss;
  _28 = (int) _27;
  _29 = fci_to_l2br_action[_28];
  ret_30 = pfe_l2br_domain_set_mcast_action (_23, _26, _29);
  # DEBUG ret => ret_30
  # DEBUG BEGIN_STMT
  if (ret_30 != 0)
    goto <bb 9>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 9> [local count: 94731409]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *fci_ret_19(D) = 65535;
  # DEBUG BEGIN_STMT
  _31 = bd_cmd_3(D)->action;
  if (_31 == 0)
    goto <bb 10>; [33.00%]
  else
    goto <bb 11>; [67.00%]

  <bb 10> [local count: 31261365]:
  # DEBUG BEGIN_STMT
  _32 = *domain_11(D);
  fci_l2br_domain_remove (_32);
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *fci_ret_19(D) = 65535;

  <bb 11> [local count: 1073741824]:
  # ret_33 = PHI <2(4), 2(5), ret_18(6), ret_18(7), ret_30(8), ret_30(9), ret_30(10)>
  # DEBUG ret => ret_33
  # DEBUG BEGIN_STMT
  return ret_33;

}


fci_l2br_domain_remove.part.0 (struct pfe_l2br_domain_t * domain)
{
  const struct pfe_phy_if_t * phy_if;
  errno_t ret;
  uint16_t vlan;
  int _4;

  <bb 9> [local count: 118111602]:

  <bb 2> [local count: 118111602]:
  # DEBUG BEGIN_STMT
  phy_if_2 = pfe_l2br_domain_get_first_if (domain_1(D), 0, 0B);
  # DEBUG phy_if => phy_if_2
  # DEBUG BEGIN_STMT
  goto <bb 6>; [100.00%]

  <bb 3> [local count: 955630223]:
  # DEBUG BEGIN_STMT
  _4 = fci_l2br_domain_remove_if (domain_1(D), phy_if_3);
  if (_4 != 0)
    goto <bb 5>; [67.00%]
  else
    goto <bb 4>; [33.00%]

  <bb 4> [local count: 315357973]:
  # DEBUG BEGIN_STMT
  pfe_l2br_domain_get_vlan (domain_1(D), &vlan);

  <bb 5> [local count: 955630223]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  phy_if_5 = pfe_l2br_domain_get_next_if (domain_1(D));
  # DEBUG phy_if => phy_if_5

  <bb 6> [local count: 1073741824]:
  # phy_if_3 = PHI <phy_if_2(2), phy_if_5(5)>
  # DEBUG phy_if => phy_if_3
  # DEBUG BEGIN_STMT
  if (phy_if_3 != 0B)
    goto <bb 3>; [89.00%]
  else
    goto <bb 7>; [11.00%]

  <bb 7> [local count: 118111601]:
  # DEBUG BEGIN_STMT
  ret_6 = pfe_l2br_domain_destroy (domain_1(D));
  # DEBUG ret => ret_6
  # DEBUG BEGIN_STMT

  <bb 8> [local count: 118111601]:
  # ret_7 = PHI <ret_6(7)>
  # DEBUG ret => ret_7
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  vlan ={v} {CLOBBER};
  return ret_7;

}


fci_l2br_domain_remove_if.part.0 (struct pfe_l2br_domain_t * domain, const struct pfe_phy_if_t * phy_if)
{
  errno_t ret;

  <bb 5> [local count: 1073741824]:

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  ret_3 = pfe_l2br_domain_del_if (domain_1(D), phy_if_2(D));
  # DEBUG ret => ret_3
  # DEBUG BEGIN_STMT
  if (ret_3 != 0)
    goto <bb 4>; [67.00%]
  else
    goto <bb 3>; [33.00%]

  <bb 3> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  ret_4 = pfe_l2br_domain_flush_by_if (domain_1(D), phy_if_2(D));
  # DEBUG ret => ret_4

  <bb 4> [local count: 1073741824]:
  # ret_5 = PHI <ret_3(2), ret_4(3)>
  # DEBUG ret => ret_5
  # DEBUG BEGIN_STMT
  return ret_5;

}


fci_l2br_domain_cmd_register.isra.0 (struct pfe_l2br_t * const * ISRA.26, uint16_t * fci_ret, struct fpp_l2_bd_cmd_t * bd_cmd)
{
  errno_t ret;
  unsigned char _2;
  unsigned char _3;
  unsigned char _4;
  unsigned char _5;
  short unsigned int _7;
  short unsigned int _8;
  short unsigned int _9;
  short unsigned int _10;
  struct pfe_l2br_t * _12;
  short unsigned int _13;

  <bb 14> [local count: 1073741824]:
  # DEBUG fci_context s=> fci_context

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  # DEBUG BEGIN_STMT
  _2 = bd_cmd_1(D)->ucast_hit;
  if (_2 > 3)
    goto <bb 6>; [50.00%]
  else
    goto <bb 3>; [50.00%]

  <bb 3> [local count: 536870913]:
  _3 = bd_cmd_1(D)->ucast_miss;
  if (_3 > 3)
    goto <bb 6>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 4> [local count: 268435456]:
  _4 = bd_cmd_1(D)->mcast_hit;
  if (_4 > 3)
    goto <bb 6>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 5> [local count: 134217728]:
  _5 = bd_cmd_1(D)->mcast_miss;
  if (_5 > 3)
    goto <bb 6>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 6> [local count: 1006632961]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *fci_ret_6(D) = 3;
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  goto <bb 13>; [100.00%]

  <bb 7> [local count: 67108864]:
  # DEBUG BEGIN_STMT
  _7 = bd_cmd_1(D)->vlan;
  _8 = _7 >> 8;
  _9 = _7 << 8;
  _10 = _8 | _9;
  if (_10 <= 1)
    goto <bb 8>; [58.52%]
  else
    goto <bb 9>; [41.48%]

  <bb 8> [local count: 39272107]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *fci_ret_6(D) = 3;
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  goto <bb 13>; [100.00%]

  <bb 9> [local count: 27836757]:
  # DEBUG BEGIN_STMT
  _12 = *ISRA.26_23(D);
  _13 = _7 r>> 8;
  ret_14 = pfe_l2br_domain_create (_12, _13);
  # DEBUG ret => ret_14
  # DEBUG BEGIN_STMT
  if (ret_14 == 115)
    goto <bb 10>; [34.00%]
  else
    goto <bb 11>; [66.00%]

  <bb 10> [local count: 9464497]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *fci_ret_6(D) = 61953;
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  goto <bb 13>; [100.00%]

  <bb 11> [local count: 18372259]:
  # DEBUG BEGIN_STMT
  if (ret_14 != 0)
    goto <bb 12>; [50.00%]
  else
    goto <bb 13>; [50.00%]

  <bb 12> [local count: 9186130]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *fci_ret_6(D) = 65535;

  <bb 13> [local count: 1073741824]:
  # ret_15 = PHI <0(6), 0(8), 0(10), ret_14(11), ret_14(12)>
  # DEBUG ret => ret_15
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return ret_15;

}


fci_l2br_domain_remove (struct pfe_l2br_domain_t * domain)
{
  errno_t ret;

  <bb 2> [local count: 220893215]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (domain_4(D) != 0B)
    goto <bb 3>; [53.47%]
  else
    goto <bb 4>; [46.53%]

  <bb 3> [local count: 118111602]:
  ret_1 = fci_l2br_domain_remove.part.0 (domain_4(D));

  <bb 4> [local count: 220893214]:
  # ret_2 = PHI <0(2), ret_1(3)>
  # DEBUG ret => ret_2
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return ret_2;

}


fci_l2br_domain_remove_if (struct pfe_l2br_domain_t * domain, const struct pfe_phy_if_t * phy_if)
{
  errno_t ret;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  # DEBUG BEGIN_STMT
  if (phy_if_3(D) != 0B)
    goto <bb 3>; [53.47%]
  else
    goto <bb 4>; [46.53%]

  <bb 3> [local count: 574129752]:
  ret_2 = fci_l2br_domain_remove_if.part.0 (domain_5(D), phy_if_3(D));

  <bb 4> [local count: 1073741824]:
  # ret_1 = PHI <0(2), ret_2(3)>
  # DEBUG ret => ret_1
  # DEBUG BEGIN_STMT
  return ret_1;

}


fci_l2br_static_entry_get_valid_fw_list ()
{
  struct pfe_if_db_entry_t * if_db_entry;
  errno_t ret;
  uint32_t valid_if_list;
  uint32_t session_id;
  uint32_t ii;
  struct pfe_if_db_t * _1;
  long unsigned int session_id.21_2;
  void * ii.22_3;
  struct pfe_if_db_entry_t * if_db_entry.23_4;
  long unsigned int _5;
  long unsigned int session_id.24_6;
  int _7;

  <bb 2> [local count: 302581520]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG valid_if_list => 0
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  # DEBUG BEGIN_STMT
  # DEBUG fci_context => &__context
  # DEBUG BEGIN_STMT
  if_db_entry = 0B;
  # DEBUG BEGIN_STMT
  ret_19 = pfe_if_db_lock (&session_id);
  # DEBUG ret => ret_19
  # DEBUG BEGIN_STMT
  if (ret_19 != 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 11> [local count: 151290760]:
  goto <bb 7>; [100.00%]

  <bb 3> [local count: 976138693]:
  # DEBUG BEGIN_STMT
  if_db_entry = 0B;
  # DEBUG BEGIN_STMT
  _1 = __context.phy_if_db;
  session_id.21_2 = session_id;
  ii.22_3 = (void *) ii_8;
  ret_22 = pfe_if_db_get_first (_1, session_id.21_2, 1, ii.22_3, &if_db_entry);
  # DEBUG ret => ret_22
  # DEBUG BEGIN_STMT
  if (ret_22 != 0)
    goto <bb 8>; [5.50%]
  else
    goto <bb 4>; [94.50%]

  <bb 4> [local count: 922451064]:
  # DEBUG BEGIN_STMT
  if_db_entry.23_4 = if_db_entry;
  if (if_db_entry.23_4 != 0B)
    goto <bb 5>; [70.00%]
  else
    goto <bb 6>; [30.00%]

  <bb 5> [local count: 645715745]:
  # DEBUG BEGIN_STMT
  _5 = 1 << ii_8;
  valid_if_list_23 = _5 | valid_if_list_10;
  # DEBUG valid_if_list => valid_if_list_23

  <bb 6> [local count: 922451063]:
  # valid_if_list_9 = PHI <valid_if_list_10(4), valid_if_list_23(5)>
  # DEBUG valid_if_list => valid_if_list_9
  # DEBUG BEGIN_STMT
  ii_24 = ii_8 + 1;
  # DEBUG ii => ii_24

  <bb 7> [local count: 1073741824]:
  # ii_8 = PHI <ii_24(6), 0(11)>
  # valid_if_list_10 = PHI <valid_if_list_9(6), 0(11)>
  # DEBUG valid_if_list => valid_if_list_10
  # DEBUG ii => ii_8
  # DEBUG BEGIN_STMT
  if (ii_8 != 10)
    goto <bb 3>; [90.91%]
  else
    goto <bb 8>; [9.09%]

  <bb 8> [local count: 151290760]:
  # valid_if_list_11 = PHI <0(3), valid_if_list_10(7)>
  # DEBUG valid_if_list => valid_if_list_11
  # DEBUG BEGIN_STMT
  session_id.24_6 = session_id;
  _7 = pfe_if_db_unlock (session_id.24_6);
  if (_7 != 0)
    goto <bb 9>; [50.00%]
  else
    goto <bb 10>; [50.00%]

  <bb 9> [local count: 75645380]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG valid_if_list => 0

  <bb 10> [local count: 302581520]:
  # valid_if_list_12 = PHI <0(2), valid_if_list_11(8), 0(9)>
  # DEBUG valid_if_list => valid_if_list_12
  # DEBUG BEGIN_STMT
  session_id ={v} {CLOBBER};
  if_db_entry ={v} {CLOBBER};
  return valid_if_list_12;

}


fci_l2br_static_entry_cmd (struct fci_msg_t * msg, uint16_t * fci_ret, struct fpp_l2_static_ent_cmd_t * reply_buf, uint32_t * reply_len)
{
  uint32_t valid_if_list;
  uint8_t mac[6];
  struct pfe_l2br_static_entry_t * entry;
  errno_t ret;
  long unsigned int _1;
  short unsigned int _2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;
  long unsigned int _6;
  long unsigned int _7;
  long unsigned int _8;
  long unsigned int _9;
  long unsigned int _10;
  long unsigned int _11;
  long unsigned int _12;
  long unsigned int _13;
  struct pfe_l2br_t * _14;
  short unsigned int _15;
  short unsigned int _16;
  long unsigned int _17;
  long unsigned int _18;
  long unsigned int _19;
  long unsigned int _20;
  long unsigned int _21;
  long unsigned int _22;
  long unsigned int _23;
  long unsigned int _24;
  long unsigned int _25;
  long unsigned int _26;
  long unsigned int _27;
  struct pfe_l2br_t * _28;
  short unsigned int _29;
  short unsigned int _30;
  short unsigned int _31;
  unsigned int _32;
  void * _33;
  uint8_t[6] * _34;
  struct pfe_l2br_t * _35;
  long unsigned int _36;
  long unsigned int _37;
  long unsigned int _38;
  long unsigned int _39;
  long unsigned int _40;
  long unsigned int _41;
  long unsigned int _42;
  long unsigned int _43;
  long unsigned int _44;
  long unsigned int _45;
  int _46;
  struct pfe_l2br_t * _47;
  unsigned char _48;
  int _49;
  struct pfe_l2br_t * _50;
  unsigned char _51;
  int _52;
  struct pfe_l2br_t * _53;
  unsigned char _54;
  int _55;
  struct pfe_l2br_t * _56;
  short unsigned int _57;
  short unsigned int _58;
  short unsigned int _59;
  unsigned int _60;
  void * _61;
  uint8_t[6] * _62;
  struct pfe_l2br_t * _63;
  int _64;
  struct pfe_l2br_t * _65;
  struct pfe_l2br_t * _66;
  short unsigned int _67;
  short unsigned int _68;
  uint8_t[6] * _69;
  long unsigned int _70;
  long unsigned int _71;
  long unsigned int _72;
  long unsigned int _73;
  long unsigned int _74;
  long unsigned int _75;
  long unsigned int _76;
  long unsigned int _77;
  long unsigned int _78;
  long unsigned int _79;
  struct pfe_l2br_t * _80;
  uint8_t * _81;
  struct pfe_l2br_t * _82;
  uint8_t * _83;
  struct pfe_l2br_t * _84;
  uint8_t * _85;
  short unsigned int _93;
  short unsigned int _94;

  <bb 2> [local count: 1073639249]:
  # DEBUG BEGIN_STMT
  # DEBUG fci_context => &__context
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG entry => 0B
  # DEBUG BEGIN_STMT
  mac = "\x00";
  # DEBUG BEGIN_STMT
  # DEBUG valid_if_list => 0
  # DEBUG BEGIN_STMT
  _1 = *reply_len_97(D);
  if (_1 <= 19)
    goto <bb 33>; [52.23%]
  else
    goto <bb 3>; [47.77%]

  <bb 3> [local count: 512877469]:
  # DEBUG BEGIN_STMT
  *reply_len_97(D) = 0;
  # DEBUG BEGIN_STMT
  # DEBUG D#7 => &msg_99(D)->msg_cmd.payload
  # DEBUG br_ent_cmd => D#7
  # DEBUG BEGIN_STMT
  memset (reply_buf_100(D), 0, 20);
  # DEBUG BEGIN_STMT
  _2 = MEM[(struct fpp_l2_static_ent_cmd_t *)msg_99(D) + 16B].action;
  switch (_2) <default: <L41> [16.67%], case 0: <L2> [16.67%], case 1: <L27> [16.67%], case 4: <L12> [16.67%], case 6: <L33> [16.67%], case 7: <L46> [16.67%]>

  <bb 4> [local count: 85496674]:
<L2>:
  # DEBUG BEGIN_STMT
  valid_if_list_139 = fci_l2br_static_entry_get_valid_fw_list ();
  # DEBUG valid_if_list => valid_if_list_139
  # DEBUG BEGIN_STMT
  _3 = MEM[(struct fpp_l2_static_ent_cmd_t *)msg_99(D) + 16B].forward_list;
  _4 = _3 >> 24;
  _5 = _3 >> 8;
  _6 = _5 & 65280;
  _7 = _4 | _6;
  _8 = _3 << 8;
  _9 = _8 & 16711680;
  _10 = _7 | _9;
  _11 = _3 << 24;
  _12 = _10 | _11;
  _13 = _12 & valid_if_list_139;
  if (_12 != _13)
    goto <bb 5>; [79.76%]
  else
    goto <bb 6>; [20.24%]

  <bb 5> [local count: 68192147]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *fci_ret_104(D) = 65535;
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  goto <bb 33>; [100.00%]

  <bb 6> [local count: 17304527]:
  # DEBUG BEGIN_STMT
  MEM[(char * {ref-all})&mac] = MEM[(char * {ref-all})msg_99(D) + 20B];
  # DEBUG BEGIN_STMT
  _14 = __context.l2_bridge;
  _15 = MEM[(struct fpp_l2_static_ent_cmd_t *)msg_99(D) + 16B].vlan;
  _16 = _15 r>> 8;
  ret_142 = pfe_l2br_static_entry_create (_14, _16, &mac, _12);
  # DEBUG ret => ret_142
  # DEBUG BEGIN_STMT
  if (ret_142 == 0)
    goto <bb 7>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 7> [local count: 8652263]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *fci_ret_104(D) = 0;
  goto <bb 33>; [100.00%]

  <bb 8> [local count: 8652263]:
  # DEBUG BEGIN_STMT
  if (ret_142 == 115)
    goto <bb 9>; [21.72%]
  else
    goto <bb 10>; [78.28%]

  <bb 9> [local count: 1879272]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *fci_ret_104(D) = 62273;
  goto <bb 33>; [100.00%]

  <bb 10> [local count: 6772992]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *fci_ret_104(D) = 65535;
  goto <bb 33>; [100.00%]

  <bb 11> [local count: 85496674]:
<L12>:
  # DEBUG BEGIN_STMT
  valid_if_list_118 = fci_l2br_static_entry_get_valid_fw_list ();
  # DEBUG valid_if_list => valid_if_list_118
  # DEBUG BEGIN_STMT
  _17 = MEM[(struct fpp_l2_static_ent_cmd_t *)msg_99(D) + 16B].forward_list;
  _18 = _17 >> 24;
  _19 = _17 >> 8;
  _20 = _19 & 65280;
  _21 = _18 | _20;
  _22 = _17 << 8;
  _23 = _22 & 16711680;
  _24 = _21 | _23;
  _25 = _17 << 24;
  _26 = _24 | _25;
  _27 = _26 & valid_if_list_118;
  if (_26 != _27)
    goto <bb 12>; [79.76%]
  else
    goto <bb 13>; [20.24%]

  <bb 12> [local count: 68192147]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *fci_ret_104(D) = 65535;
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  goto <bb 33>; [100.00%]

  <bb 13> [local count: 17304527]:
  # DEBUG BEGIN_STMT
  _28 = __context.l2_bridge;
  _29 = MEM[(struct fpp_l2_static_ent_cmd_t *)msg_99(D) + 16B].vlan;
  _30 = _29 >> 8;
  _31 = _29 << 8;
  _93 = _30 | _31;
  _32 = (unsigned int) _93;
  _33 = (void *) _32;
  _34 = &MEM[(struct fpp_l2_static_ent_cmd_t *)msg_99(D) + 16B].mac;
  entry_120 = pfe_l2br_static_entry_get_first (_28, 3, _33, _34);
  # DEBUG entry => entry_120
  # DEBUG BEGIN_STMT
  if (entry_120 == 0B)
    goto <bb 14>; [46.53%]
  else
    goto <bb 15>; [53.47%]

  <bb 14> [local count: 8051796]:
  # DEBUG BEGIN_STMT
  *fci_ret_104(D) = 62274;
  goto <bb 33>; [100.00%]

  <bb 15> [local count: 9252730]:
  # DEBUG BEGIN_STMT
  *fci_ret_104(D) = 0;
  # DEBUG BEGIN_STMT
  _35 = __context.l2_bridge;
  _36 = MEM[(struct fpp_l2_static_ent_cmd_t *)msg_99(D) + 16B].forward_list;
  _37 = _36 >> 24;
  _38 = _36 >> 8;
  _39 = _38 & 65280;
  _40 = _37 | _39;
  _41 = _36 << 8;
  _42 = _41 & 16711680;
  _43 = _40 | _42;
  _44 = _36 << 24;
  _45 = _43 | _44;
  _46 = pfe_l2br_static_entry_replace_fw_list (_35, entry_120, _45);
  if (_46 != 0)
    goto <bb 16>; [50.00%]
  else
    goto <bb 17>; [50.00%]

  <bb 16> [local count: 4626365]:
  # DEBUG BEGIN_STMT
  *fci_ret_104(D) = 65535;

  <bb 17> [local count: 9252730]:
  # DEBUG BEGIN_STMT
  _47 = __context.l2_bridge;
  _48 = MEM[(struct fpp_l2_static_ent_cmd_t *)msg_99(D) + 16B].local;
  _49 = pfe_l2br_static_entry_set_local_flag (_47, entry_120, _48);
  if (_49 != 0)
    goto <bb 18>; [50.00%]
  else
    goto <bb 19>; [50.00%]

  <bb 18> [local count: 4626365]:
  # DEBUG BEGIN_STMT
  *fci_ret_104(D) = 65535;

  <bb 19> [local count: 9252730]:
  # DEBUG BEGIN_STMT
  _50 = __context.l2_bridge;
  _51 = MEM[(struct fpp_l2_static_ent_cmd_t *)msg_99(D) + 16B].src_discard;
  _52 = pfe_l2br_static_entry_set_src_discard_flag (_50, entry_120, _51);
  if (_52 != 0)
    goto <bb 20>; [50.00%]
  else
    goto <bb 21>; [50.00%]

  <bb 20> [local count: 4626365]:
  # DEBUG BEGIN_STMT
  *fci_ret_104(D) = 65535;

  <bb 21> [local count: 9252730]:
  # DEBUG BEGIN_STMT
  _53 = __context.l2_bridge;
  _54 = MEM[(struct fpp_l2_static_ent_cmd_t *)msg_99(D) + 16B].dst_discard;
  _55 = pfe_l2br_static_entry_set_dst_discard_flag (_53, entry_120, _54);
  if (_55 != 0)
    goto <bb 22>; [50.00%]
  else
    goto <bb 33>; [50.00%]

  <bb 22> [local count: 4626365]:
  # DEBUG BEGIN_STMT
  *fci_ret_104(D) = 65535;
  goto <bb 33>; [100.00%]

  <bb 23> [local count: 85496674]:
<L27>:
  # DEBUG BEGIN_STMT
  _56 = __context.l2_bridge;
  _57 = MEM[(struct fpp_l2_static_ent_cmd_t *)msg_99(D) + 16B].vlan;
  _58 = _57 >> 8;
  _59 = _57 << 8;
  _94 = _58 | _59;
  _60 = (unsigned int) _94;
  _61 = (void *) _60;
  _62 = &MEM[(struct fpp_l2_static_ent_cmd_t *)msg_99(D) + 16B].mac;
  entry_133 = pfe_l2br_static_entry_get_first (_56, 3, _61, _62);
  # DEBUG entry => entry_133
  # DEBUG BEGIN_STMT
  if (entry_133 == 0B)
    goto <bb 24>; [46.53%]
  else
    goto <bb 25>; [53.47%]

  <bb 24> [local count: 39781602]:
  # DEBUG BEGIN_STMT
  *fci_ret_104(D) = 62274;
  goto <bb 33>; [100.00%]

  <bb 25> [local count: 45715072]:
  # DEBUG BEGIN_STMT
  *fci_ret_104(D) = 0;
  # DEBUG BEGIN_STMT
  _63 = __context.l2_bridge;
  _64 = pfe_l2br_static_entry_destroy (_63, entry_133);
  if (_64 != 0)
    goto <bb 26>; [50.00%]
  else
    goto <bb 33>; [50.00%]

  <bb 26> [local count: 22857536]:
  # DEBUG BEGIN_STMT
  *fci_ret_104(D) = 65535;
  goto <bb 33>; [100.00%]

  <bb 27> [local count: 85496674]:
<L33>:
  # DEBUG BEGIN_STMT
  _65 = __context.l2_bridge;
  entry_103 = pfe_l2br_static_entry_get_first (_65, 0, 0B, 0B);
  # DEBUG entry => entry_103
  # DEBUG BEGIN_STMT
  if (entry_103 == 0B)
    goto <bb 28>; [30.00%]
  else
    goto <bb 31>; [70.00%]

  <bb 28> [local count: 25649002]:
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  # DEBUG BEGIN_STMT
  *fci_ret_104(D) = 62274;
  # DEBUG BEGIN_STMT
  goto <bb 33>; [100.00%]

  <bb 29> [local count: 85496674]:
<L46>:
  # DEBUG entry => 0B
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _66 = __context.l2_bridge;
  entry_107 = pfe_l2br_static_entry_get_next (_66);
  # DEBUG entry => entry_107
  # DEBUG BEGIN_STMT
  if (entry_107 == 0B)
    goto <bb 30>; [30.00%]
  else
    goto <bb 31>; [70.00%]

  <bb 30> [local count: 25649002]:
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  # DEBUG BEGIN_STMT
  *fci_ret_104(D) = 62274;
  # DEBUG BEGIN_STMT
  goto <bb 33>; [100.00%]

  <bb 31> [local count: 119695344]:
  # entry_87 = PHI <entry_103(27), entry_107(29)>
  # DEBUG entry => entry_87
  # DEBUG BEGIN_STMT
  # DEBUG br_ent_cmd => reply_buf_100(D)
  # DEBUG BEGIN_STMT
  *reply_len_97(D) = 20;
  # DEBUG BEGIN_STMT
  _67 = pfe_l2br_static_entry_get_vlan (entry_87);
  # DEBUG BEGIN_STMT
  _68 = _67 r>> 8;
  reply_buf_100(D)->vlan = _68;
  # DEBUG BEGIN_STMT
  _69 = &reply_buf_100(D)->mac;
  pfe_l2br_static_entry_get_mac (entry_87, _69);
  # DEBUG BEGIN_STMT
  _70 = pfe_l2br_static_entry_get_fw_list (entry_87);
  _71 = _70 >> 24;
  _72 = _70 >> 8;
  _73 = _72 & 65280;
  _74 = _71 | _73;
  _75 = _70 << 8;
  _76 = _75 & 16711680;
  _77 = _74 | _76;
  _78 = _70 << 24;
  _79 = _77 | _78;
  reply_buf_100(D)->forward_list = _79;
  # DEBUG BEGIN_STMT
  _80 = __context.l2_bridge;
  _81 = &reply_buf_100(D)->local;
  pfe_l2br_static_entry_get_local_flag (_80, entry_87, _81);
  # DEBUG BEGIN_STMT
  _82 = __context.l2_bridge;
  _83 = &reply_buf_100(D)->src_discard;
  pfe_l2br_static_entry_get_src_discard_flag (_82, entry_87, _83);
  # DEBUG BEGIN_STMT
  _84 = __context.l2_bridge;
  _85 = &reply_buf_100(D)->dst_discard;
  pfe_l2br_static_entry_get_dst_discard_flag (_84, entry_87, _85);
  # DEBUG BEGIN_STMT
  *fci_ret_104(D) = 0;
  # DEBUG BEGIN_STMT
  goto <bb 33>; [100.00%]

  <bb 32> [local count: 85496674]:
<L41>:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *fci_ret_104(D) = 4;
  # DEBUG BEGIN_STMT

  <bb 33> [local count: 1073741824]:
  # ret_86 = PHI <22(2), 0(7), 0(14), 0(25), 0(28), 0(30), 0(31), 0(32), 0(5), ret_142(10), 115(9), 0(12), 0(22), 0(21), 0(24), 0(26)>
  # DEBUG ret => ret_86
  # DEBUG BEGIN_STMT
  mac ={v} {CLOBBER};
  return ret_86;

}


fci_l2br_domain_cmd (struct fci_msg_t * msg, uint16_t * fci_ret, struct fpp_l2_bd_cmd_t * reply_buf, uint32_t * reply_len)
{
  uint32_t session_id;
  struct pfe_l2br_domain_t * domain;
  errno_t ret;
  struct fpp_l2_bd_cmd_t * bd_cmd;
  long unsigned int _1;
  uint8_t[256] * _2;
  struct fpp_l2_bd_cmd_t * bd_cmd.0_3;
  short unsigned int _4;
  short unsigned int _5;
  struct fpp_l2_bd_cmd_t * bd_cmd.2_6;
  unsigned char _7;
  unsigned char _8;
  unsigned char _9;
  unsigned char _10;
  short unsigned int _11;
  struct pfe_l2br_domain_t * domain.7_12;
  long unsigned int session_id.8_13;
  struct fpp_l2_bd_cmd_t * bd_cmd.9_14;
  struct pfe_l2br_domain_t * domain.10_15;
  struct pfe_l2br_t * _16;
  struct pfe_l2br_domain_t * _17;
  struct pfe_l2br_domain_t * domain.13_18;
  struct pfe_l2br_t * _19;
  struct pfe_l2br_domain_t * _20;
  struct pfe_l2br_domain_t * domain.15_21;
  long unsigned int session_id.16_22;
  int _23;
  struct pfe_l2br_t * _70;
  uint16_t * _71;

  <bb 2> [local count: 1073690533]:
  # DEBUG BEGIN_STMT
  # DEBUG fci_context => &__context
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  # DEBUG BEGIN_STMT
  domain = 0B;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = *reply_len_33(D);
  if (_1 <= 35)
    goto <bb 24>; [52.23%]
  else
    goto <bb 3>; [47.77%]

  <bb 3> [local count: 512901967]:
  # DEBUG BEGIN_STMT
  *reply_len_33(D) = 0;
  # DEBUG BEGIN_STMT
  _2 = &msg_35(D)->msg_cmd.payload;
  bd_cmd = _2;
  # DEBUG BEGIN_STMT
  memset (reply_buf_37(D), 0, 36);
  # DEBUG BEGIN_STMT
  ret_40 = pfe_if_db_lock (&session_id);
  # DEBUG ret => ret_40
  # DEBUG BEGIN_STMT
  if (ret_40 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 4> [local count: 256450984]:
  # DEBUG BEGIN_STMT
  *fci_ret_43(D) = 61712;
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  goto <bb 24>; [100.00%]

  <bb 5> [local count: 256450984]:
  # DEBUG BEGIN_STMT
  bd_cmd.0_3 = bd_cmd;
  _4 = bd_cmd.0_3->action;
  switch (_4) <default: <L22> [16.67%], case 0: <L4> [16.67%], case 1: <L13> [16.67%], case 4: <L5> [16.67%], case 6: <L14> [16.67%], case 7: <L16> [16.67%]>

  <bb 6> [local count: 42750379]:
<L4>:
  # DEBUG BEGIN_STMT
  *fci_ret_43(D) = 0;
  # DEBUG BEGIN_STMT
  # DEBUG D#1 => &__context
  ret_55 = fci_l2br_domain_cmd_register.isra.0 (&MEM[(void *)&__context + 76B], fci_ret_43(D), bd_cmd.0_3);
  # DEBUG ret => ret_55
  # DEBUG BEGIN_STMT
  _5 = *fci_ret_43(D);
  if (_5 != 0)
    goto <bb 22>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 7> [local count: 64125568]:
<L5>:
  # DEBUG BEGIN_STMT
  bd_cmd.2_6 = bd_cmd;
  _7 = bd_cmd.2_6->ucast_hit;
  if (_7 > 3)
    goto <bb 11>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 8> [local count: 32062784]:
  _8 = bd_cmd.2_6->ucast_miss;
  if (_8 > 3)
    goto <bb 11>; [50.00%]
  else
    goto <bb 9>; [50.00%]

  <bb 9> [local count: 16031392]:
  _9 = bd_cmd.2_6->mcast_hit;
  if (_9 > 3)
    goto <bb 11>; [50.00%]
  else
    goto <bb 10>; [50.00%]

  <bb 10> [local count: 8015696]:
  _10 = bd_cmd.2_6->mcast_miss;
  if (_10 > 3)
    goto <bb 11>; [67.00%]
  else
    goto <bb 12>; [33.00%]

  <bb 11> [local count: 61480389]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *fci_ret_43(D) = 3;
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  # DEBUG BEGIN_STMT
  goto <bb 22>; [100.00%]

  <bb 12> [local count: 2645180]:
  # DEBUG BEGIN_STMT
  *fci_ret_43(D) = 0;
  # DEBUG BEGIN_STMT
  _70 = MEM[(struct pfe_l2br_t * *)&__context + 76B];
  # DEBUG D#2 => &__context
  ret_58 = fci_l2br_domain_cmd_update_set_action.isra.0 (&domain, _70, fci_ret_43(D), bd_cmd.2_6);
  # DEBUG ret => ret_58
  # DEBUG BEGIN_STMT
  _11 = *fci_ret_43(D);
  if (_11 != 0)
    goto <bb 22>; [67.00%]
  else
    goto <bb 13>; [33.00%]

  <bb 13> [local count: 872909]:
  # DEBUG BEGIN_STMT
  *fci_ret_43(D) = 0;
  # DEBUG BEGIN_STMT
  domain.7_12 = domain;
  session_id.8_13 = session_id;
  bd_cmd.9_14 = bd_cmd;
  # DEBUG D#5 => &__context
  ret_61 = fci_l2br_domain_cmd_update_check_if_list.isra.0 (domain.7_12, &MEM[(void *)&__context + 4B], session_id.8_13, fci_ret_43(D), bd_cmd.9_14);
  # DEBUG ret => ret_61
  # DEBUG BEGIN_STMT
  goto <bb 22>; [100.00%]

  <bb 14> [local count: 42750379]:
<L13>:
  # DEBUG BEGIN_STMT
  domain.10_15 = domain;
  # DEBUG D#3 => &__context
  _71 = &MEM[(short unsigned int *)bd_cmd.0_3 + 2B];
  # DEBUG D#4 => bd_cmd.0_3
  ret_52 = fci_l2br_domain_cmd_deregister.isra.0 (domain.10_15, &MEM[(void *)&__context + 76B], fci_ret_43(D), _71);
  # DEBUG ret => ret_52
  # DEBUG BEGIN_STMT
  goto <bb 22>; [100.00%]

  <bb 15> [local count: 42750379]:
<L14>:
  # DEBUG BEGIN_STMT
  _16 = __context.l2_bridge;
  _17 = pfe_l2br_get_first_domain (_16, 0, 0B);
  domain = _17;
  # DEBUG BEGIN_STMT
  if (_17 == 0B)
    goto <bb 16>; [30.00%]
  else
    goto <bb 17>; [70.00%]

  <bb 16> [local count: 12825114]:
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  # DEBUG BEGIN_STMT
  *fci_ret_43(D) = 61954;
  # DEBUG BEGIN_STMT
  goto <bb 22>; [100.00%]

  <bb 17> [local count: 72675644]:
<L16>:
  # DEBUG BEGIN_STMT
  domain.13_18 = domain;
  if (domain.13_18 == 0B)
    goto <bb 18>; [30.00%]
  else
    goto <bb 20>; [70.00%]

  <bb 18> [local count: 21802693]:
  # DEBUG BEGIN_STMT
  _19 = __context.l2_bridge;
  _20 = pfe_l2br_get_next_domain (_19);
  domain = _20;
  # DEBUG BEGIN_STMT
  if (_20 == 0B)
    goto <bb 19>; [30.00%]
  else
    goto <bb 20>; [70.00%]

  <bb 19> [local count: 6540808]:
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  # DEBUG BEGIN_STMT
  *fci_ret_43(D) = 61954;
  # DEBUG BEGIN_STMT
  goto <bb 22>; [100.00%]

  <bb 20> [local count: 66134836]:
  # DEBUG BEGIN_STMT
  *reply_len_33(D) = 36;
  # DEBUG BEGIN_STMT
  domain.15_21 = domain;
  # DEBUG D#6 => &__context
  ret_50 = fci_l2br_domain_cmd_query_cont_build_repply_buf.isra.0 (domain.15_21, &bd_cmd, fci_ret_43(D), reply_buf_37(D), &MEM[(void *)&__context + 76B]);
  # DEBUG ret => ret_50
  # DEBUG BEGIN_STMT
  goto <bb 22>; [100.00%]

  <bb 21> [local count: 42750379]:
<L22>:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  *fci_ret_43(D) = 4;
  # DEBUG BEGIN_STMT

  <bb 22> [local count: 256502274]:
  # ret_24 = PHI <ret_55(6), 0(11), ret_58(12), ret_61(13), ret_52(14), 0(16), 0(19), ret_50(20), 0(21)>
  # DEBUG ret => ret_24
  # DEBUG BEGIN_STMT
  session_id.16_22 = session_id;
  _23 = pfe_if_db_unlock (session_id.16_22);
  if (_23 != 0)
    goto <bb 23>; [50.00%]
  else
    goto <bb 24>; [50.00%]

  <bb 23> [local count: 128251137]:
  # DEBUG BEGIN_STMT
  *fci_ret_43(D) = 61713;

  <bb 24> [local count: 1073741824]:
  # ret_25 = PHI <22(2), 0(4), ret_24(22), ret_24(23)>
  # DEBUG ret => ret_25
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  bd_cmd ={v} {CLOBBER};
  domain ={v} {CLOBBER};
  session_id ={v} {CLOBBER};
  return ret_25;

}


