Histogram:
pfe_fp_table_get_statistics (struct pfe_class_t * class, uint32_t pe_idx, uint32_t table_address, struct pfe_ct_class_flexi_parser_stats_t * stats)
{
  errno_t res;
  struct pfe_ct_fp_table_t temp;
  long int pe_idx.0_1;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  memset (&temp.fp_stats, 0, 8);
  # DEBUG BEGIN_STMT
  # DEBUG addr => table_address_5(D)
  # DEBUG BEGIN_STMT
  pe_idx.0_1 = (long int) pe_idx_6(D);
  res_9 = pfe_class_read_dmem (class_7(D), pe_idx.0_1, &temp, table_address_5(D), 16);
  # DEBUG res => res_9
  # DEBUG BEGIN_STMT
  if (res_9 != 0)
    goto <bb 4>; [67.00%]
  else
    goto <bb 3>; [33.00%]

  <bb 3> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  memcpy (stats_10(D), &temp.fp_stats, 8);

  <bb 4> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  temp ={v} {CLOBBER};
  return res_9;

}


pfe_fp_destroy_table (const struct pfe_class_t * class, uint32_t table_address)
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  pfe_class_dmem_heap_free (class_2(D), table_address_3(D));
  return;

}


pfe_fp_table_write_rule (struct pfe_class_t * class, uint32_t table_address, const struct pfe_ct_fp_rule_t * rule, uint16_t position)
{
  errno_t res;
  addr_t addr;
  struct pfe_ct_fp_rule_t temp;
  long unsigned int _1;
  long unsigned int _2;
  short unsigned int _3;
  unsigned char _4;
  <unnamed type> _5;
  unsigned int _6;
  unsigned int _7;
  long unsigned int _8;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = rule_11(D)->data;
  temp.data = _1;
  # DEBUG BEGIN_STMT
  _2 = rule_11(D)->mask;
  temp.mask = _2;
  # DEBUG BEGIN_STMT
  _3 = rule_11(D)->offset;
  temp.offset = _3;
  # DEBUG BEGIN_STMT
  _4 = rule_11(D)->next_idx;
  temp.next_idx = _4;
  # DEBUG BEGIN_STMT
  _5 = rule_11(D)->flags;
  temp.flags = _5;
  # DEBUG BEGIN_STMT
  _6 = (unsigned int) position_17(D);
  _7 = _6 * 12;
  _8 = _7 + table_address_18(D);
  addr_19 = _8 + 16;
  # DEBUG addr => addr_19
  # DEBUG BEGIN_STMT
  res_22 = pfe_class_write_dmem (class_20(D), -1, addr_19, &temp, 12);
  # DEBUG res => res_22
  # DEBUG BEGIN_STMT
  if (res_22 != 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG addr => 0

  <bb 4> [local count: 1073741824]:
  # addr_9 = PHI <addr_19(2), 0(3)>
  # DEBUG addr => addr_9
  # DEBUG BEGIN_STMT
  temp ={v} {CLOBBER};
  return addr_9;

}


pfe_fp_create_table (struct pfe_class_t * class, uint16_t rules_count)
{
  errno_t res;
  struct pfe_ct_fp_table_t temp;
  uint32_t size;
  addr_t addr;
  long unsigned int _1;
  long unsigned int _2;
  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;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = (long unsigned int) rules_count_15(D);
  _2 = _1 * 12;
  size_16 = _2 + 16;
  # DEBUG size => size_16
  # DEBUG BEGIN_STMT
  addr_20 = pfe_class_dmem_heap_alloc (class_18(D), size_16);
  # DEBUG addr => addr_20
  # DEBUG BEGIN_STMT
  if (addr_20 == 0)
    goto <bb 5>; [67.00%]
  else
    goto <bb 3>; [33.00%]

  <bb 3> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  temp.count = rules_count_15(D);
  # DEBUG BEGIN_STMT
  _3 = addr_20 + 16;
  _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;
  temp.rules = _12;
  # DEBUG BEGIN_STMT
  memset (&temp.fp_stats, 0, 8);
  # DEBUG BEGIN_STMT
  res_25 = pfe_class_write_dmem (class_18(D), -1, addr_20, &temp, 16);
  # DEBUG res => res_25
  # DEBUG BEGIN_STMT
  if (res_25 != 0)
    goto <bb 4>; [33.00%]
  else
    goto <bb 5>; [67.00%]

  <bb 4> [local count: 116930485]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pfe_class_dmem_heap_free (class_18(D), addr_20);
  # DEBUG BEGIN_STMT
  # DEBUG addr => 0

  <bb 5> [local count: 1073741824]:
  # addr_13 = PHI <addr_20(2), addr_20(3), 0(4)>
  # DEBUG addr => addr_13
  # DEBUG BEGIN_STMT
  temp ={v} {CLOBBER};
  return addr_13;

}


pfe_fp_init ()
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  return;

}


