
Reclaiming functions:
Reclaiming variables:
Clearing address taken flags:
Symbol table:

SchM_Exit_Port_PORT_EXCLUSIVE_AREA_04/21 (SchM_Exit_Port_PORT_EXCLUSIVE_AREA_04) @06d73000
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Siul2_Port_Ip_SetPinDirection/11 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
SchM_Enter_Port_PORT_EXCLUSIVE_AREA_04/20 (SchM_Enter_Port_PORT_EXCLUSIVE_AREA_04) @06de9ee0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Siul2_Port_Ip_SetPinDirection/11 (1073741823 (estimated locally),1.00 per call) 
  Calls: 
SchM_Exit_Port_PORT_EXCLUSIVE_AREA_03/19 (SchM_Exit_Port_PORT_EXCLUSIVE_AREA_03) @06de9d20
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Siul2_Port_Ip_SetInputBuffer/10 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
SchM_Enter_Port_PORT_EXCLUSIVE_AREA_03/18 (SchM_Enter_Port_PORT_EXCLUSIVE_AREA_03) @06de9c40
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Siul2_Port_Ip_SetInputBuffer/10 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
SchM_Exit_Port_PORT_EXCLUSIVE_AREA_02/17 (SchM_Exit_Port_PORT_EXCLUSIVE_AREA_02) @06de9a80
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Siul2_Port_Ip_SetOutputBuffer/9 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
SchM_Enter_Port_PORT_EXCLUSIVE_AREA_02/16 (SchM_Enter_Port_PORT_EXCLUSIVE_AREA_02) @06de99a0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Siul2_Port_Ip_SetOutputBuffer/9 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
SchM_Exit_Port_PORT_EXCLUSIVE_AREA_01/15 (SchM_Exit_Port_PORT_EXCLUSIVE_AREA_01) @06de97e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Siul2_Port_Ip_SetPullSel/8 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
SchM_Enter_Port_PORT_EXCLUSIVE_AREA_01/14 (SchM_Enter_Port_PORT_EXCLUSIVE_AREA_01) @06de9700
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: Siul2_Port_Ip_SetPullSel/8 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
Siul2_Port_Ip_GetPinConfiguration/13 (Siul2_Port_Ip_GetPinConfiguration) @06de9000
  Type: function definition analyzed
  Visibility: externally_visible public
  References: pPort_Setting/2 (read)u32MaxPinConfigured/3 (read)
  Referring: 
  Availability: available
  Function flags: count:114863532 (estimated locally) body optimize_size
  Called by: 
  Calls: Siul2_Port_Ip_GetMSCRConfiguration/6 (55807732 (estimated locally),0.49 per call) 
Siul2_Port_Ip_RevertPinConfiguration/12 (Siul2_Port_Ip_RevertPinConfiguration) @06dda7e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: pPort_Setting/2 (read)u32MaxPinConfigured/3 (read)
  Referring: 
  Availability: available
  Function flags: count:114863532 (estimated locally) body optimize_size
  Called by: 
  Calls: Siul2_Port_Ip_PinInit/4 (55807731 (estimated locally),0.49 per call) 
Siul2_Port_Ip_SetPinDirection/11 (Siul2_Port_Ip_SetPinDirection) @06dda0e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741823 (estimated locally) body optimize_size
  Called by: 
  Calls: SchM_Exit_Port_PORT_EXCLUSIVE_AREA_04/21 (1073741824 (estimated locally),1.00 per call) SchM_Enter_Port_PORT_EXCLUSIVE_AREA_04/20 (1073741823 (estimated locally),1.00 per call) 
Siul2_Port_Ip_SetInputBuffer/10 (Siul2_Port_Ip_SetInputBuffer) @06ddab60
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: SchM_Exit_Port_PORT_EXCLUSIVE_AREA_03/19 (1073741824 (estimated locally),1.00 per call) SchM_Enter_Port_PORT_EXCLUSIVE_AREA_03/18 (1073741824 (estimated locally),1.00 per call) 
Siul2_Port_Ip_SetOutputBuffer/9 (Siul2_Port_Ip_SetOutputBuffer) @06dda700
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: SchM_Exit_Port_PORT_EXCLUSIVE_AREA_02/17 (1073741824 (estimated locally),1.00 per call) SchM_Enter_Port_PORT_EXCLUSIVE_AREA_02/16 (1073741824 (estimated locally),1.00 per call) 
Siul2_Port_Ip_SetPullSel/8 (Siul2_Port_Ip_SetPullSel) @06dda2a0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: SchM_Exit_Port_PORT_EXCLUSIVE_AREA_01/15 (1073741824 (estimated locally),1.00 per call) SchM_Enter_Port_PORT_EXCLUSIVE_AREA_01/14 (1073741824 (estimated locally),1.00 per call) 
Siul2_Port_Ip_Init/7 (Siul2_Port_Ip_Init) @06dda000
  Type: function definition analyzed
  Visibility: externally_visible public
  References: pPort_Setting/2 (write)u32MaxPinConfigured/3 (write)
  Referring: 
  Availability: available
  Function flags: count:118111600 (estimated locally) body optimize_size
  Called by: 
  Calls: Siul2_Port_Ip_PinInit/4 (955630223 (estimated locally),8.09 per call) 
Siul2_Port_Ip_GetMSCRConfiguration/6 (Siul2_Port_Ip_GetMSCRConfiguration) @06d33b60
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local optimize_size
  Called by: Siul2_Port_Ip_GetPinConfiguration/13 (55807732 (estimated locally),0.49 per call) 
  Calls: 
Siul2_Port_Ip_WriteIMCRConfiguration/5 (Siul2_Port_Ip_WriteIMCRConfiguration) @06d33e00
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: count:350860936 (estimated locally) body local optimize_size
  Called by: Siul2_Port_Ip_PinInit/4 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
Siul2_Port_Ip_PinInit/4 (Siul2_Port_Ip_PinInit) @06d33a80
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: Port_au32Siul2BaseAddr/1 (read)
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local optimize_size
  Called by: Siul2_Port_Ip_RevertPinConfiguration/12 (55807731 (estimated locally),0.49 per call) Siul2_Port_Ip_Init/7 (955630223 (estimated locally),8.09 per call) 
  Calls: Siul2_Port_Ip_WriteIMCRConfiguration/5 (1073741824 (estimated locally),1.00 per call) 
u32MaxPinConfigured/3 (u32MaxPinConfigured) @06d2db40
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: Siul2_Port_Ip_Init/7 (write)Siul2_Port_Ip_RevertPinConfiguration/12 (read)Siul2_Port_Ip_GetPinConfiguration/13 (read)
  Availability: available
  Varpool flags:
pPort_Setting/2 (pPort_Setting) @06d2dab0
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: Siul2_Port_Ip_Init/7 (write)Siul2_Port_Ip_RevertPinConfiguration/12 (read)Siul2_Port_Ip_GetPinConfiguration/13 (read)
  Availability: available
  Varpool flags:
Port_au32Siul2BaseAddr/1 (Port_au32Siul2BaseAddr) @06d2da20
  Type: variable definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: Siul2_Port_Ip_PinInit/4 (read)
  Availability: available
  Varpool flags: initialized read-only const-value-known
Siul2_Port_Ip_GetPinConfiguration (const struct Siul2_Port_Ip_PortType * const base, struct Siul2_Port_Ip_PinSettingsConfig * config, uint16 pin)
{
  uint8 inputMuxIterator;
  uint32 u32PinIdx;
  uint32 u32MscrBase;
  uint32 u32MscrId;
  uint32 portNumber;
  uint32 MaxPinConfigured;
  const struct Siul2_Port_Ip_PinSettingsConfig * ConfigPtr;
  long unsigned int base.5_1;
  long unsigned int _2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;
  const struct Siul2_Port_Ip_PinSettingsConfig * _6;
  long unsigned int _7;
  const struct Siul2_Port_Ip_PinSettingsConfig * _8;
  long unsigned int _9;
  struct SIUL2_Type * _10;
  unsigned char _11;
  int _12;
  long unsigned int _13;
  <unnamed type> _14;

  <bb 2> [local count: 114863532]:
  # DEBUG BEGIN_STMT
  ConfigPtr_21 = pPort_Setting;
  # DEBUG ConfigPtr => ConfigPtr_21
  # DEBUG BEGIN_STMT
  MaxPinConfigured_22 = u32MaxPinConfigured;
  # DEBUG MaxPinConfigured => MaxPinConfigured_22
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (base_23(D) > 1140916224B)
    goto <bb 4>; [50.00%]
  else
    goto <bb 3>; [50.00%]

  <bb 3> [local count: 57431766]:
  # DEBUG BEGIN_STMT
  # DEBUG u32MscrBase => 1074381376

  <bb 4> [local count: 114863532]:
  # u32MscrBase_15 = PHI <1140916800(2), 1074381376(3)>
  # DEBUG u32MscrBase => u32MscrBase_15
  # DEBUG BEGIN_STMT
  base.5_1 = (long unsigned int) base_23(D);
  _2 = base.5_1 - u32MscrBase_15;
  portNumber_24 = _2 >> 6;
  # DEBUG portNumber => portNumber_24
  # DEBUG BEGIN_STMT
  _3 = portNumber_24 << 4;
  _4 = (long unsigned int) pin_25(D);
  u32MscrId_26 = _3 + _4;
  # DEBUG u32MscrId => u32MscrId_26
  # DEBUG BEGIN_STMT
  # DEBUG u32PinIdx => 0
  goto <bb 11>; [100.00%]

  <bb 5> [local count: 1014686025]:
  # DEBUG BEGIN_STMT
  _5 = u32PinIdx_16 * 60;
  _6 = ConfigPtr_21 + _5;
  _7 = _6->pinPortIdx;
  if (_7 == u32MscrId_26)
    goto <bb 6>; [5.50%]
  else
    goto <bb 10>; [94.50%]

  <bb 6> [local count: 55807731]:
  # _8 = PHI <_6(5)>
  # _9 = PHI <_7(5)>
  # DEBUG BEGIN_STMT
  _10 = _8->base;
  config_28(D)->base = _10;
  # DEBUG BEGIN_STMT
  config_28(D)->pinPortIdx = _9;
  # DEBUG BEGIN_STMT
  _11 = _8->initValue;
  config_28(D)->initValue = _11;
  # DEBUG BEGIN_STMT
  # DEBUG inputMuxIterator => 0
  goto <bb 8>; [100.00%]

  <bb 7> [local count: 446512084]:
  # DEBUG BEGIN_STMT
  _12 = (int) inputMuxIterator_17;
  _13 = _8->inputMuxReg[_12];
  config_28(D)->inputMuxReg[_12] = _13;
  # DEBUG BEGIN_STMT
  _14 = _8->inputMux[_12];
  config_28(D)->inputMux[_12] = _14;
  # DEBUG BEGIN_STMT
  inputMuxIterator_35 = inputMuxIterator_17 + 1;
  # DEBUG inputMuxIterator => inputMuxIterator_35

  <bb 8> [local count: 502319816]:
  # inputMuxIterator_17 = PHI <0(6), inputMuxIterator_35(7)>
  # DEBUG inputMuxIterator => inputMuxIterator_17
  # DEBUG BEGIN_STMT
  if (inputMuxIterator_17 != 8)
    goto <bb 7>; [88.89%]
  else
    goto <bb 9>; [11.11%]

  <bb 9> [local count: 55807732]:
  # DEBUG BEGIN_STMT
  Siul2_Port_Ip_GetMSCRConfiguration (config_28(D), base_23(D), pin_25(D));
  # DEBUG BEGIN_STMT
  goto <bb 12>; [100.00%]

  <bb 10> [local count: 958878293]:
  # DEBUG BEGIN_STMT
  u32PinIdx_27 = u32PinIdx_16 + 1;
  # DEBUG u32PinIdx => u32PinIdx_27

  <bb 11> [local count: 1073741824]:
  # u32PinIdx_16 = PHI <0(4), u32PinIdx_27(10)>
  # DEBUG u32PinIdx => u32PinIdx_16
  # DEBUG BEGIN_STMT
  if (u32PinIdx_16 < MaxPinConfigured_22)
    goto <bb 5>; [94.50%]
  else
    goto <bb 12>; [5.50%]

  <bb 12> [local count: 114863532]:
  return;

}


Siul2_Port_Ip_RevertPinConfiguration (const struct Siul2_Port_Ip_PortType * const base, uint16 pin)
{
  uint32 u32MscrId;
  uint32 portNumber;
  uint32 MaxPinConfigured;
  const struct Siul2_Port_Ip_PinSettingsConfig * ConfigPtr;
  uint32 u32RegVal;
  uint32 u32PinIdx;
  long unsigned int base.3_1;
  long unsigned int _2;
  long unsigned int base.4_3;
  long unsigned int _4;
  long unsigned int _5;
  long unsigned int _6;
  long unsigned int _7;
  const struct Siul2_Port_Ip_PinSettingsConfig * _8;
  long unsigned int _9;
  const struct Siul2_Port_Ip_PinSettingsConfig * _10;
  int _11;

  <bb 2> [local count: 114863532]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG u32RegVal => 4294967295
  # DEBUG BEGIN_STMT
  ConfigPtr_17 = pPort_Setting;
  # DEBUG ConfigPtr => ConfigPtr_17
  # DEBUG BEGIN_STMT
  MaxPinConfigured_18 = u32MaxPinConfigured;
  # DEBUG MaxPinConfigured => MaxPinConfigured_18
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (base_19(D) > 1140916224B)
    goto <bb 3>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 3> [local count: 57431766]:
  # DEBUG BEGIN_STMT
  base.3_1 = (long unsigned int) base_19(D);
  _2 = base.3_1 + 3154050496;
  portNumber_21 = _2 >> 6;
  # DEBUG portNumber => portNumber_21
  goto <bb 5>; [100.00%]

  <bb 4> [local count: 57431766]:
  # DEBUG BEGIN_STMT
  base.4_3 = (long unsigned int) base_19(D);
  _4 = base.4_3 + 3220585920;
  portNumber_20 = _4 >> 6;
  # DEBUG portNumber => portNumber_20

  <bb 5> [local count: 114863532]:
  # portNumber_14 = PHI <portNumber_21(3), portNumber_20(4)>
  # DEBUG portNumber => portNumber_14
  # DEBUG BEGIN_STMT
  _5 = portNumber_14 << 4;
  _6 = (long unsigned int) pin_22(D);
  u32MscrId_23 = _5 + _6;
  # DEBUG u32MscrId => u32MscrId_23
  # DEBUG BEGIN_STMT
  # DEBUG u32PinIdx => 0
  goto <bb 9>; [100.00%]

  <bb 6> [local count: 1014686025]:
  # DEBUG BEGIN_STMT
  _7 = u32PinIdx_12 * 60;
  _8 = ConfigPtr_17 + _7;
  _9 = _8->pinPortIdx;
  if (_9 == u32MscrId_23)
    goto <bb 7>; [5.50%]
  else
    goto <bb 8>; [94.50%]

  <bb 7> [local count: 55807731]:
  # _10 = PHI <_8(6)>
  # DEBUG BEGIN_STMT
  Siul2_Port_Ip_PinInit (_10);
  # DEBUG BEGIN_STMT
  _11 = (int) pin_22(D);
  u32RegVal_26 ={v} base_19(D)->MSCR[_11];
  # DEBUG u32RegVal => u32RegVal_26
  # DEBUG BEGIN_STMT
  goto <bb 10>; [100.00%]

  <bb 8> [local count: 958878293]:
  # DEBUG BEGIN_STMT
  u32PinIdx_24 = u32PinIdx_12 + 1;
  # DEBUG u32PinIdx => u32PinIdx_24

  <bb 9> [local count: 1073741824]:
  # u32PinIdx_12 = PHI <0(5), u32PinIdx_24(8)>
  # DEBUG u32PinIdx => u32PinIdx_12
  # DEBUG BEGIN_STMT
  if (u32PinIdx_12 < MaxPinConfigured_18)
    goto <bb 6>; [94.50%]
  else
    goto <bb 10>; [5.50%]

  <bb 10> [local count: 114863532]:
  # u32RegVal_13 = PHI <u32RegVal_26(7), 4294967295(9)>
  # DEBUG u32RegVal => u32RegVal_13
  # DEBUG BEGIN_STMT
  return u32RegVal_13;

}


Siul2_Port_Ip_SetPinDirection (struct Siul2_Port_Ip_PortType * const base, uint16 pin, Siul2_Port_Ip_PortDirectionType direction)
{
  int _1;
  long unsigned int _2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;
  int _6;
  long unsigned int _7;
  long unsigned int _8;
  long unsigned int _9;
  long unsigned int _10;
  int _11;
  long unsigned int _12;
  long unsigned int _13;
  int _14;
  long unsigned int _15;
  long unsigned int _16;

  <bb 2> [local count: 1073741823]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  SchM_Enter_Port_PORT_EXCLUSIVE_AREA_04 ();
  # DEBUG BEGIN_STMT
  switch (direction_20(D)) <default: <L6> [20.00%], case 0: <L0> [20.00%], case 1: <L1> [20.00%], case 2: <L2> [20.00%], case 3: <L3> [20.00%]>

  <bb 3> [local count: 214748364]:
<L0>:
  # DEBUG BEGIN_STMT
  _1 = (int) pin_21(D);
  _2 ={v} base_22(D)->MSCR[_1];
  _3 = _2 & 4292870143;
  base_22(D)->MSCR[_1] ={v} _3;
  # DEBUG BEGIN_STMT
  _4 ={v} base_22(D)->MSCR[_1];
  _5 = _4 | 524288;
  base_22(D)->MSCR[_1] ={v} _5;
  # DEBUG BEGIN_STMT
  goto <bb 7>; [100.00%]

  <bb 4> [local count: 214748364]:
<L1>:
  # DEBUG BEGIN_STMT
  _6 = (int) pin_21(D);
  _7 ={v} base_22(D)->MSCR[_6];
  _8 = _7 & 4294443007;
  base_22(D)->MSCR[_6] ={v} _8;
  # DEBUG BEGIN_STMT
  _9 ={v} base_22(D)->MSCR[_6];
  _10 = _9 | 2097152;
  base_22(D)->MSCR[_6] ={v} _10;
  # DEBUG BEGIN_STMT
  goto <bb 7>; [100.00%]

  <bb 5> [local count: 214748364]:
<L2>:
  # DEBUG BEGIN_STMT
  _11 = (int) pin_21(D);
  _12 ={v} base_22(D)->MSCR[_11];
  _13 = _12 | 2621440;
  base_22(D)->MSCR[_11] ={v} _13;
  # DEBUG BEGIN_STMT
  goto <bb 7>; [100.00%]

  <bb 6> [local count: 214748364]:
<L3>:
  # DEBUG BEGIN_STMT
  _14 = (int) pin_21(D);
  _15 ={v} base_22(D)->MSCR[_14];
  _16 = _15 & 4292345855;
  base_22(D)->MSCR[_14] ={v} _16;
  # DEBUG BEGIN_STMT

  <bb 7> [local count: 1073741824]:
<L6>:
  # DEBUG BEGIN_STMT
  SchM_Exit_Port_PORT_EXCLUSIVE_AREA_04 ();
  return;

}


Siul2_Port_Ip_SetInputBuffer (struct Siul2_Port_Ip_PortType * const base, uint16 pin, boolean enable, uint32 inputMuxReg, Siul2_Port_Ip_PortInputMux inputMux)
{
  uint32 imcrVal;
  struct SIUL2_Type * siul2Base;
  int _1;
  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 iftmp.2_9;
  <unnamed type> _12;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG siul2Base => 4294967295B
  # DEBUG BEGIN_STMT
  # DEBUG imcrRegIdx => inputMuxReg_13(D)
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  SchM_Enter_Port_PORT_EXCLUSIVE_AREA_03 ();
  # DEBUG BEGIN_STMT
  if (base_16(D) != 0B)
    goto <bb 3>; [70.00%]
  else
    goto <bb 6>; [30.00%]

  <bb 3> [local count: 751619278]:
  # DEBUG BEGIN_STMT
  _1 = (int) pin_17(D);
  _2 ={v} base_16(D)->MSCR[_1];
  _3 = _2 & 4294443007;
  base_16(D)->MSCR[_1] ={v} _3;
  # DEBUG BEGIN_STMT
  _4 ={v} base_16(D)->MSCR[_1];
  if (enable_19(D) != 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 4> [local count: 375809639]:

  <bb 5> [local count: 751619278]:
  # iftmp.2_9 = PHI <524288(3), 0(4)>
  _5 = _4 | iftmp.2_9;
  base_16(D)->MSCR[_1] ={v} _5;

  <bb 6> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  if (inputMux_21(D) != 16)
    goto <bb 7>; [66.00%]
  else
    goto <bb 11>; [34.00%]

  <bb 7> [local count: 708669605]:
  # DEBUG BEGIN_STMT
  if (inputMuxReg_13(D) <= 511)
    goto <bb 9>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 8> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  # DEBUG siul2Base => 1140916224B

  <bb 9> [local count: 708669605]:
  # siul2Base_8 = PHI <1074380800B(7), 1140916224B(8)>
  # DEBUG siul2Base => siul2Base_8
  # DEBUG BEGIN_STMT
  if (inputMuxReg_13(D) <= 495)
    goto <bb 10>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 10> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  _6 = inputMuxReg_13(D);
  imcrVal_22 ={v} siul2Base_8->IMCR[_6];
  # DEBUG imcrVal => imcrVal_22
  # DEBUG BEGIN_STMT
  imcrVal_23 = imcrVal_22 & 4294967288;
  # DEBUG imcrVal => imcrVal_23
  # DEBUG BEGIN_STMT
  _12 = inputMux_21(D) & 7;
  _7 = (long unsigned int) _12;
  imcrVal_24 = _7 | imcrVal_23;
  # DEBUG imcrVal => imcrVal_24
  # DEBUG BEGIN_STMT
  siul2Base_8->IMCR[_6] ={v} imcrVal_24;

  <bb 11> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  SchM_Exit_Port_PORT_EXCLUSIVE_AREA_03 ();
  return;

}


Siul2_Port_Ip_SetOutputBuffer (struct Siul2_Port_Ip_PortType * const base, uint16 pin, boolean enable, Siul2_Port_Ip_PortMux mux)
{
  int _1;
  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 iftmp.1_11;
  <unnamed type> _18;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  SchM_Enter_Port_PORT_EXCLUSIVE_AREA_02 ();
  # DEBUG BEGIN_STMT
  _1 = (int) pin_14(D);
  _2 ={v} base_15(D)->MSCR[_1];
  _3 = _2 & 4292870143;
  base_15(D)->MSCR[_1] ={v} _3;
  # DEBUG BEGIN_STMT
  _4 ={v} base_15(D)->MSCR[_1];
  if (enable_17(D) != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 3>; [50.00%]

  <bb 3> [local count: 536870913]:

  <bb 4> [local count: 1073741824]:
  # iftmp.1_11 = PHI <2097152(2), 0(3)>
  _5 = _4 | iftmp.1_11;
  base_15(D)->MSCR[_1] ={v} _5;
  # DEBUG BEGIN_STMT
  _6 ={v} base_15(D)->MSCR[_1];
  _7 = _6 & 4294967288;
  base_15(D)->MSCR[_1] ={v} _7;
  # DEBUG BEGIN_STMT
  _8 ={v} base_15(D)->MSCR[_1];
  _18 = mux_21(D) & 7;
  _9 = (long unsigned int) _18;
  _10 = _8 | _9;
  base_15(D)->MSCR[_1] ={v} _10;
  # DEBUG BEGIN_STMT
  SchM_Exit_Port_PORT_EXCLUSIVE_AREA_02 ();
  return;

}


Siul2_Port_Ip_SetPullSel (struct Siul2_Port_Ip_PortType * const base, uint16 pin, Siul2_Port_Ip_PortPullConfig pullConfig)
{
  uint32 regVal;
  int _1;
  long unsigned int _2;
  long unsigned int _3;
  int _4;
  int _5;
  long unsigned int _20;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG pueVal => 8192
  # DEBUG BEGIN_STMT
  # DEBUG pusVal => 4096
  # DEBUG BEGIN_STMT
  SchM_Enter_Port_PORT_EXCLUSIVE_AREA_01 ();
  # DEBUG BEGIN_STMT
  switch (pullConfig_9(D)) <default: <L5> [25.00%], case 0: <L1> [25.00%], case 1: <L2> [25.00%], case 2: <L0> [25.00%]>

  <bb 3> [local count: 268435456]:
<L0>:
  # DEBUG BEGIN_STMT
  _1 = (int) pin_10(D);
  _2 ={v} base_11(D)->MSCR[_1];
  _3 = _2 & 4294959103;
  base_11(D)->MSCR[_1] ={v} _3;
  # DEBUG BEGIN_STMT
  goto <bb 6>; [100.00%]

  <bb 4> [local count: 268435456]:
<L1>:
  # DEBUG BEGIN_STMT
  _4 = (int) pin_10(D);
  regVal_16 ={v} base_11(D)->MSCR[_4];
  # DEBUG regVal => regVal_16
  # DEBUG BEGIN_STMT
  # DEBUG regVal => regVal_16 | 8192
  # DEBUG BEGIN_STMT
  _20 = regVal_16 & 4294963199;
  regVal_17 = _20 | 8192;
  # DEBUG regVal => regVal_17
  # DEBUG BEGIN_STMT
  base_11(D)->MSCR[_4] ={v} regVal_17;
  # DEBUG BEGIN_STMT
  goto <bb 6>; [100.00%]

  <bb 5> [local count: 268435456]:
<L2>:
  # DEBUG BEGIN_STMT
  _5 = (int) pin_10(D);
  regVal_13 ={v} base_11(D)->MSCR[_5];
  # DEBUG regVal => regVal_13
  # DEBUG BEGIN_STMT
  # DEBUG regVal => regVal_13 | 8192
  # DEBUG BEGIN_STMT
  regVal_14 = regVal_13 | 12288;
  # DEBUG regVal => regVal_14
  # DEBUG BEGIN_STMT
  base_11(D)->MSCR[_5] ={v} regVal_14;
  # DEBUG BEGIN_STMT

  <bb 6> [local count: 1073741824]:
<L5>:
  # DEBUG BEGIN_STMT
  SchM_Exit_Port_PORT_EXCLUSIVE_AREA_01 ();
  return;

}


Siul2_Port_Ip_Init (uint32 pinCount, const struct Siul2_Port_Ip_PinSettingsConfig * config)
{
  uint32 i;
  long unsigned int _1;
  const struct Siul2_Port_Ip_PinSettingsConfig * _2;

  <bb 2> [local count: 118111600]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pPort_Setting = config_6(D);
  # DEBUG BEGIN_STMT
  u32MaxPinConfigured = pinCount_8(D);
  # DEBUG BEGIN_STMT
  # DEBUG i => 0
  goto <bb 4>; [100.00%]

  <bb 3> [local count: 955630223]:
  # DEBUG BEGIN_STMT
  _1 = i_3 * 60;
  _2 = config_6(D) + _1;
  Siul2_Port_Ip_PinInit (_2);
  # DEBUG BEGIN_STMT
  i_11 = i_3 + 1;
  # DEBUG i => i_11

  <bb 4> [local count: 1073741824]:
  # i_3 = PHI <0(2), i_11(3)>
  # DEBUG i => i_3
  # DEBUG BEGIN_STMT
  if (i_3 < pinCount_8(D))
    goto <bb 3>; [89.00%]
  else
    goto <bb 5>; [11.00%]

  <bb 5> [local count: 118111601]:
  # DEBUG BEGIN_STMT
  return 0;

}


Siul2_Port_Ip_GetMSCRConfiguration (struct Siul2_Port_Ip_PinSettingsConfig * config, const struct Siul2_Port_Ip_PortType * const base, uint16 pin)
{
  Siul2_Port_Ip_PortPullConfig pullValue;
  uint32 u32TempVal;
  uint32 u32RegVal;
  int _1;
  <unnamed type> _2;
  long unsigned int _3;
  <unnamed type> _4;
  long unsigned int _5;
  long unsigned int _6;
  long unsigned int _7;
  <unnamed type> _8;
  long unsigned int _9;
  <unnamed type> _10;
  long unsigned int _11;
  <unnamed type> _12;
  long unsigned int _13;
  <unnamed type> _14;
  long unsigned int _15;
  <unnamed type> _16;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG u32RegVal => 4294967295
  # DEBUG BEGIN_STMT
  # DEBUG u32TempVal => 4294967295
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = (int) pin_18(D);
  u32RegVal_21 ={v} base_20(D)->MSCR[_1];
  # DEBUG u32RegVal => u32RegVal_21
  # DEBUG BEGIN_STMT
  u32TempVal_22 = u32RegVal_21 & 7;
  # DEBUG u32TempVal => u32TempVal_22
  # DEBUG BEGIN_STMT
  _2 = (<unnamed type>) u32TempVal_22;
  config_23(D)->mux = _2;
  # DEBUG BEGIN_STMT
  _3 = u32RegVal_21 >> 5;
  u32TempVal_25 = _3 & 1;
  # DEBUG u32TempVal => u32TempVal_25
  # DEBUG BEGIN_STMT
  _4 = (<unnamed type>) u32TempVal_25;
  config_23(D)->safeMode = _4;
  # DEBUG BEGIN_STMT
  _5 = u32RegVal_21 & 8192;
  if (_5 == 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 3>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _6 = u32RegVal_21 >> 12;
  u32TempVal_27 = _6 & 1;
  # DEBUG u32TempVal => u32TempVal_27
  # DEBUG BEGIN_STMT
  pullValue_28 = (Siul2_Port_Ip_PortPullConfig) u32TempVal_27;
  # DEBUG pullValue => pullValue_28

  <bb 4> [local count: 1073741824]:
  # pullValue_17 = PHI <2(2), pullValue_28(3)>
  # DEBUG pullValue => pullValue_17
  # DEBUG BEGIN_STMT
  config_23(D)->pullConfig = pullValue_17;
  # DEBUG BEGIN_STMT
  _7 = u32RegVal_21 >> 14;
  u32TempVal_30 = _7 & 7;
  # DEBUG u32TempVal => u32TempVal_30
  # DEBUG BEGIN_STMT
  _8 = (<unnamed type>) u32TempVal_30;
  config_23(D)->slewRateCtrlSel = _8;
  # DEBUG BEGIN_STMT
  _9 = u32RegVal_21 >> 10;
  u32TempVal_32 = _9 & 1;
  # DEBUG u32TempVal => u32TempVal_32
  # DEBUG BEGIN_STMT
  _10 = (<unnamed type>) u32TempVal_32;
  config_23(D)->receiverSel = _10;
  # DEBUG BEGIN_STMT
  _11 = u32RegVal_21 >> 20;
  u32TempVal_34 = _11 & 1;
  # DEBUG u32TempVal => u32TempVal_34
  # DEBUG BEGIN_STMT
  _12 = (<unnamed type>) u32TempVal_34;
  config_23(D)->openDrain = _12;
  # DEBUG BEGIN_STMT
  _13 = u32RegVal_21 >> 19;
  u32TempVal_36 = _13 & 1;
  # DEBUG u32TempVal => u32TempVal_36
  # DEBUG BEGIN_STMT
  _14 = (<unnamed type>) u32TempVal_36;
  config_23(D)->inputBuffer = _14;
  # DEBUG BEGIN_STMT
  _15 = u32RegVal_21 >> 21;
  u32TempVal_38 = _15 & 1;
  # DEBUG u32TempVal => u32TempVal_38
  # DEBUG BEGIN_STMT
  _16 = (<unnamed type>) u32TempVal_38;
  config_23(D)->outputBuffer = _16;
  return;

}


Siul2_Port_Ip_WriteIMCRConfiguration (const struct Siul2_Port_Ip_PinSettingsConfig * config)
{
  struct SIUL2_Type * imcrBase;
  uint32 imcrRegIdx;
  uint8 inputMuxIterator;
  <unnamed type> _1;
  int _2;
  <unnamed type> _3;
  long unsigned int _4;
  long unsigned int _5;
  <unnamed type> _12;

  <bb 2> [local count: 350860936]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG imcrBase => 1074380800B
  # DEBUG BEGIN_STMT
  _1 = config_14(D)->inputBuffer;
  if (_1 == 1)
    goto <bb 11>; [34.00%]
  else
    goto <bb 10>; [66.00%]

  <bb 11> [local count: 119292718]:
  goto <bb 9>; [100.00%]

  <bb 3> [local count: 954449108]:
  # DEBUG BEGIN_STMT
  _2 = (int) inputMuxIterator_6;
  _3 = config_14(D)->inputMux[_2];
  if (_3 != 16)
    goto <bb 4>; [66.00%]
  else
    goto <bb 8>; [34.00%]

  <bb 4> [local count: 629936412]:
  # DEBUG BEGIN_STMT
  imcrRegIdx_15 = config_14(D)->inputMuxReg[_2];
  # DEBUG imcrRegIdx => imcrRegIdx_15
  # DEBUG BEGIN_STMT
  if (imcrRegIdx_15 <= 511)
    goto <bb 6>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 5> [local count: 314968206]:
  # DEBUG BEGIN_STMT
  # DEBUG imcrBase => 1140916224B
  # DEBUG BEGIN_STMT
  imcrRegIdx_16 = imcrRegIdx_15 + 4294966784;
  # DEBUG imcrRegIdx => imcrRegIdx_16

  <bb 6> [local count: 629936412]:
  # imcrRegIdx_7 = PHI <imcrRegIdx_15(4), imcrRegIdx_16(5)>
  # imcrBase_8 = PHI <1074380800B(4), 1140916224B(5)>
  # DEBUG imcrBase => imcrBase_8
  # DEBUG imcrRegIdx => imcrRegIdx_7
  # DEBUG BEGIN_STMT
  if (imcrRegIdx_7 <= 495)
    goto <bb 7>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 7> [local count: 314968206]:
  # DEBUG BEGIN_STMT
  _4 = imcrRegIdx_7;
  _12 = _3 & 7;
  _5 = (long unsigned int) _12;
  imcrBase_8->IMCR[_4] ={v} _5;

  <bb 8> [local count: 954449110]:
  # DEBUG BEGIN_STMT
  inputMuxIterator_18 = inputMuxIterator_6 + 1;
  # DEBUG inputMuxIterator => inputMuxIterator_18

  <bb 9> [local count: 1073741824]:
  # inputMuxIterator_6 = PHI <inputMuxIterator_18(8), 0(11)>
  # DEBUG inputMuxIterator => inputMuxIterator_6
  # DEBUG BEGIN_STMT
  if (inputMuxIterator_6 != 8)
    goto <bb 3>; [88.89%]
  else
    goto <bb 10>; [11.11%]

  <bb 10> [local count: 350860934]:
  return;

}


Siul2_Port_Ip_PinInit (const struct Siul2_Port_Ip_PinSettingsConfig * config)
{
  uint8 siulInstance;
  uint32 pinsValues;
  struct SIUL2_Type * _1;
  <unnamed type> _2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;
  <unnamed type> _6;
  long unsigned int _7;
  long unsigned int _8;
  long unsigned int _9;
  <unnamed type> _10;
  long unsigned int _11;
  long unsigned int _12;
  long unsigned int _13;
  <unnamed type> _14;
  long unsigned int _15;
  long unsigned int _16;
  long unsigned int _17;
  <unnamed type> _18;
  long unsigned int _19;
  long unsigned int _20;
  long unsigned int _21;
  <unnamed type> _22;
  long unsigned int _23;
  long unsigned int _24;
  long unsigned int _25;
  <unnamed type> _26;
  long unsigned int _27;
  long unsigned int _28;
  long unsigned int _29;
  <unnamed type> _30;
  long unsigned int _31;
  unsigned char _32;
  int _33;
  long unsigned int _34;
  long unsigned int _35;
  short unsigned int _36;
  short unsigned int _37;
  long unsigned int _38;
  long unsigned int _39;
  long unsigned int _40;
  volatile uint8 * _41;
  struct SIUL2_Type * _42;
  long unsigned int _43;
  <unnamed type> _47;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG pinsValues => 0
  # DEBUG BEGIN_STMT
  # DEBUG siulInstance => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = config_49(D)->base;
  if (_1 == 1074380800B)
    goto <bb 4>; [30.00%]
  else
    goto <bb 3>; [70.00%]

  <bb 3> [local count: 751619278]:
  # DEBUG BEGIN_STMT
  # DEBUG siulInstance => 1

  <bb 4> [local count: 1073741824]:
  # siulInstance_45 = PHI <0(2), 1(3)>
  # DEBUG siulInstance => siulInstance_45
  # DEBUG BEGIN_STMT
  _2 = config_49(D)->pullConfig;
  if (_2 != 2)
    goto <bb 5>; [66.00%]
  else
    goto <bb 6>; [34.00%]

  <bb 5> [local count: 708669605]:
  # DEBUG BEGIN_STMT
  # DEBUG pinsValues => 8192
  # DEBUG BEGIN_STMT
  _3 = (long unsigned int) _2;
  _4 = _3 << 12;
  _5 = _4 & 4096;
  pinsValues_50 = _5 | 8192;
  # DEBUG pinsValues => pinsValues_50

  <bb 6> [local count: 1073741824]:
  # pinsValues_44 = PHI <0(4), pinsValues_50(5)>
  # DEBUG pinsValues => pinsValues_44
  # DEBUG BEGIN_STMT
  _6 = config_49(D)->outputBuffer;
  _7 = (long unsigned int) _6;
  _8 = _7 << 21;
  _9 = _8 & 2097152;
  pinsValues_51 = _9 | pinsValues_44;
  # DEBUG pinsValues => pinsValues_51
  # DEBUG BEGIN_STMT
  _10 = config_49(D)->receiverSel;
  _11 = (long unsigned int) _10;
  _12 = _11 << 10;
  _13 = _12 & 1024;
  pinsValues_52 = _13 | pinsValues_51;
  # DEBUG pinsValues => pinsValues_52
  # DEBUG BEGIN_STMT
  _14 = config_49(D)->openDrain;
  _15 = (long unsigned int) _14;
  _16 = _15 << 20;
  _17 = _16 & 1048576;
  pinsValues_53 = _17 | pinsValues_52;
  # DEBUG pinsValues => pinsValues_53
  # DEBUG BEGIN_STMT
  _18 = config_49(D)->inputBuffer;
  _19 = (long unsigned int) _18;
  _20 = _19 << 19;
  _21 = _20 & 524288;
  pinsValues_54 = _21 | pinsValues_53;
  # DEBUG pinsValues => pinsValues_54
  # DEBUG BEGIN_STMT
  _22 = config_49(D)->slewRateCtrlSel;
  _23 = (long unsigned int) _22;
  _24 = _23 << 14;
  _25 = _24 & 114688;
  pinsValues_55 = _25 | pinsValues_54;
  # DEBUG pinsValues => pinsValues_55
  # DEBUG BEGIN_STMT
  _26 = config_49(D)->safeMode;
  _27 = (long unsigned int) _26;
  _28 = _27 << 5;
  _29 = _28 & 32;
  pinsValues_56 = _29 | pinsValues_55;
  # DEBUG pinsValues => pinsValues_56
  # DEBUG BEGIN_STMT
  _30 = config_49(D)->mux;
  _47 = _30 & 7;
  _31 = (long unsigned int) _47;
  pinsValues_57 = _31 | pinsValues_56;
  # DEBUG pinsValues => pinsValues_57
  # DEBUG BEGIN_STMT
  if (_30 == 0)
    goto <bb 7>; [50.00%]
  else
    goto <bb 10>; [50.00%]

  <bb 7> [local count: 536870913]:
  if (_6 == 1)
    goto <bb 8>; [34.00%]
  else
    goto <bb 10>; [66.00%]

  <bb 8> [local count: 182536110]:
  # DEBUG BEGIN_STMT
  _32 = config_49(D)->initValue;
  if (_32 != 2)
    goto <bb 9>; [66.00%]
  else
    goto <bb 10>; [34.00%]

  <bb 9> [local count: 120473833]:
  # DEBUG BEGIN_STMT
  _33 = (int) siulInstance_45;
  _34 = Port_au32Siul2BaseAddr[_33];
  _35 = config_49(D)->pinPortIdx;
  _36 = (short unsigned int) _35;
  _37 = _36 ^ 3;
  _38 = (long unsigned int) _37;
  _39 = _34 + _38;
  _40 = _39 + 4864;
  _41 = (volatile uint8 *) _40;
  *_41 ={v} _32;

  <bb 10> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _42 = config_49(D)->base;
  _43 = config_49(D)->pinPortIdx;
  _42->MSCR[_43] ={v} pinsValues_57;
  # DEBUG BEGIN_STMT
  Siul2_Port_Ip_WriteIMCRConfiguration (config_49(D));
  return;

}


