oal_mutex_unlock.isra.0 (const oal_mutex_t ISRA.15)
{
  errno_t retval;
  short unsigned int _2;
  int _3;
  unsigned char _4;
  void (*<T4e5>) (void) _5;

  <bb 6> [local count: 1073741824]:
  # DEBUG mutex s=> mutex

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG retval => 22
  # DEBUG BEGIN_STMT
  _2 = ISRA.15_10(D);
  if (_2 <= 255)
    goto <bb 3>; [65.00%]
  else
    goto <bb 5>; [35.00%]

  <bb 3> [local count: 697932186]:
  # DEBUG BEGIN_STMT
  _3 = (int) _2;
  _4 = mutex_alloc[_3];
  if (_4 != 0)
    goto <bb 4>; [65.00%]
  else
    goto <bb 5>; [35.00%]

  <bb 4> [local count: 453655921]:
  # DEBUG BEGIN_STMT
  _5 = SchM_Exit_Eth_43_PFE_ETH_EXCLUSIVE_AREA_ID[_3];
  _5 ();
  # DEBUG BEGIN_STMT
  # DEBUG retval => 0

  <bb 5> [local count: 1073741824]:
  # retval_6 = PHI <22(2), 22(3), 0(4)>
  # DEBUG retval => retval_6
  # DEBUG BEGIN_STMT
  return retval_6;

}


oal_mutex_lock.isra.0 (const oal_mutex_t ISRA.13)
{
  errno_t retval;
  short unsigned int _2;
  int _3;
  unsigned char _4;
  void (*<T4e5>) (void) _5;

  <bb 6> [local count: 1073741824]:
  # DEBUG mutex s=> mutex

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG retval => 22
  # DEBUG BEGIN_STMT
  _2 = ISRA.13_10(D);
  if (_2 <= 255)
    goto <bb 3>; [65.00%]
  else
    goto <bb 5>; [35.00%]

  <bb 3> [local count: 697932186]:
  # DEBUG BEGIN_STMT
  _3 = (int) _2;
  _4 = mutex_alloc[_3];
  if (_4 != 0)
    goto <bb 4>; [65.00%]
  else
    goto <bb 5>; [35.00%]

  <bb 4> [local count: 453655921]:
  # DEBUG BEGIN_STMT
  _5 = SchM_Enter_Eth_43_PFE_ETH_EXCLUSIVE_AREA_ID[_3];
  _5 ();
  # DEBUG BEGIN_STMT
  # DEBUG retval => 0

  <bb 5> [local count: 1073741824]:
  # retval_6 = PHI <22(2), 22(3), 0(4)>
  # DEBUG retval => retval_6
  # DEBUG BEGIN_STMT
  return retval_6;

}


fci_fini ()
{
  uint32_t session_id;
  unsigned char _1;
  unsigned char _2;
  unsigned char _3;
  struct fci_core_t * _4;
  unsigned char _5;
  unsigned char _6;
  long unsigned int session_id.11_7;
  unsigned char _8;
  unsigned char _9;
  unsigned char _10;
  unsigned char _11;
  short unsigned int _44;
  short unsigned int _45;
  short unsigned int _46;
  short unsigned int _47;

  <bb 2> [local count: 1073741823]:
  # DEBUG BEGIN_STMT
  # DEBUG fci_context => &__context
  # DEBUG BEGIN_STMT
  session_id = 0;
  # DEBUG BEGIN_STMT
  _1 = __context.fci_initialized;
  if (_1 == 1)
    goto <bb 3>; [34.00%]
  else
    goto <bb 21>; [66.00%]

  <bb 3> [local count: 365072220]:
  # DEBUG BEGIN_STMT
  _2 = __context.rt_db_initialized;
  if (_2 == 1)
    goto <bb 4>; [34.00%]
  else
    goto <bb 6>; [66.00%]

  <bb 4> [local count: 124124555]:
  # DEBUG BEGIN_STMT
  _3 = __context.db_mutex_initialized;
  if (_3 == 1)
    goto <bb 5>; [20.24%]
  else
    goto <bb 6>; [79.76%]

  <bb 5> [local count: 25122810]:
  # DEBUG BEGIN_STMT
  _44 = MEM[(const oal_mutex_t *)&__context + 82B];
  # DEBUG D#1 => &MEM[(void *)&__context + 82B]
  oal_mutex_lock.isra.0 (_44);
  # DEBUG BEGIN_STMT
  fci_routes_drop_all ();
  # DEBUG BEGIN_STMT
  _46 = MEM[(const oal_mutex_t *)&__context + 82B];
  # DEBUG D#2 => &MEM[(void *)&__context + 82B]
  oal_mutex_unlock.isra.0 (_46);

  <bb 6> [local count: 365072220]:
  # DEBUG BEGIN_STMT
  _4 = __context.core;
  if (_4 != 0B)
    goto <bb 7>; [53.47%]
  else
    goto <bb 8>; [46.53%]

  <bb 7> [local count: 195204116]:
  # DEBUG BEGIN_STMT
  fci_core_fini ();
  # DEBUG BEGIN_STMT
  __context.core = 0B;

  <bb 8> [local count: 365072220]:
  # DEBUG BEGIN_STMT
  pfe_if_db_lock (&session_id);
  # DEBUG BEGIN_STMT
  _5 = __context.log_if_db_initialized;
  if (_5 == 1)
    goto <bb 9>; [34.00%]
  else
    goto <bb 10>; [66.00%]

  <bb 9> [local count: 124124555]:
  # DEBUG BEGIN_STMT
  __context.log_if_db = 0B;
  # DEBUG BEGIN_STMT
  __context.log_if_db_initialized = 0;

  <bb 10> [local count: 365072221]:
  # DEBUG BEGIN_STMT
  _6 = __context.phy_if_db_initialized;
  if (_6 == 1)
    goto <bb 11>; [34.00%]
  else
    goto <bb 12>; [66.00%]

  <bb 11> [local count: 124124555]:
  # DEBUG BEGIN_STMT
  __context.phy_if_db = 0B;
  # DEBUG BEGIN_STMT
  __context.phy_if_db_initialized = 0;

  <bb 12> [local count: 365072221]:
  # DEBUG BEGIN_STMT
  session_id.11_7 = session_id;
  pfe_if_db_unlock (session_id.11_7);
  # DEBUG BEGIN_STMT
  _8 = __context.rt_db_initialized;
  if (_8 == 1)
    goto <bb 13>; [34.00%]
  else
    goto <bb 16>; [66.00%]

  <bb 13> [local count: 124124555]:
  # DEBUG BEGIN_STMT
  _9 = __context.db_mutex_initialized;
  if (_9 == 1)
    goto <bb 14>; [20.24%]
  else
    goto <bb 15>; [79.76%]

  <bb 14> [local count: 25122810]:
  # DEBUG BEGIN_STMT
  _45 = MEM[(const oal_mutex_t *)&__context + 82B];
  # DEBUG D#1 => &MEM[(void *)&__context + 82B]
  oal_mutex_lock.isra.0 (_45);
  # DEBUG BEGIN_STMT
  fci_routes_drop_all ();
  # DEBUG BEGIN_STMT
  _47 = MEM[(const oal_mutex_t *)&__context + 82B];
  # DEBUG D#2 => &MEM[(void *)&__context + 82B]
  oal_mutex_unlock.isra.0 (_47);

  <bb 15> [local count: 124124555]:
  # DEBUG BEGIN_STMT
  __context.rt_db_initialized = 0;

  <bb 16> [local count: 365072221]:
  # DEBUG BEGIN_STMT
  __context.rtable = 0B;
  # DEBUG BEGIN_STMT
  __context.rtable_initialized = 0;
  # DEBUG BEGIN_STMT
  _10 = __context.db_mutex_initialized;
  if (_10 == 1)
    goto <bb 17>; [20.24%]
  else
    goto <bb 18>; [79.76%]

  <bb 17> [local count: 73890617]:
  # DEBUG BEGIN_STMT
  oal_mutex_destroy (&MEM[(void *)&__context + 82B]);

  <bb 18> [local count: 365072221]:
  # DEBUG BEGIN_STMT
  _11 = __context.fci_owner_initialized;
  if (_11 == 1)
    goto <bb 19>; [20.24%]
  else
    goto <bb 20>; [79.76%]

  <bb 19> [local count: 73890617]:
  # DEBUG BEGIN_STMT
  fci_owner_fini ();
  # DEBUG BEGIN_STMT

  <bb 20> [local count: 365072221]:
  # DEBUG BEGIN_STMT
  memset (&__context, 0, 116);
  # DEBUG BEGIN_STMT

  <bb 21> [local count: 1073741824]:
  session_id ={v} {CLOBBER};
  return;

}


fci_init (struct fci_init_info_t * info, const char_t * const identifier)
{
  errno_t err;
  struct pfe_class_t * _1;
  struct pfe_if_db_t * _2;
  struct pfe_if_db_t * _3;
  struct pfe_if_db_t * _4;
  struct pfe_if_db_t * _5;
  struct pfe_rtable_t * _6;
  struct pfe_l2br_t * _7;
  struct pfe_tmu_t * _8;
  struct pfe_tmu_t * _9;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG fci_context => &__context
  # DEBUG BEGIN_STMT
  # DEBUG err => 0
  # DEBUG BEGIN_STMT
  # DEBUG D#3 => identifier_23(D)
  err_25 = fci_init_param_validate.isra.0 (&__context);
  # DEBUG err => err_25
  # DEBUG BEGIN_STMT
  if (err_25 != 22)
    goto <bb 3>; [48.88%]
  else
    goto <bb 29>; [51.12%]

  <bb 3> [local count: 524845004]:
  # DEBUG BEGIN_STMT
  err_27 = fci_core_init (identifier_23(D));
  # DEBUG err => err_27
  # DEBUG BEGIN_STMT
  if (err_27 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 4> [local count: 262422502]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  fci_fini ();
  goto <bb 29>; [100.00%]

  <bb 5> [local count: 262422502]:
  # DEBUG BEGIN_STMT
  __context.db_mutex = 187;
  # DEBUG BEGIN_STMT
  oal_mutex_init (&MEM[(void *)&__context + 82B]);
  # DEBUG BEGIN_STMT
  err_32 = fci_owner_init (info_30(D));
  # DEBUG err => err_32
  # DEBUG BEGIN_STMT
  if (err_32 == 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 6> [local count: 131211251]:
  # DEBUG BEGIN_STMT
  __context.fci_owner_initialized = 1;

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

  <bb 8> [local count: 131211251]:
  # DEBUG BEGIN_STMT
  fci_fini ();
  goto <bb 29>; [100.00%]

  <bb 9> [local count: 131211251]:
  # DEBUG BEGIN_STMT
  __context.db_mutex_initialized = 1;
  # DEBUG BEGIN_STMT
  fci_fp_db_init ();
  # DEBUG BEGIN_STMT
  if (info_30(D) != 0B)
    goto <bb 10>; [70.00%]
  else
    goto <bb 11>; [30.00%]

  <bb 10> [local count: 91847876]:
  # DEBUG BEGIN_STMT
  _1 = info_30(D)->class;
  __context.class = _1;

  <bb 11> [local count: 131211251]:
  # DEBUG BEGIN_STMT
  if (info_30(D) != 0B)
    goto <bb 12>; [70.00%]
  else
    goto <bb 13>; [30.00%]

  <bb 12> [local count: 91847876]:
  # DEBUG BEGIN_STMT
  _2 = info_30(D)->phy_if_db;
  __context.phy_if_db = _2;

  <bb 13> [local count: 131211251]:
  # DEBUG BEGIN_STMT
  _3 = __context.log_if_db;
  if (_3 != 0B)
    goto <bb 14>; [70.00%]
  else
    goto <bb 15>; [30.00%]

  <bb 14> [local count: 91847876]:
  # DEBUG BEGIN_STMT
  __context.phy_if_db_initialized = 1;

  <bb 15> [local count: 131211251]:
  # DEBUG BEGIN_STMT
  if (info_30(D) != 0B)
    goto <bb 16>; [70.00%]
  else
    goto <bb 17>; [30.00%]

  <bb 16> [local count: 91847876]:
  # DEBUG BEGIN_STMT
  _4 = info_30(D)->log_if_db;
  __context.log_if_db = _4;

  <bb 17> [local count: 131211251]:
  # DEBUG BEGIN_STMT
  _5 = __context.log_if_db;
  if (_5 != 0B)
    goto <bb 18>; [70.00%]
  else
    goto <bb 19>; [30.00%]

  <bb 18> [local count: 91847876]:
  # DEBUG BEGIN_STMT
  __context.log_if_db_initialized = 1;

  <bb 19> [local count: 131211251]:
  # DEBUG BEGIN_STMT
  fci_rt_db_init (&MEM[(void *)&__context + 24B]);
  # DEBUG BEGIN_STMT
  __context.rt_db_initialized = 1;
  # DEBUG BEGIN_STMT
  if (info_30(D) != 0B)
    goto <bb 20>; [70.00%]
  else
    goto <bb 24>; [30.00%]

  <bb 20> [local count: 91847876]:
  # DEBUG BEGIN_STMT
  _6 = info_30(D)->rtable;
  if (_6 != 0B)
    goto <bb 21>; [70.00%]
  else
    goto <bb 22>; [30.00%]

  <bb 21> [local count: 64293513]:
  # DEBUG BEGIN_STMT
  __context.rtable = _6;
  # DEBUG BEGIN_STMT
  __context.rtable_initialized = 1;

  <bb 22> [local count: 91847876]:
  # DEBUG BEGIN_STMT
  _7 = info_30(D)->l2_bridge;
  if (_7 != 0B)
    goto <bb 23>; [70.00%]
  else
    goto <bb 24>; [30.00%]

  <bb 23> [local count: 64293513]:
  # DEBUG BEGIN_STMT
  __context.l2_bridge = _7;
  # DEBUG BEGIN_STMT
  __context.l2_bridge_initialized = 1;

  <bb 24> [local count: 131211251]:
  # DEBUG BEGIN_STMT
  if (info_30(D) != 0B)
    goto <bb 25>; [70.00%]
  else
    goto <bb 26>; [30.00%]

  <bb 25> [local count: 91847876]:
  # DEBUG BEGIN_STMT
  _8 = info_30(D)->tmu;
  __context.tmu = _8;

  <bb 26> [local count: 131211251]:
  # DEBUG BEGIN_STMT
  _9 = __context.tmu;
  if (_9 != 0B)
    goto <bb 27>; [70.00%]
  else
    goto <bb 28>; [30.00%]

  <bb 27> [local count: 91847876]:
  # DEBUG BEGIN_STMT
  __context.tmu_initialized = 1;

  <bb 28> [local count: 131211251]:
  # DEBUG BEGIN_STMT
  __context.default_timeouts.timeout_tcp = 432000;
  # DEBUG BEGIN_STMT
  __context.default_timeouts.timeout_udp = 300;
  # DEBUG BEGIN_STMT
  __context.default_timeouts.timeout_other = 240;
  # DEBUG BEGIN_STMT
  __context.fci_initialized = 1;

  <bb 29> [local count: 1073741824]:
  # err_10 = PHI <err_25(2), err_27(4), err_32(8), 0(28)>
  # DEBUG err => err_10
  # DEBUG BEGIN_STMT
  return err_10;

}


fci_process_ipc_message (struct fci_msg_t * msg, struct fci_msg_t * rep_msg)
{
  struct pfe_ct_buffer_t buf;
  bool_t fci_floating_lock;
  bool_t fci_cmd_execute;
  pfe_ct_phy_if_id_t sender_phy_if_id;
  uint32_t * reply_buf_len_ptr;
  uint32_t * reply_buf_ptr;
  uint16_t fci_ret;
  errno_t ret;
  <unnamed type> _1;
  long unsigned int _2;
  long unsigned int _3;
  long unsigned int _4;
  <unnamed type> sender_phy_if_id.0_5;
  <unnamed type> sender_phy_if_id.1_6;
  unsigned char fci_cmd_execute.2_7;
  <unnamed type> sender_phy_if_id.3_8;
  unsigned char fci_floating_lock.4_9;
  unsigned char fci_cmd_execute.5_10;
  unsigned char fci_floating_lock.6_11;
  unsigned char fci_cmd_execute.7_12;
  long unsigned int _13;
  long unsigned int _14;
  short unsigned int fci_ret.8_15;
  <unnamed type> _16;
  long unsigned int _17;
  unsigned char _18;
  uint8_t[64] * _19;
  unsigned int _20;
  struct pfe_class_t * _21;
  unsigned char fci_floating_lock.9_22;
  long unsigned int _23;
  long unsigned int _24;
  short unsigned int fci_ret.10_25;
  errno_t _33;
  short unsigned int _155;
  short unsigned int _156;
  short unsigned int _157;
  short unsigned int _158;
  short unsigned int _159;
  short unsigned int _160;
  short unsigned int _161;
  short unsigned int _162;
  short unsigned int _163;
  short unsigned int _164;
  short unsigned int _165;
  short unsigned int _166;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG ret => 0
  # DEBUG BEGIN_STMT
  # DEBUG fci_context => &__context
  # DEBUG BEGIN_STMT
  fci_ret = 0;
  # DEBUG BEGIN_STMT
  # DEBUG reply_buf_ptr => 0B
  # DEBUG BEGIN_STMT
  # DEBUG reply_buf_len_ptr => 0B
  # DEBUG BEGIN_STMT
  # DEBUG reply_retval_ptr => 0B
  # DEBUG BEGIN_STMT
  sender_phy_if_id = 10;
  # DEBUG BEGIN_STMT
  fci_cmd_execute = 0;
  # DEBUG BEGIN_STMT
  fci_floating_lock = 0;
  # DEBUG BEGIN_STMT
  reply_buf_ptr_51 = &rep_msg_50(D)->msg_cmd.payload[4];
  # DEBUG reply_buf_ptr => reply_buf_ptr_51
  # DEBUG BEGIN_STMT
  reply_buf_len_ptr_52 = &rep_msg_50(D)->msg_cmd.length;
  # DEBUG reply_buf_len_ptr => reply_buf_len_ptr_52
  # DEBUG BEGIN_STMT
  MEM[(uint32_t *)rep_msg_50(D) + 8B] = 252;
  # DEBUG BEGIN_STMT
  _1 = msg_54(D)->type;
  if (_1 == 4099)
    goto <bb 3>; [20.24%]
  else
    goto <bb 22>; [79.76%]

  <bb 3> [local count: 217325345]:
  # DEBUG BEGIN_STMT
  ret_56 = fci_owner_mutex_lock ();
  # DEBUG ret => ret_56
  # DEBUG BEGIN_STMT
  if (ret_56 == 0)
    goto <bb 4>; [33.00%]
  else
    goto <bb 18>; [67.00%]

  <bb 4> [local count: 71717364]:
  # DEBUG BEGIN_STMT
  _2 = msg_54(D)->msg_cmd.sender;
  ret_58 = fci_sender_get_phy_if_id (_2, &sender_phy_if_id);
  # DEBUG ret => ret_58
  # DEBUG BEGIN_STMT
  if (ret_58 == 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 14>; [50.00%]

  <bb 5> [local count: 35858682]:
  # DEBUG BEGIN_STMT
  _3 = msg_54(D)->msg_cmd.code;
  _4 = _3 + 4294904576;
  if (_4 <= 1)
    goto <bb 6>; [41.00%]
  else
    goto <bb 7>; [59.00%]

  <bb 6> [local count: 14702060]:
  # DEBUG BEGIN_STMT
  sender_phy_if_id.0_5 = sender_phy_if_id;
  ret_66 = fci_owner_session_cmd (sender_phy_if_id.0_5, _3, &fci_ret);
  # DEBUG ret => ret_66
  goto <bb 14>; [100.00%]

  <bb 7> [local count: 21156622]:
  # DEBUG BEGIN_STMT
  sender_phy_if_id.1_6 = sender_phy_if_id;
  ret_60 = fci_owner_authorize (sender_phy_if_id.1_6, &fci_cmd_execute);
  # DEBUG ret => ret_60
  # DEBUG BEGIN_STMT
  if (ret_60 == 0)
    goto <bb 8>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 8> [local count: 10578311]:
  # DEBUG BEGIN_STMT
  fci_cmd_execute.2_7 = fci_cmd_execute;
  if (fci_cmd_execute.2_7 == 0)
    goto <bb 9>; [33.00%]
  else
    goto <bb 11>; [67.00%]

  <bb 9> [local count: 3490843]:
  # DEBUG BEGIN_STMT
  sender_phy_if_id.3_8 = sender_phy_if_id;
  ret_62 = fci_owner_get_floating_lock (sender_phy_if_id.3_8, &fci_ret, &fci_floating_lock);
  # DEBUG ret => ret_62
  # DEBUG BEGIN_STMT
  if (ret_62 == 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 10> [local count: 1745421]:
  # DEBUG BEGIN_STMT
  fci_floating_lock.4_9 = fci_floating_lock;
  fci_cmd_execute = fci_floating_lock.4_9;

  <bb 11> [local count: 21156622]:
  # ret_26 = PHI <ret_60(7), 0(8), ret_62(9), 0(10)>
  # DEBUG ret => ret_26
  # DEBUG BEGIN_STMT
  if (ret_26 == 0)
    goto <bb 12>; [50.00%]
  else
    goto <bb 14>; [50.00%]

  <bb 12> [local count: 10578311]:
  fci_cmd_execute.5_10 = fci_cmd_execute;
  if (fci_cmd_execute.5_10 == 0)
    goto <bb 13>; [50.00%]
  else
    goto <bb 14>; [50.00%]

  <bb 13> [local count: 5289156]:
  # DEBUG BEGIN_STMT
  MEM[(uint32_t *)rep_msg_50(D) + 8B] = 0;

  <bb 14> [local count: 71717364]:
  # ret_27 = PHI <ret_58(4), ret_66(6), ret_26(11), 0(12), 0(13)>
  # DEBUG ret => ret_27
  # DEBUG BEGIN_STMT
  if (ret_27 != 0)
    goto <bb 15>; [50.00%]
  else
    goto <bb 16>; [50.00%]

  <bb 15> [local count: 35858682]:
  # DEBUG BEGIN_STMT
  fci_ret = 65535;

  <bb 16> [local count: 71717364]:
  # DEBUG BEGIN_STMT
  fci_floating_lock.6_11 = fci_floating_lock;
  if (fci_floating_lock.6_11 == 0)
    goto <bb 17>; [33.00%]
  else
    goto <bb 18>; [67.00%]

  <bb 17> [local count: 23666730]:
  # DEBUG BEGIN_STMT
  ret_69 = fci_owner_mutex_unlock ();
  # DEBUG ret => ret_69

  <bb 18> [local count: 217325345]:
  # ret_28 = PHI <ret_56(3), ret_27(16), ret_69(17)>
  # DEBUG ret => ret_28
  # DEBUG BEGIN_STMT
  if (ret_28 != 0)
    goto <bb 19>; [50.00%]
  else
    goto <bb 20>; [50.00%]

  <bb 19> [local count: 108662672]:
  # DEBUG BEGIN_STMT
  fci_ret = 65535;

  <bb 20> [local count: 217325345]:
  # DEBUG BEGIN_STMT
  fci_cmd_execute.7_12 = fci_cmd_execute;
  if (fci_cmd_execute.7_12 == 0)
    goto <bb 21>; [34.00%]
  else
    goto <bb 22>; [66.00%]

  <bb 21> [local count: 73890617]:
  # DEBUG BEGIN_STMT
  _13 = MEM[(uint32_t *)rep_msg_50(D) + 8B];
  _14 = _13 + 4;
  rep_msg_50(D)->msg_cmd.length = _14;
  # DEBUG BEGIN_STMT
  # DEBUG D#6 => &rep_msg_50(D)->msg_cmd.payload
  # DEBUG reply_retval_ptr => D#6
  # DEBUG BEGIN_STMT
  fci_ret.8_15 = fci_ret;
  MEM[(uint16_t *)rep_msg_50(D) + 16B] = fci_ret.8_15;
  # DEBUG BEGIN_STMT
  goto <bb 62>; [100.00%]

  <bb 22> [local count: 999851208]:
  # ret_29 = PHI <0(2), ret_28(20)>
  # DEBUG ret => ret_29
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _16 = msg_54(D)->type;
  if (_16 == 4099)
    goto <bb 23>; [48.89%]
  else
    goto <bb 62>; [51.11%]

  <bb 23> [local count: 488827255]:
<L27>:
  # DEBUG BEGIN_STMT
  _17 = msg_54(D)->msg_cmd.code;
  switch (_17) <default: <L65> [3.57%], case 21 ... 22: <L35> [3.57%], case 787: <L40> [3.57%], case 788: <L42> [3.57%], case 790: <L44> [3.57%], case 793: <L41> [3.57%], case 1044: <L43> [3.57%], case 1046: <L45> [3.57%], case 61696: <L38> [3.57%], case 61697: <L37> [3.57%], case 61728: <L39> [3.57%], case 61744: <L55> [3.57%], case 61952: <L46> [3.57%], case 61984: <L48> [3.57%], case 61985: <L49> [3.57%], case 61990: <L51> [3.57%], case 62032: <L50> [3.57%], case 62208: <L28> [3.57%], case 62272: <L47> [3.57%], case 62336: <L60> [3.57%], case 62352: <L60> [3.57%], case 62368: <L60> [3.57%], case 62464: <L52> [3.57%], case 62480: <L53> [3.57%], case 62496: <L54> [3.57%], case 62512: <L56> [3.57%], case 62528: <L57> [3.57%], case 62544: <L58> [3.57%], case 62560: <L59> [3.57%], case 62720 ... 62721: <L63> [3.57%]>

  <bb 24> [local count: 17451133]:
<L28>:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG D#4 => &msg_54(D)->msg_cmd.payload
  # DEBUG fci_buf => D#4
  # DEBUG BEGIN_STMT
  _18 = MEM[(struct fpp_buf_cmd_t *)msg_54(D) + 16B].len;
  if (_18 > 64)
    goto <bb 25>; [67.00%]
  else
    goto <bb 26>; [33.00%]

  <bb 25> [local count: 11692259]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG ret => 22
  # DEBUG BEGIN_STMT
  fci_ret = 65535;
  goto <bb 28>; [100.00%]

  <bb 26> [local count: 5758874]:
  # DEBUG BEGIN_STMT
  buf.flags = 1;
  # DEBUG BEGIN_STMT
  buf.len = _18;
  # DEBUG BEGIN_STMT
  _19 = &MEM[(struct fpp_buf_cmd_t *)msg_54(D) + 16B].payload;
  _20 = (unsigned int) _18;
  memcpy (&buf.payload, _19, _20);
  # DEBUG BEGIN_STMT
  _21 = __context.class;
  ret_96 = pfe_class_put_data (_21, &buf);
  # DEBUG ret => ret_96
  # DEBUG BEGIN_STMT
  if (ret_96 != 0)
    goto <bb 27>; [50.00%]
  else
    goto <bb 28>; [50.00%]

  <bb 27> [local count: 2879437]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  fci_ret = 65535;

  <bb 28> [local count: 17451133]:
  # ret_30 = PHI <ret_96(26), 22(25), ret_96(27)>
  # DEBUG ret => ret_30
  # DEBUG BEGIN_STMT
  buf ={v} {CLOBBER};
  goto <bb 56>; [100.00%]

  <bb 29> [local count: 17451133]:
<L35>:
  # DEBUG BEGIN_STMT
  ret_141 = fci_interfaces_session_cmd (_17, &fci_ret);
  # DEBUG ret => ret_141
  # DEBUG BEGIN_STMT
  goto <bb 56>; [100.00%]

  <bb 30> [local count: 17451133]:
<L37>:
  # DEBUG BEGIN_STMT
  ret_115 = fci_interfaces_log_cmd (msg_54(D), &fci_ret, reply_buf_ptr_51, reply_buf_len_ptr_52);
  # DEBUG ret => ret_115
  # DEBUG BEGIN_STMT
  goto <bb 56>; [100.00%]

  <bb 31> [local count: 17451133]:
<L38>:
  # DEBUG BEGIN_STMT
  ret_117 = fci_interfaces_phy_cmd (msg_54(D), &fci_ret, reply_buf_ptr_51, reply_buf_len_ptr_52);
  # DEBUG ret => ret_117
  # DEBUG BEGIN_STMT
  goto <bb 56>; [100.00%]

  <bb 32> [local count: 17451133]:
<L39>:
  # DEBUG BEGIN_STMT
  ret_113 = fci_interfaces_mac_cmd (msg_54(D), &fci_ret, reply_buf_ptr_51, reply_buf_len_ptr_52);
  # DEBUG ret => ret_113
  # DEBUG BEGIN_STMT
  goto <bb 56>; [100.00%]

  <bb 33> [local count: 17451133]:
<L40>:
  # DEBUG BEGIN_STMT
  _155 = MEM[(const oal_mutex_t *)&__context + 82B];
  # DEBUG D#1 => &MEM[(void *)&__context + 82B]
  oal_mutex_lock.isra.0 (_155);
  # DEBUG BEGIN_STMT
  ret_138 = fci_routes_cmd (msg_54(D), &fci_ret, reply_buf_ptr_51, reply_buf_len_ptr_52);
  # DEBUG ret => ret_138
  # DEBUG BEGIN_STMT
  _161 = MEM[(const oal_mutex_t *)&__context + 82B];
  # DEBUG D#2 => &MEM[(void *)&__context + 82B]
  oal_mutex_unlock.isra.0 (_161);
  # DEBUG BEGIN_STMT
  goto <bb 56>; [100.00%]

  <bb 34> [local count: 17451133]:
<L41>:
  # DEBUG BEGIN_STMT
  _156 = MEM[(const oal_mutex_t *)&__context + 82B];
  # DEBUG D#1 => &MEM[(void *)&__context + 82B]
  oal_mutex_lock.isra.0 (_156);
  # DEBUG BEGIN_STMT
  ret_127 = fci_connections_ipv4_timeout_cmd (msg_54(D), &fci_ret, reply_buf_ptr_51, reply_buf_len_ptr_52);
  # DEBUG ret => ret_127
  # DEBUG BEGIN_STMT
  _162 = MEM[(const oal_mutex_t *)&__context + 82B];
  # DEBUG D#2 => &MEM[(void *)&__context + 82B]
  oal_mutex_unlock.isra.0 (_162);
  # DEBUG BEGIN_STMT
  goto <bb 56>; [100.00%]

  <bb 35> [local count: 17451133]:
<L42>:
  # DEBUG BEGIN_STMT
  _157 = MEM[(const oal_mutex_t *)&__context + 82B];
  # DEBUG D#1 => &MEM[(void *)&__context + 82B]
  oal_mutex_lock.isra.0 (_157);
  # DEBUG BEGIN_STMT
  ret_134 = fci_connections_ipv4_ct_cmd (msg_54(D), &fci_ret, reply_buf_ptr_51, reply_buf_len_ptr_52);
  # DEBUG ret => ret_134
  # DEBUG BEGIN_STMT
  _163 = MEM[(const oal_mutex_t *)&__context + 82B];
  # DEBUG D#2 => &MEM[(void *)&__context + 82B]
  oal_mutex_unlock.isra.0 (_163);
  # DEBUG BEGIN_STMT
  goto <bb 56>; [100.00%]

  <bb 36> [local count: 17451133]:
<L43>:
  # DEBUG BEGIN_STMT
  _158 = MEM[(const oal_mutex_t *)&__context + 82B];
  # DEBUG D#1 => &MEM[(void *)&__context + 82B]
  oal_mutex_lock.isra.0 (_158);
  # DEBUG BEGIN_STMT
  ret_123 = fci_connections_ipv6_ct_cmd (msg_54(D), &fci_ret, reply_buf_ptr_51, reply_buf_len_ptr_52);
  # DEBUG ret => ret_123
  # DEBUG BEGIN_STMT
  _164 = MEM[(const oal_mutex_t *)&__context + 82B];
  # DEBUG D#2 => &MEM[(void *)&__context + 82B]
  oal_mutex_unlock.isra.0 (_164);
  # DEBUG BEGIN_STMT
  goto <bb 56>; [100.00%]

  <bb 37> [local count: 17451133]:
<L44>:
  # DEBUG BEGIN_STMT
  _159 = MEM[(const oal_mutex_t *)&__context + 82B];
  # DEBUG D#1 => &MEM[(void *)&__context + 82B]
  oal_mutex_lock.isra.0 (_159);
  # DEBUG BEGIN_STMT
  fci_routes_drop_all_ipv4 ();
  # DEBUG BEGIN_STMT
  _165 = MEM[(const oal_mutex_t *)&__context + 82B];
  # DEBUG D#2 => &MEM[(void *)&__context + 82B]
  oal_mutex_unlock.isra.0 (_165);
  # DEBUG BEGIN_STMT
  goto <bb 56>; [100.00%]

  <bb 38> [local count: 17451133]:
<L45>:
  # DEBUG BEGIN_STMT
  _160 = MEM[(const oal_mutex_t *)&__context + 82B];
  # DEBUG D#1 => &MEM[(void *)&__context + 82B]
  oal_mutex_lock.isra.0 (_160);
  # DEBUG BEGIN_STMT
  fci_routes_drop_all_ipv6 ();
  # DEBUG BEGIN_STMT
  _166 = MEM[(const oal_mutex_t *)&__context + 82B];
  # DEBUG D#2 => &MEM[(void *)&__context + 82B]
  oal_mutex_unlock.isra.0 (_166);
  # DEBUG BEGIN_STMT
  goto <bb 56>; [100.00%]

  <bb 39> [local count: 17451133]:
<L46>:
  # DEBUG BEGIN_STMT
  ret_109 = fci_l2br_domain_cmd (msg_54(D), &fci_ret, reply_buf_ptr_51, reply_buf_len_ptr_52);
  # DEBUG ret => ret_109
  # DEBUG BEGIN_STMT
  goto <bb 56>; [100.00%]

  <bb 40> [local count: 17451133]:
<L47>:
  # DEBUG BEGIN_STMT
  ret_91 = fci_l2br_static_entry_cmd (msg_54(D), &fci_ret, reply_buf_ptr_51, reply_buf_len_ptr_52);
  # DEBUG ret => ret_91
  # DEBUG BEGIN_STMT
  goto <bb 56>; [100.00%]

  <bb 41> [local count: 17451133]:
<L48>:
  # DEBUG BEGIN_STMT
  ret_107 = fci_fp_table_cmd (msg_54(D), &fci_ret, reply_buf_ptr_51, reply_buf_len_ptr_52);
  # DEBUG ret => ret_107
  # DEBUG BEGIN_STMT
  goto <bb 56>; [100.00%]

  <bb 42> [local count: 17451133]:
<L49>:
  # DEBUG BEGIN_STMT
  ret_105 = fci_fp_rule_cmd (msg_54(D), &fci_ret, reply_buf_ptr_51, reply_buf_len_ptr_52);
  # DEBUG ret => ret_105
  # DEBUG BEGIN_STMT
  goto <bb 56>; [100.00%]

  <bb 43> [local count: 17451133]:
<L50>:
  # DEBUG BEGIN_STMT
  ret_101 = fci_fw_features_cmd (msg_54(D), &fci_ret, reply_buf_ptr_51, reply_buf_len_ptr_52);
  # DEBUG ret => ret_101
  # DEBUG BEGIN_STMT
  goto <bb 56>; [100.00%]

  <bb 44> [local count: 17451133]:
<L51>:
  # DEBUG BEGIN_STMT
  ret_103 = fci_spd_cmd (msg_54(D), &fci_ret, reply_buf_ptr_51, reply_buf_len_ptr_52);
  # DEBUG ret => ret_103
  # DEBUG BEGIN_STMT
  goto <bb 56>; [100.00%]

  <bb 45> [local count: 17451133]:
<L52>:
  # DEBUG BEGIN_STMT
  ret_87 = fci_qos_queue_cmd (msg_54(D), &fci_ret, reply_buf_ptr_51, reply_buf_len_ptr_52);
  # DEBUG ret => ret_87
  # DEBUG BEGIN_STMT
  goto <bb 56>; [100.00%]

  <bb 46> [local count: 17451133]:
<L53>:
  # DEBUG BEGIN_STMT
  ret_85 = fci_qos_scheduler_cmd (msg_54(D), &fci_ret, reply_buf_ptr_51, reply_buf_len_ptr_52);
  # DEBUG ret => ret_85
  # DEBUG BEGIN_STMT
  goto <bb 56>; [100.00%]

  <bb 47> [local count: 17451133]:
<L54>:
  # DEBUG BEGIN_STMT
  ret_83 = fci_qos_shaper_cmd (msg_54(D), &fci_ret, reply_buf_ptr_51, reply_buf_len_ptr_52);
  # DEBUG ret => ret_83
  # DEBUG BEGIN_STMT
  goto <bb 56>; [100.00%]

  <bb 48> [local count: 17451133]:
<L55>:
  # DEBUG BEGIN_STMT
  ret_111 = fci_mirror_cmd (msg_54(D), &fci_ret, reply_buf_ptr_51, reply_buf_len_ptr_52);
  # DEBUG ret => ret_111
  # DEBUG BEGIN_STMT
  goto <bb 56>; [100.00%]

  <bb 49> [local count: 17451133]:
<L56>:
  # DEBUG BEGIN_STMT
  ret_81 = fci_qos_policer_cmd (msg_54(D), &fci_ret, reply_buf_ptr_51, reply_buf_len_ptr_52);
  # DEBUG ret => ret_81
  # DEBUG BEGIN_STMT
  goto <bb 56>; [100.00%]

  <bb 50> [local count: 17451133]:
<L57>:
  # DEBUG BEGIN_STMT
  ret_79 = fci_qos_policer_flow_cmd (msg_54(D), &fci_ret, reply_buf_ptr_51, reply_buf_len_ptr_52);
  # DEBUG ret => ret_79
  # DEBUG BEGIN_STMT
  goto <bb 56>; [100.00%]

  <bb 51> [local count: 17451133]:
<L58>:
  # DEBUG BEGIN_STMT
  ret_77 = fci_qos_policer_wred_cmd (msg_54(D), &fci_ret, reply_buf_ptr_51, reply_buf_len_ptr_52);
  # DEBUG ret => ret_77
  # DEBUG BEGIN_STMT
  goto <bb 56>; [100.00%]

  <bb 52> [local count: 17451133]:
<L59>:
  # DEBUG BEGIN_STMT
  ret_75 = fci_qos_policer_shp_cmd (msg_54(D), &fci_ret, reply_buf_ptr_51, reply_buf_len_ptr_52);
  # DEBUG ret => ret_75
  # DEBUG BEGIN_STMT
  goto <bb 56>; [100.00%]

  <bb 53> [local count: 17451133]:
<L60>:
  # DEBUG BEGIN_STMT
  ret_89 = fci_l2br_flush_cmd (_17, &fci_ret);
  # DEBUG ret => ret_89
  # DEBUG BEGIN_STMT
  goto <bb 56>; [100.00%]

  <bb 54> [local count: 17451133]:
<L63>:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  fci_ret = 62725;
  # DEBUG BEGIN_STMT
  goto <bb 56>; [100.00%]

  <bb 55> [local count: 17451133]:
<L65>:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG ret => 22
  # DEBUG BEGIN_STMT
  fci_ret = 1;
  # DEBUG BEGIN_STMT

  <bb 56> [local count: 488631724]:
  # ret_31 = PHI <ret_30(28), ret_141(29), ret_115(30), ret_117(31), ret_113(32), ret_138(33), ret_127(34), ret_134(35), ret_123(36), ret_29(37), ret_29(38), ret_109(39), ret_91(40), ret_107(41), ret_105(42), ret_101(43), ret_103(44), ret_87(45), ret_85(46), ret_83(47), ret_111(48), ret_81(49), ret_79(50), ret_77(51), ret_75(52), ret_89(53), ret_29(54), 22(55)>
  # DEBUG ret => ret_31
  # DEBUG BEGIN_STMT
  fci_floating_lock.9_22 = fci_floating_lock;
  if (fci_floating_lock.9_22 == 1)
    goto <bb 57>; [20.24%]
  else
    goto <bb 61>; [79.76%]

  <bb 57> [local count: 98899061]:
  # DEBUG BEGIN_STMT
  ret_144 = fci_owner_clear_floating_lock ();
  # DEBUG ret => ret_144
  # DEBUG BEGIN_STMT
  if (ret_144 != 0)
    goto <bb 58>; [50.00%]
  else
    goto <bb 59>; [50.00%]

  <bb 58> [local count: 49449530]:
  # DEBUG BEGIN_STMT
  fci_ret = 65535;

  <bb 59> [local count: 98899061]:
  # DEBUG BEGIN_STMT
  ret_147 = fci_owner_mutex_unlock ();
  # DEBUG ret => ret_147
  # DEBUG BEGIN_STMT
  if (ret_147 != 0)
    goto <bb 60>; [50.00%]
  else
    goto <bb 61>; [50.00%]

  <bb 60> [local count: 49449530]:
  # DEBUG BEGIN_STMT
  fci_ret = 65535;

  <bb 61> [local count: 488631724]:
  # ret_32 = PHI <ret_31(56), ret_147(59), ret_147(60)>
  # DEBUG ret => ret_32
  # DEBUG BEGIN_STMT
  _23 = MEM[(uint32_t *)rep_msg_50(D) + 8B];
  _24 = _23 + 4;
  rep_msg_50(D)->msg_cmd.length = _24;
  # DEBUG BEGIN_STMT
  # DEBUG D#5 => &rep_msg_50(D)->msg_cmd.payload
  # DEBUG reply_retval_ptr => D#5
  # DEBUG BEGIN_STMT
  fci_ret.10_25 = fci_ret;
  MEM[(uint16_t *)rep_msg_50(D) + 16B] = fci_ret.10_25;
  # DEBUG BEGIN_STMT

  <bb 62> [local count: 1073546294]:
  # _33 = PHI <ret_28(21), 22(22), ret_32(61)>
  # DEBUG ret => NULL
  fci_ret ={v} {CLOBBER};
  sender_phy_if_id ={v} {CLOBBER};
  fci_cmd_execute ={v} {CLOBBER};
  fci_floating_lock ={v} {CLOBBER};
  return _33;

}


