Can_Ipw_ParseData.isra.0 (struct Can_HwType * CanIf_Mailbox, struct PduInfoType * CanIf_PduInfo, struct Flexcan_Ip_MsgBuffType * pReceivedDataBuffer, const uint8 * ISRA.17, const struct Can_HwObjectConfigType * Can_pHwObjectConfig)
{
  long unsigned int _2;
  long unsigned int _4;
  long unsigned int _5;
  long unsigned int _6;
  <unnamed type> _8;
  long unsigned int _9;
  <unnamed type> _10;
  long unsigned int _11;
  signed int _12;
  long unsigned int _13;
  long unsigned int _14;
  short unsigned int _15;
  unsigned char _17;
  unsigned char _18;
  long unsigned int _19;
  uint8 * _21;

  <bb 11> [local count: 1073741823]:
  # DEBUG Can_pControllerConfig s=> Can_pControllerConfig

  <bb 2> [local count: 1073741823]:
  # DEBUG BEGIN_STMT
  _2 = pReceivedDataBuffer_1(D)->msgId;
  CanIf_Mailbox_3(D)->CanId = _2;
  # DEBUG BEGIN_STMT
  _4 = pReceivedDataBuffer_1(D)->cs;
  _5 = _4 & 2097152;
  if (_5 != 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 3> [local count: 536870911]:
  # DEBUG BEGIN_STMT
  _6 = _2 | 2147483648;
  CanIf_Mailbox_3(D)->CanId = _6;

  <bb 4> [local count: 1073741823]:
  # DEBUG BEGIN_STMT
  _8 = Can_pHwObjectConfig_7(D)->Can_eReceiveType;
  if (_8 == 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 5> [local count: 536870911]:
  # DEBUG BEGIN_STMT
  _9 = _4 & 251658240;
  if (_9 == 100663296)
    goto <bb 6>; [20.24%]
  else
    goto <bb 7>; [79.76%]

  <bb 6> [local count: 108662672]:
  # DEBUG BEGIN_STMT
  Det_ReportRuntimeError (80, 0, 8, 1);

  <bb 7> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _10 = Can_pHwObjectConfig_7(D)->Can_eReceiveType;
  if (_10 != 1)
    goto <bb 8>; [66.00%]
  else
    goto <bb 10>; [34.00%]

  <bb 8> [local count: 708669605]:
  # DEBUG BEGIN_STMT
  _11 = pReceivedDataBuffer_1(D)->cs;
  _12 = (signed int) _11;
  if (_12 < 0)
    goto <bb 9>; [41.00%]
  else
    goto <bb 10>; [59.00%]

  <bb 9> [local count: 290554538]:
  # DEBUG BEGIN_STMT
  _13 = CanIf_Mailbox_3(D)->CanId;
  _14 = _13 | 1073741824;
  CanIf_Mailbox_3(D)->CanId = _14;

  <bb 10> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _15 = Can_pHwObjectConfig_7(D)->Can_HwObjectID;
  CanIf_Mailbox_3(D)->Hoh = _15;
  # DEBUG BEGIN_STMT
  _17 = *ISRA.17_35(D);
  CanIf_Mailbox_3(D)->ControllerId = _17;
  # DEBUG BEGIN_STMT
  _18 = pReceivedDataBuffer_1(D)->dataLen;
  _19 = (long unsigned int) _18;
  CanIf_PduInfo_20(D)->SduLength = _19;
  # DEBUG BEGIN_STMT
  _21 = &pReceivedDataBuffer_1(D)->data[0];
  CanIf_PduInfo_20(D)->SduDataPtr = _21;
  # DEBUG BEGIN_STMT
  CanIf_RxIndication (CanIf_Mailbox_3(D), CanIf_PduInfo_20(D));
  return;

}


Can_Ipw_ProcessPN (const struct Can_ControllerConfigType * Can_pControllerConfig, const struct Can_IcomConfigsType * pIcomConfig)
{
  uint8 u8WmbIndex;
  struct Flexcan_Ip_MsgBuffType ReceivedDataBuffer;
  static struct PduInfoType CanIf_PduInfo;
  static struct Can_HwType CanIf_Mailbox;
  const struct Can_Ipw_IcomRxMessageConfigsType * _1;
  const struct Flexcan_Ip_PnConfigType * _2;
  short unsigned int _3;
  short unsigned int _4;
  unsigned char _5;
  long unsigned int _6;
  long unsigned int _7;
  long unsigned int _8;
  long unsigned int _9;
  unsigned char _10;
  short unsigned int _11;
  unsigned char _12;
  unsigned char _13;
  long unsigned int _14;
  uint8 iftmp.11_16;

  <bb 2> [local count: 214748364]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG u8WmbIndex => 0
  # DEBUG BEGIN_STMT
  # DEBUG u8NumOfWmb => 0
  # DEBUG BEGIN_STMT
  _1 = pIcomConfig_20(D)->pCanIcomRxMessageConfigs;
  _2 = _1->pFlexcanIpPnConfig;
  _3 = _2->u16NumMatches;
  if (_3 <= 3)
    goto <bb 3>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 3> [local count: 107374182]:

  <bb 4> [local count: 214748364]:
  # _4 = PHI <_3(3), 4(2)>
  iftmp.11_16 = (uint8) _4;
  # DEBUG u8NumOfWmb => iftmp.11_16
  # DEBUG BEGIN_STMT
  # DEBUG u8WmbIndex => 0
  goto <bb 8>; [100.00%]

  <bb 5> [local count: 858993459]:
  # DEBUG BEGIN_STMT
  _5 = Can_pControllerConfig_22(D)->Can_u8ControllerOffset;
  FlexCAN_Ip_GetWMB (_5, u8WmbIndex_15, &ReceivedDataBuffer);
  # DEBUG BEGIN_STMT
  _6 = ReceivedDataBuffer.msgId;
  CanIf_Mailbox.CanId = _6;
  # DEBUG BEGIN_STMT
  _7 = ReceivedDataBuffer.cs;
  _8 = _7 & 2097152;
  if (_8 != 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 6> [local count: 429496729]:
  # DEBUG BEGIN_STMT
  _9 = _6 | 2147483648;
  CanIf_Mailbox.CanId = _9;

  <bb 7> [local count: 858993459]:
  # DEBUG BEGIN_STMT
  _10 = pIcomConfig_20(D)->u8CanIcomConfigId;
  _11 = (short unsigned int) _10;
  CanIf_Mailbox.Hoh = _11;
  # DEBUG BEGIN_STMT
  _12 = Can_pControllerConfig_22(D)->Can_u8AbstControllerID;
  CanIf_Mailbox.ControllerId = _12;
  # DEBUG BEGIN_STMT
  _13 = ReceivedDataBuffer.dataLen;
  _14 = (long unsigned int) _13;
  CanIf_PduInfo.SduLength = _14;
  # DEBUG BEGIN_STMT
  CanIf_PduInfo.SduDataPtr = &ReceivedDataBuffer.data[0];
  # DEBUG BEGIN_STMT
  CanIf_RxIndication (&CanIf_Mailbox, &CanIf_PduInfo);
  # DEBUG BEGIN_STMT
  u8WmbIndex_31 = u8WmbIndex_15 + 1;
  # DEBUG u8WmbIndex => u8WmbIndex_31

  <bb 8> [local count: 1073741824]:
  # u8WmbIndex_15 = PHI <0(4), u8WmbIndex_31(7)>
  # DEBUG u8WmbIndex => u8WmbIndex_15
  # DEBUG BEGIN_STMT
  if (u8WmbIndex_15 < iftmp.11_16)
    goto <bb 5>; [80.00%]
  else
    goto <bb 9>; [20.00%]

  <bb 9> [local count: 214748365]:
  ReceivedDataBuffer ={v} {CLOBBER};
  return;

}


Can_Ipw_SetIcomConfiguration (const struct Can_ControllerConfigType * Can_pControllerConfig, const struct Can_IcomConfigsType * pIcomConfig)
{
  Std_ReturnType ReturnValue;
  unsigned char _1;
  <unnamed type> _2;
  unsigned char _3;
  const struct Can_Ipw_IcomRxMessageConfigsType * _4;
  const struct Flexcan_Ip_PnConfigType * _5;
  unsigned char _6;
  <unnamed type> _7;
  _Bool _8;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG ReturnValue => 1
  # DEBUG BEGIN_STMT
  _1 = Can_pControllerConfig_12(D)->Can_u8ControllerOffset;
  if (_1 == 0)
    goto <bb 3>; [33.00%]
  else
    goto <bb 5>; [67.00%]

  <bb 3> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  _2 = FlexCAN_Ip_EnterFreezeMode_Privileged (0);
  if (_2 == 0)
    goto <bb 4>; [33.00%]
  else
    goto <bb 5>; [67.00%]

  <bb 4> [local count: 116930485]:
  # DEBUG BEGIN_STMT
  _3 = Can_pControllerConfig_12(D)->Can_u8ControllerOffset;
  _4 = pIcomConfig_14(D)->pCanIcomRxMessageConfigs;
  _5 = _4->pFlexcanIpPnConfig;
  FlexCAN_Ip_ConfigPN_Privileged (_3, 1, _5);
  # DEBUG BEGIN_STMT
  _6 = Can_pControllerConfig_12(D)->Can_u8ControllerOffset;
  _7 = FlexCAN_Ip_ExitFreezeMode_Privileged (_6);
  _8 = _7 != 0;
  ReturnValue_17 = (Std_ReturnType) _8;
  # DEBUG ReturnValue => ReturnValue_17

  <bb 5> [local count: 1073741824]:
  # ReturnValue_9 = PHI <1(2), 1(3), ReturnValue_17(4)>
  # DEBUG ReturnValue => ReturnValue_9
  # DEBUG BEGIN_STMT
  return ReturnValue_9;

}


Can_Ipw_DeactivateIcomConfiguration (const struct Can_ControllerConfigType * Can_pControllerConfig)
{
  Std_ReturnType ReturnValue;
  boolean IsStart;
  unsigned char _1;
  unsigned char _2;
  <unnamed type> _3;
  unsigned char _4;
  unsigned char _5;
  <unnamed type> _6;
  _Bool _7;
  unsigned char _8;
  <unnamed type> _9;
  _Bool _10;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG IsStart => 1
  # DEBUG BEGIN_STMT
  # DEBUG ReturnValue => 1
  # DEBUG BEGIN_STMT
  _1 = Can_pControllerConfig_14(D)->Can_u8ControllerOffset;
  if (_1 == 0)
    goto <bb 3>; [33.00%]
  else
    goto <bb 7>; [67.00%]

  <bb 3> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  IsStart_16 = FlexCAN_Ip_GetStartMode_Privileged (0);
  # DEBUG IsStart => IsStart_16
  # DEBUG BEGIN_STMT
  _2 = Can_pControllerConfig_14(D)->Can_u8ControllerOffset;
  _3 = FlexCAN_Ip_EnterFreezeMode_Privileged (_2);
  if (_3 == 0)
    goto <bb 4>; [33.00%]
  else
    goto <bb 7>; [67.00%]

  <bb 4> [local count: 116930485]:
  # DEBUG BEGIN_STMT
  _4 = Can_pControllerConfig_14(D)->Can_u8ControllerOffset;
  FlexCAN_Ip_ConfigPN_Privileged (_4, 0, 0B);
  # DEBUG BEGIN_STMT
  if (IsStart_16 != 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 5> [local count: 58465242]:
  # DEBUG BEGIN_STMT
  _5 = Can_pControllerConfig_14(D)->Can_u8ControllerOffset;
  _6 = FlexCAN_Ip_ExitFreezeMode_Privileged (_5);
  _7 = _6 != 0;
  ReturnValue_22 = (Std_ReturnType) _7;
  # DEBUG ReturnValue => ReturnValue_22
  goto <bb 7>; [100.00%]

  <bb 6> [local count: 58465242]:
  # DEBUG BEGIN_STMT
  _8 = Can_pControllerConfig_14(D)->Can_u8ControllerOffset;
  _9 = FlexCAN_Ip_SetStopMode_Privileged (_8);
  _10 = _9 != 0;
  ReturnValue_20 = (Std_ReturnType) _10;
  # DEBUG ReturnValue => ReturnValue_20

  <bb 7> [local count: 1073741824]:
  # ReturnValue_11 = PHI <1(2), 1(3), ReturnValue_22(5), ReturnValue_20(6)>
  # DEBUG ReturnValue => ReturnValue_11
  # DEBUG BEGIN_STMT
  return ReturnValue_11;

}


Can_Ipw_MainFunction_Mode (const struct Can_ControllerConfigType * Can_pControllerConfig, Can_ControllerStateType * Can_pControllerState)
{
  <unnamed type> _1;
  unsigned char _2;
  _Bool _3;
  unsigned char _4;
  unsigned char _5;
  _Bool _6;
  unsigned char _7;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = *Can_pControllerState_10(D);
  if (_1 == 1)
    goto <bb 3>; [20.24%]
  else
    goto <bb 5>; [79.76%]

  <bb 3> [local count: 217325345]:
  # DEBUG BEGIN_STMT
  _2 = Can_pControllerConfig_11(D)->Can_u8ControllerOffset;
  _3 = FlexCAN_Ip_GetStartMode_Privileged (_2);
  if (_3 != 0)
    goto <bb 8>; [67.00%]
  else
    goto <bb 4>; [33.00%]

  <bb 4> [local count: 71717364]:
  # DEBUG BEGIN_STMT
  *Can_pControllerState_10(D) = 2;
  # DEBUG BEGIN_STMT
  _4 = Can_pControllerConfig_11(D)->Can_u8AbstControllerID;
  CanIf_ControllerModeIndication (_4, 2);
  goto <bb 8>; [100.00%]

  <bb 5> [local count: 856416480]:
  # DEBUG BEGIN_STMT
  if (_1 == 2)
    goto <bb 6>; [20.24%]
  else
    goto <bb 8>; [79.76%]

  <bb 6> [local count: 173338695]:
  # DEBUG BEGIN_STMT
  _5 = Can_pControllerConfig_11(D)->Can_u8ControllerOffset;
  _6 = FlexCAN_Ip_GetStartMode_Privileged (_5);
  if (_6 != 0)
    goto <bb 7>; [33.00%]
  else
    goto <bb 8>; [67.00%]

  <bb 7> [local count: 57201769]:
  # DEBUG BEGIN_STMT
  *Can_pControllerState_10(D) = 1;
  # DEBUG BEGIN_STMT
  _7 = Can_pControllerConfig_11(D)->Can_u8AbstControllerID;
  CanIf_ControllerModeIndication (_7, 1);

  <bb 8> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  return;

}


Can_Ipw_MainFunction_BusOff (const struct Can_ControllerConfigType * Can_pControllerConfig)
{
  unsigned char _1;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = Can_pControllerConfig_3(D)->Can_u8ControllerOffset;
  FlexCAN_Ip_MainFunctionBusOff_Privileged (_1);
  return;

}


Can_Ipw_MainFunction_Read (const struct Can_ControllerConfigType * Can_pControllerConfig, const struct Can_HwObjectConfigType * Can_pHwObjectConfig)
{
  static struct PduInfoType CanIf_PduInfo;
  static struct Can_HwType CanIf_Mailbox;
  static struct Flexcan_Ip_MsgBuffType ReceivedDataBuffer;
  unsigned char _1;
  _Bool _2;
  <unnamed type> _3;
  unsigned char _4;
  unsigned char _5;
  _Bool _6;
  unsigned char _7;
  unsigned char _8;
  unsigned char _9;
  unsigned char _10;
  <unnamed type> _11;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = Can_pControllerConfig_14(D)->Can_u8ControllerOffset;
  _2 = FlexCAN_Ip_GetStopMode_Privileged (_1);
  if (_2 != 0)
    goto <bb 8>; [50.00%]
  else
    goto <bb 3>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _3 = Can_pHwObjectConfig_16(D)->Can_eReceiveType;
  if (_3 == 0)
    goto <bb 4>; [33.00%]
  else
    goto <bb 6>; [67.00%]

  <bb 4> [local count: 177167401]:
  # DEBUG BEGIN_STMT
  _4 = Can_pControllerConfig_14(D)->Can_u8ControllerOffset;
  _5 = Can_pHwObjectConfig_16(D)->Can_u8HwBufferIndex;
  _6 = Can_pHwObjectConfig_16(D)->Can_bHwObjectUsesPolling;
  FlexCAN_Ip_Receive (_4, _5, &ReceivedDataBuffer, _6);
  # DEBUG BEGIN_STMT
  _7 = Can_pControllerConfig_14(D)->Can_u8ControllerOffset;
  _8 = Can_pHwObjectConfig_16(D)->Can_u8HwBufferIndex;
  FlexCAN_Ip_MainFunctionRead (_7, _8);
  # DEBUG BEGIN_STMT
  _9 = Can_pControllerConfig_14(D)->Can_u8ControllerOffset;
  _10 = Can_pHwObjectConfig_16(D)->Can_u8HwBufferIndex;
  _11 = FlexCAN_Ip_GetTransferStatus (_9, _10);
  if (_11 == 0)
    goto <bb 5>; [33.00%]
  else
    goto <bb 8>; [67.00%]

  <bb 5> [local count: 58465242]:
  # DEBUG BEGIN_STMT
  # DEBUG D#1 => Can_pControllerConfig_14(D)
  Can_Ipw_ParseData.isra.0 (&CanIf_Mailbox, &CanIf_PduInfo, &ReceivedDataBuffer, Can_pControllerConfig_14(D), Can_pHwObjectConfig_16(D));
  goto <bb 8>; [100.00%]

  <bb 6> [local count: 359703511]:
  # DEBUG BEGIN_STMT
  if (_3 == 1)
    goto <bb 7>; [20.24%]
  else
    goto <bb 8>; [79.76%]

  <bb 7> [local count: 72803991]:
  # DEBUG BEGIN_STMT
  Can_Ipw_ProcessLegacyFifoPolling (&CanIf_Mailbox, &CanIf_PduInfo, &ReceivedDataBuffer, Can_pControllerConfig_14(D), Can_pHwObjectConfig_16(D));

  <bb 8> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  return;

}


Can_Ipw_MainFunction_Write (const struct Can_ControllerConfigType * Can_pControllerConfig, const struct Can_HwObjectConfigType * Can_pHwObjectConfig)
{
  uint8 u8ObjIdx;
  unsigned char _1;
  int _2;
  int _3;
  int _4;
  <unnamed type> _5;
  unsigned char _6;
  unsigned char _7;
  unsigned char _8;
  unsigned char _9;
  unsigned char _10;
  <unnamed type> _11;
  unsigned char _12;
  int _13;
  unsigned char _14;
  int _15;
  int _16;
  short unsigned int _17;
  unsigned char _18;

  <bb 2> [local count: 118111600]:
  # DEBUG BEGIN_STMT
  # DEBUG u8ObjIdx => 0

  <bb 3> [local count: 1073741824]:
  # u8ObjIdx_19 = PHI <0(2), u8ObjIdx_28(8)>
  # DEBUG u8ObjIdx => u8ObjIdx_19
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = Can_pHwObjectConfig_24(D)->Can_u8HwBufferIndex;
  _2 = (int) _1;
  _3 = (int) u8ObjIdx_19;
  _4 = _2 + _3;
  _5 ={v} Can_Ipw_xStatus0.mbs[_4].state;
  if (_5 == 2)
    goto <bb 4>; [20.24%]
  else
    goto <bb 6>; [79.76%]

  <bb 4> [local count: 217325345]:
  # DEBUG BEGIN_STMT
  _6 = Can_pControllerConfig_23(D)->Can_u8ControllerOffset;
  _7 = _1 + u8ObjIdx_19;
  FlexCAN_Ip_MainFunctionWrite (_6, _7);
  # DEBUG BEGIN_STMT
  _8 = Can_pControllerConfig_23(D)->Can_u8ControllerOffset;
  _9 = Can_pHwObjectConfig_24(D)->Can_u8HwBufferIndex;
  _10 = _9 + u8ObjIdx_19;
  _11 = FlexCAN_Ip_GetTransferStatus (_8, _10);
  if (_11 == 0)
    goto <bb 5>; [33.00%]
  else
    goto <bb 6>; [67.00%]

  <bb 5> [local count: 71717364]:
  # DEBUG BEGIN_STMT
  _12 = Can_pControllerConfig_23(D)->Can_u8ControllerID;
  _13 = (int) _12;
  _14 = Can_pHwObjectConfig_24(D)->Can_u8HwBufferIndex;
  _15 = (int) _14;
  _16 = _3 + _15;
  _17 = Can_Ipw_au16TxPduId[_13][_16];
  CanIf_TxConfirmation (_17);

  <bb 6> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  u8ObjIdx_28 = u8ObjIdx_19 + 1;
  # DEBUG u8ObjIdx => u8ObjIdx_28
  # DEBUG BEGIN_STMT
  _18 = Can_pHwObjectConfig_24(D)->Can_u8ObjectCount;
  if (_18 > u8ObjIdx_28)
    goto <bb 8>; [89.00%]
  else
    goto <bb 7>; [11.00%]

  <bb 8> [local count: 955630223]:
  goto <bb 3>; [100.00%]

  <bb 7> [local count: 118111601]:
  return;

}


Can_Ipw_AbortMb (const struct Can_ControllerConfigType * Can_pControllerConfig, const struct Can_HwObjectConfigType * Can_pHwObjectConfig)
{
  uint8 u8Idx;
  unsigned char _1;
  unsigned char _2;
  unsigned char _3;
  unsigned char _4;

  <bb 2> [local count: 118111600]:
  # DEBUG BEGIN_STMT
  # DEBUG u8Idx => 0

  <bb 3> [local count: 1073741824]:
  # u8Idx_5 = PHI <0(2), u8Idx_11(5)>
  # DEBUG u8Idx => u8Idx_5
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = Can_pControllerConfig_8(D)->Can_u8ControllerOffset;
  _2 = Can_pHwObjectConfig_9(D)->Can_u8HwBufferIndex;
  _3 = _2 + u8Idx_5;
  FlexCAN_Ip_AbortTransfer (_1, _3);
  # DEBUG BEGIN_STMT
  u8Idx_11 = u8Idx_5 + 1;
  # DEBUG u8Idx => u8Idx_11
  # DEBUG BEGIN_STMT
  _4 = Can_pHwObjectConfig_9(D)->Can_u8ObjectCount;
  if (_4 > u8Idx_11)
    goto <bb 5>; [89.00%]
  else
    goto <bb 4>; [11.00%]

  <bb 5> [local count: 955630223]:
  goto <bb 3>; [100.00%]

  <bb 4> [local count: 118111601]:
  return;

}


Can_Ipw_InitRx (const struct Can_ControllerConfigType * Can_pController)
{
  struct Flexcan_Ip_DataInfoType DataInfo;
  const struct Can_HwObjectConfigType * Can_pHwObject;
  uint8 u8HwObjRefIdx;
  unsigned char _1;
  const struct Can_HwObjectConfigType * const * _2;
  unsigned int _3;
  unsigned int _4;
  const struct Can_HwObjectConfigType * const * _5;
  <unnamed type> _6;
  <unnamed type> _7;
  unsigned char _8;
  unsigned char _9;
  const struct Can_HwFilterType * _10;
  long unsigned int _11;
  unsigned char _12;
  unsigned char _13;
  const struct Can_HwFilterType * _14;
  long unsigned int _15;
  <unnamed type> _16;
  unsigned char _17;
  unsigned char _18;
  <unnamed type> _19;
  _Bool _20;
  Std_ReturnType _30;

  <bb 2> [local count: 118111600]:
  # DEBUG BEGIN_STMT
  # DEBUG u8HwObjRefIdx => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = Can_pController_27(D)->Can_u8ControllerOffset;
  FlexCAN_Ip_SetRxMaskType_Privileged (_1, 1);
  # DEBUG BEGIN_STMT
  # DEBUG u8HwObjRefIdx => 0
  goto <bb 11>; [100.00%]

  <bb 3> [local count: 955630223]:
  # DEBUG BEGIN_STMT
  _2 = Can_pController_27(D)->Can_ppHwObject;
  _3 = (unsigned int) u8HwObjRefIdx_21;
  _4 = _3 * 4;
  _5 = _2 + _4;
  Can_pHwObject_32 = *_5;
  # DEBUG Can_pHwObject => Can_pHwObject_32
  # DEBUG BEGIN_STMT
  _6 = Can_pHwObject_32->Can_eReceiveType;
  if (_6 == 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 4> [local count: 477815111]:
  # DEBUG BEGIN_STMT
  DataInfo.fd_enable = 0;
  # DEBUG BEGIN_STMT
  DataInfo.data_length = 0;
  # DEBUG BEGIN_STMT
  _7 = Can_pHwObject_32->Can_IdMessage;
  if (_7 != 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 5> [local count: 238907556]:
  # DEBUG BEGIN_STMT
  DataInfo.msg_id_type = 1;
  goto <bb 7>; [100.00%]

  <bb 6> [local count: 238907556]:
  # DEBUG BEGIN_STMT
  DataInfo.msg_id_type = 0;

  <bb 7> [local count: 477815111]:
  # DEBUG BEGIN_STMT
  _8 = Can_pController_27(D)->Can_u8ControllerOffset;
  _9 = Can_pHwObject_32->Can_u8HwBufferIndex;
  _10 = Can_pHwObject_32->Can_pHwFilterConfig;
  _11 = _10->Can_u32HwFilterCode;
  FlexCAN_Ip_ConfigRxMb (_8, _9, &DataInfo, _11);
  # DEBUG BEGIN_STMT
  _12 = Can_pController_27(D)->Can_u8ControllerOffset;
  _13 = Can_pHwObject_32->Can_u8HwBufferIndex;
  _14 = Can_pHwObject_32->Can_pHwFilterConfig;
  _15 = _14->Can_u32HwFilterMask;
  FlexCAN_Ip_SetRxIndividualMask_Privileged (_12, _13, _15);

  <bb 8> [local count: 955630223]:
  # DEBUG BEGIN_STMT
  _16 = Can_pHwObject_32->Can_eReceiveType;
  if (_16 == 1)
    goto <bb 9>; [20.24%]
  else
    goto <bb 10>; [79.76%]

  <bb 9> [local count: 193419557]:
  # DEBUG BEGIN_STMT
  Can_Ipw_InitLegacyFifoFilter (Can_pController_27(D), Can_pHwObject_32);

  <bb 10> [local count: 955630223]:
  # DEBUG BEGIN_STMT
  u8HwObjRefIdx_40 = u8HwObjRefIdx_21 + 1;
  # DEBUG u8HwObjRefIdx => u8HwObjRefIdx_40

  <bb 11> [local count: 1073741824]:
  # u8HwObjRefIdx_21 = PHI <0(2), u8HwObjRefIdx_40(10)>
  # DEBUG u8HwObjRefIdx => u8HwObjRefIdx_21
  # DEBUG BEGIN_STMT
  _17 = Can_pController_27(D)->Can_u8HwObjectRefCount;
  if (_17 > u8HwObjRefIdx_21)
    goto <bb 3>; [89.00%]
  else
    goto <bb 12>; [11.00%]

  <bb 12> [local count: 118111601]:
  # DEBUG BEGIN_STMT
  _18 = Can_pController_27(D)->Can_u8ControllerOffset;
  _19 = FlexCAN_Ip_SetStopMode_Privileged (_18);
  _20 = _19 != 0;
  _30 = (Std_ReturnType) _20;
  DataInfo ={v} {CLOBBER};
  return _30;

}


Can_Ipw_Write (const struct Can_ControllerConfigType * Can_pControllerConfig, const struct Can_HwObjectConfigType * Can_pHwObjectConfig, const struct Can_PduType * PduInfo)
{
  uint8 u8ObjIdx;
  struct Flexcan_Ip_DataInfoType DataInfo;
  Flexcan_Ip_StatusType eRetVal;
  <unnamed type> _1;
  long unsigned int _2;
  unsigned int _3;
  unsigned char _4;
  long unsigned int _5;
  unsigned char _6;
  long unsigned int _7;
  _Bool _8;
  const struct Can_BaudrateConfigType * _9;
  unsigned char _10;
  int _11;
  short unsigned int _12;
  unsigned int _13;
  unsigned int _14;
  const struct Can_BaudrateConfigType * _15;
  _Bool _16;
  _Bool _17;
  unsigned char _18;
  unsigned char _19;
  unsigned char _20;
  unsigned char _21;
  int _22;
  unsigned char _23;
  int _24;
  int _25;
  int _26;
  short unsigned int _27;
  unsigned char _28;
  unsigned char _29;
  long unsigned int _30;
  uint8 * _31;
  unsigned char _32;
  Std_ReturnType iftmp.4_36;
  Std_ReturnType iftmp.4_64;

  <bb 2> [local count: 337833918]:
  # DEBUG BEGIN_STMT
  # DEBUG eRetVal => 1
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG u8ObjIdx => 0
  # DEBUG BEGIN_STMT
  DataInfo.msg_id_type = 0;
  # DEBUG BEGIN_STMT
  DataInfo.data_length = 0;
  # DEBUG BEGIN_STMT
  DataInfo.fd_padding = 0;
  # DEBUG BEGIN_STMT
  DataInfo.fd_enable = 0;
  # DEBUG BEGIN_STMT
  DataInfo.enable_brs = 0;
  # DEBUG BEGIN_STMT
  DataInfo.is_remote = 0;
  # DEBUG BEGIN_STMT
  DataInfo.is_polling = 0;
  # DEBUG BEGIN_STMT
  _1 = Can_pHwObjectConfig_48(D)->Can_eReceiveType;
  if (_1 == 3)
    goto <bb 3>; [34.00%]
  else
    goto <bb 9>; [66.00%]

  <bb 3> [local count: 114863532]:
  # DEBUG BEGIN_STMT
  _2 = PduInfo_49(D)->id;
  _3 = _2 >> 31;
  DataInfo.msg_id_type = _3;
  # DEBUG BEGIN_STMT
  _4 = PduInfo_49(D)->length;
  _5 = (long unsigned int) _4;
  DataInfo.data_length = _5;
  # DEBUG BEGIN_STMT
  _6 = Can_pHwObjectConfig_48(D)->Can_u8PaddingValue;
  DataInfo.fd_padding = _6;
  # DEBUG BEGIN_STMT
  _7 = _2 >> 30;
  _8 = (_Bool) _7;
  DataInfo.fd_enable = _8;
  # DEBUG BEGIN_STMT
  _9 = Can_pControllerConfig_54(D)->Can_pBaudrateConfig;
  _10 = Can_pControllerConfig_54(D)->Can_u8ControllerID;
  _11 = (int) _10;
  _12 = Can_au16ControllerBaudRateSel[_11];
  _13 = (unsigned int) _12;
  _14 = _13 * 24;
  _15 = _9 + _14;
  _16 = _15->Can_bBitRateSwitch;
  DataInfo.enable_brs = _16;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _17 = Can_pHwObjectConfig_48(D)->Can_bHwObjectUsesPolling;
  DataInfo.is_polling = _17;

  <bb 4> [local count: 1073741824]:
  # u8ObjIdx_35 = PHI <0(3), u8ObjIdx_62(13)>
  # DEBUG u8ObjIdx => u8ObjIdx_35
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _18 = Can_pControllerConfig_54(D)->Can_u8ControllerOffset;
  _19 = Can_pHwObjectConfig_48(D)->Can_u8HwBufferIndex;
  _20 = _19 + u8ObjIdx_35;
  eRetVal_58 = FlexCAN_Ip_GetTransferStatus (_18, _20);
  # DEBUG eRetVal => eRetVal_58
  # DEBUG BEGIN_STMT
  if (eRetVal_58 == 0)
    goto <bb 5>; [33.00%]
  else
    goto <bb 6>; [67.00%]

  <bb 5> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  _21 = Can_pControllerConfig_54(D)->Can_u8ControllerID;
  _22 = (int) _21;
  _23 = Can_pHwObjectConfig_48(D)->Can_u8HwBufferIndex;
  _24 = (int) _23;
  _25 = (int) u8ObjIdx_35;
  _26 = _24 + _25;
  _27 = PduInfo_49(D)->swPduHandle;
  Can_Ipw_au16TxPduId[_22][_26] = _27;
  # DEBUG BEGIN_STMT
  _28 = Can_pControllerConfig_54(D)->Can_u8ControllerOffset;
  _29 = _23 + u8ObjIdx_35;
  _30 = PduInfo_49(D)->id;
  _31 = PduInfo_49(D)->sdu;
  eRetVal_61 = FlexCAN_Ip_Send (_28, _29, &DataInfo, _30, _31);
  # DEBUG eRetVal => eRetVal_61

  <bb 6> [local count: 1073741824]:
  # eRetVal_33 = PHI <eRetVal_58(4), eRetVal_61(5)>
  # DEBUG eRetVal => eRetVal_33
  # DEBUG BEGIN_STMT
  u8ObjIdx_62 = u8ObjIdx_35 + 1;
  # DEBUG u8ObjIdx => u8ObjIdx_62
  # DEBUG BEGIN_STMT
  _32 = Can_pHwObjectConfig_48(D)->Can_u8ObjectCount;
  if (_32 > u8ObjIdx_62)
    goto <bb 7>; [94.50%]
  else
    goto <bb 8>; [5.50%]

  <bb 7> [local count: 1014686025]:
  if (eRetVal_33 == 2)
    goto <bb 13>; [94.50%]
  else
    goto <bb 8>; [5.50%]

  <bb 13> [local count: 958878293]:
  goto <bb 4>; [100.00%]

  <bb 8> [local count: 114863532]:
  # eRetVal_39 = PHI <eRetVal_33(7), eRetVal_33(6)>
  # DEBUG eRetVal => eRetVal_39
  # DEBUG BEGIN_STMT
  if (eRetVal_39 != 0)
    goto <bb 9>; [50.00%]
  else
    goto <bb 10>; [50.00%]

  <bb 9> [local count: 280402152]:
  # eRetVal_63 = PHI <eRetVal_39(8), 1(2)>
  # DEBUG eRetVal => NULL
  if (eRetVal_63 != 2)
    goto <bb 11>; [66.00%]
  else
    goto <bb 10>; [34.00%]

  <bb 10> [local count: 152768497]:
  # eRetVal_34 = PHI <eRetVal_39(8), eRetVal_63(9)>
  # DEBUG eRetVal => eRetVal_34
  # DEBUG BEGIN_STMT
  if (eRetVal_34 != 2)
    goto <bb 11>; [78.28%]
  else
    goto <bb 12>; [21.72%]

  <bb 11> [local count: 304652600]:
  # eRetVal_65 = PHI <eRetVal_34(10), 1(9)>
  # DEBUG eRetVal => NULL
  iftmp.4_64 = (Std_ReturnType) eRetVal_65;

  <bb 12> [local count: 337833917]:
  # iftmp.4_36 = PHI <iftmp.4_64(11), 2(10)>
  DataInfo ={v} {CLOBBER};
  return iftmp.4_36;

}


Can_Ipw_GetControllerRxErrorCounter (const struct Can_ControllerConfigType * Can_pControllerConfig)
{
  unsigned char _1;
  uint8 _5;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = Can_pControllerConfig_3(D)->Can_u8ControllerOffset;
  _5 = FlexCAN_Ip_GetControllerRxErrorCounter (_1);
  return _5;

}


Can_Ipw_GetControllerTxErrorCounter (const struct Can_ControllerConfigType * Can_pControllerConfig)
{
  unsigned char _1;
  uint8 _5;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = Can_pControllerConfig_3(D)->Can_u8ControllerOffset;
  _5 = FlexCAN_Ip_GetControllerTxErrorCounter (_1);
  return _5;

}


Can_Ipw_GetControllerErrorState (const struct Can_ControllerConfigType * Can_pControllerConfig)
{
  uint32 Error;
  unsigned char _1;
  long unsigned int _2;
  unsigned char _3;
  uint8 _8;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG Error => 0
  # DEBUG BEGIN_STMT
  _1 = Can_pControllerConfig_5(D)->Can_u8ControllerOffset;
  Error_7 = FlexCAN_Ip_GetErrorStatus (_1);
  # DEBUG Error => Error_7
  # DEBUG BEGIN_STMT
  _2 = Error_7 >> 4;
  _3 = (unsigned char) _2;
  _8 = _3 & 3;
  return _8;

}


Can_Ipw_EnableControllerInterrupts (const struct Can_ControllerConfigType * Can_pControllerConfig)
{
  unsigned char _1;
  int _2;
  _Bool _3;
  unsigned char _4;
  unsigned char _5;
  int _6;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = Can_pControllerConfig_9(D)->Can_u8ControllerID;
  _2 = (int) _1;
  _3 = Can_Ipw_abIsInterruptEnabled[_2];
  if (_3 != 0)
    goto <bb 4>; [67.00%]
  else
    goto <bb 3>; [33.00%]

  <bb 3> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  _4 = Can_pControllerConfig_9(D)->Can_u8ControllerOffset;
  FlexCAN_Ip_EnableInterrupts_Privileged (_4);
  # DEBUG BEGIN_STMT
  _5 = Can_pControllerConfig_9(D)->Can_u8ControllerID;
  _6 = (int) _5;
  Can_Ipw_abIsInterruptEnabled[_6] = 1;

  <bb 4> [local count: 1073741824]:
  return;

}


Can_Ipw_DisableControllerInterrupts (const struct Can_ControllerConfigType * Can_pControllerConfig)
{
  unsigned char _1;
  int _2;
  _Bool _3;
  unsigned char _4;
  unsigned char _5;
  int _6;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = Can_pControllerConfig_9(D)->Can_u8ControllerID;
  _2 = (int) _1;
  _3 = Can_Ipw_abIsInterruptEnabled[_2];
  if (_3 != 0)
    goto <bb 3>; [33.00%]
  else
    goto <bb 4>; [67.00%]

  <bb 3> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  _4 = Can_pControllerConfig_9(D)->Can_u8ControllerOffset;
  FlexCAN_Ip_DisableInterrupts_Privileged (_4);
  # DEBUG BEGIN_STMT
  _5 = Can_pControllerConfig_9(D)->Can_u8ControllerID;
  _6 = (int) _5;
  Can_Ipw_abIsInterruptEnabled[_6] = 0;

  <bb 4> [local count: 1073741824]:
  return;

}


Can_Ipw_SetControllerToStopMode (const struct Can_ControllerConfigType * Can_pControllerConfig)
{
  uint8 u8Idx;
  const struct Can_HwObjectConfigType * Can_pHwObject;
  uint8 u8HwObjRefIdx;
  Std_ReturnType eReturnValue;
  unsigned char _1;
  <unnamed type> _2;
  unsigned char _3;
  unsigned char _4;
  int _5;
  _Bool _6;
  unsigned char _7;
  const struct Can_HwObjectConfigType * const * _8;
  unsigned int _9;
  unsigned int _10;
  const struct Can_HwObjectConfigType * const * _11;
  <unnamed type> _12;
  unsigned char _13;
  unsigned char _14;
  unsigned char _15;
  unsigned char _17;
  unsigned char _18;
  unsigned char _19;
  unsigned char _20;
  unsigned char _21;
  <unnamed type> _22;

  <bb 2> [local count: 158610805]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG u8HwObjRefIdx => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG u8Idx => 0
  # DEBUG BEGIN_STMT
  _1 = Can_pControllerConfig_32(D)->Can_u8ControllerOffset;
  _2 = FlexCAN_Ip_EnterFreezeMode_Privileged (_1);
  if (_2 == 0)
    goto <bb 3>; [33.00%]
  else
    goto <bb 12>; [67.00%]

  <bb 3> [local count: 52341566]:
  # DEBUG BEGIN_STMT
  _3 = Can_pControllerConfig_32(D)->Can_u8ControllerOffset;
  FlexCAN_Ip_ConfigPN_Privileged (_3, 0, 0B);
  # DEBUG BEGIN_STMT
  _4 = Can_pControllerConfig_32(D)->Can_u8ControllerID;
  _5 = (int) _4;
  _6 = Can_Ipw_abIsInterruptEnabled[_5];
  if (_6 != 0)
    goto <bb 4>; [33.00%]
  else
    goto <bb 10>; [67.00%]

  <bb 4> [local count: 17272717]:
  # DEBUG BEGIN_STMT
  _7 = Can_pControllerConfig_32(D)->Can_u8ControllerOffset;
  FlexCAN_Ip_DisableInterrupts_Privileged (_7);

  <bb 10> [local count: 52341566]:
  # u8HwObjRefIdx_26 = PHI <0(4), 0(3)>
  goto <bb 13>; [100.00%]

  <bb 6> [local count: 423490858]:
  # DEBUG BEGIN_STMT
  _8 = Can_pControllerConfig_32(D)->Can_ppHwObject;
  _9 = (unsigned int) u8HwObjRefIdx_24;
  _10 = _9 * 4;
  _11 = _8 + _10;
  Can_pHwObject_38 = *_11;
  # DEBUG Can_pHwObject => Can_pHwObject_38
  # DEBUG BEGIN_STMT
  _12 = Can_pHwObject_38->Can_eReceiveType;
  if (_12 == 3)
    goto <bb 14>; [27.89%]
  else
    goto <bb 8>; [72.11%]

  <bb 14> [local count: 118111600]:

  <bb 7> [local count: 1073741824]:
  # u8Idx_25 = PHI <0(14), u8Idx_41(15)>
  # DEBUG u8Idx => u8Idx_25
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _13 = Can_pControllerConfig_32(D)->Can_u8ControllerOffset;
  _14 = Can_pHwObject_38->Can_u8HwBufferIndex;
  _15 = _14 + u8Idx_25;
  FlexCAN_Ip_AbortTransfer (_13, _15);
  # DEBUG BEGIN_STMT
  u8Idx_41 = u8Idx_25 + 1;
  # DEBUG u8Idx => u8Idx_41
  # DEBUG BEGIN_STMT
  _17 = Can_pHwObject_38->Can_u8ObjectCount;
  if (_17 > u8Idx_41)
    goto <bb 15>; [89.00%]
  else
    goto <bb 9>; [11.00%]

  <bb 15> [local count: 955630224]:
  goto <bb 7>; [100.00%]

  <bb 8> [local count: 305379258]:
  # DEBUG BEGIN_STMT
  _18 = Can_pControllerConfig_32(D)->Can_u8ControllerOffset;
  _19 = Can_pHwObject_38->Can_u8HwBufferIndex;
  FlexCAN_Ip_AbortTransfer (_18, _19);

  <bb 9> [local count: 423490859]:
  # DEBUG BEGIN_STMT
  u8HwObjRefIdx_42 = u8HwObjRefIdx_24 + 1;
  # DEBUG u8HwObjRefIdx => u8HwObjRefIdx_42

  <bb 13> [local count: 475832424]:
  # u8HwObjRefIdx_24 = PHI <u8HwObjRefIdx_26(10), u8HwObjRefIdx_42(9)>
  # DEBUG u8HwObjRefIdx => u8HwObjRefIdx_24
  # DEBUG BEGIN_STMT
  _20 = Can_pControllerConfig_32(D)->Can_u8HwObjectRefCount;
  if (_20 > u8HwObjRefIdx_24)
    goto <bb 6>; [89.00%]
  else
    goto <bb 11>; [11.00%]

  <bb 11> [local count: 52341567]:
  # DEBUG BEGIN_STMT
  _21 = Can_pControllerConfig_32(D)->Can_u8ControllerOffset;
  _22 = FlexCAN_Ip_SetStopMode_Privileged (_21);
  eReturnValue_37 = (Std_ReturnType) _22;
  # DEBUG eReturnValue => eReturnValue_37

  <bb 12> [local count: 158610806]:
  # eReturnValue_23 = PHI <eReturnValue_37(11), 1(2)>
  # DEBUG eReturnValue => eReturnValue_23
  # DEBUG BEGIN_STMT
  return eReturnValue_23;

}


Can_Ipw_SetControllerToStartMode (const struct Can_ControllerConfigType * Can_pControllerConfig)
{
  Flexcan_Ip_StatusType eRetVal;
  const struct Can_HwObjectConfigType * Can_pHwObject;
  uint8 u8HwObjRefIdx;
  unsigned char _1;
  unsigned char _2;
  const struct Can_HwObjectConfigType * const * _3;
  unsigned int _4;
  unsigned int _5;
  const struct Can_HwObjectConfigType * const * _6;
  <unnamed type> _7;
  unsigned char _8;
  unsigned char _9;
  unsigned char _10;
  _Bool _11;
  Std_ReturnType _27;

  <bb 2> [local count: 357913946]:
  # DEBUG BEGIN_STMT
  # DEBUG u8HwObjRefIdx => 0
  # DEBUG BEGIN_STMT
  # DEBUG Can_pHwObject => 0B
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = Can_pControllerConfig_18(D)->Can_u8ControllerOffset;
  eRetVal_20 = FlexCAN_Ip_EnterFreezeMode_Privileged (_1);
  # DEBUG eRetVal => eRetVal_20
  # DEBUG BEGIN_STMT
  if (eRetVal_20 == 0)
    goto <bb 3>; [33.00%]
  else
    goto <bb 9>; [67.00%]

  <bb 3> [local count: 118111602]:
  # DEBUG BEGIN_STMT
  _2 = Can_pControllerConfig_18(D)->Can_u8ControllerOffset;
  FlexCAN_Ip_ConfigPN_Privileged (_2, 0, 0B);
  # DEBUG BEGIN_STMT
  # DEBUG u8HwObjRefIdx => 0
  goto <bb 7>; [100.00%]

  <bb 4> [local count: 955630224]:
  # DEBUG BEGIN_STMT
  _3 = Can_pControllerConfig_18(D)->Can_ppHwObject;
  _4 = (unsigned int) u8HwObjRefIdx_12;
  _5 = _4 * 4;
  _6 = _3 + _5;
  Can_pHwObject_24 = *_6;
  # DEBUG Can_pHwObject => Can_pHwObject_24
  # DEBUG BEGIN_STMT
  _7 = Can_pHwObject_24->Can_eReceiveType;
  if (_7 == 0)
    goto <bb 5>; [33.00%]
  else
    goto <bb 6>; [67.00%]

  <bb 5> [local count: 315357974]:
  # DEBUG BEGIN_STMT
  _8 = Can_pControllerConfig_18(D)->Can_u8ControllerOffset;
  Can_Ipw_SetRxMb (_8, Can_pHwObject_24);

  <bb 6> [local count: 955630224]:
  # DEBUG BEGIN_STMT
  u8HwObjRefIdx_26 = u8HwObjRefIdx_12 + 1;
  # DEBUG u8HwObjRefIdx => u8HwObjRefIdx_26

  <bb 7> [local count: 1073741824]:
  # u8HwObjRefIdx_12 = PHI <0(3), u8HwObjRefIdx_26(6)>
  # DEBUG u8HwObjRefIdx => u8HwObjRefIdx_12
  # DEBUG BEGIN_STMT
  _9 = Can_pControllerConfig_18(D)->Can_u8HwObjectRefCount;
  if (_9 > u8HwObjRefIdx_12)
    goto <bb 4>; [89.00%]
  else
    goto <bb 8>; [11.00%]

  <bb 8> [local count: 118111601]:
  # DEBUG BEGIN_STMT
  _10 = Can_Ipw_SetControlerErrorInit (Can_pControllerConfig_18(D));
  _11 = _10 != 0;
  eRetVal_23 = (Flexcan_Ip_StatusType) _11;
  # DEBUG eRetVal => eRetVal_23

  <bb 9> [local count: 357913944]:
  # eRetVal_13 = PHI <eRetVal_20(2), eRetVal_23(8)>
  # DEBUG eRetVal => eRetVal_13
  # DEBUG BEGIN_STMT
  _27 = (Std_ReturnType) eRetVal_13;
  return _27;

}


Can_Ipw_SetControlerErrorInit (const struct Can_ControllerConfigType * Can_pControllerConfig)
{
  Flexcan_Ip_StatusType eRetVal;
  unsigned char _1;
  unsigned char _2;
  int _3;
  _Bool _4;
  unsigned char _5;
  unsigned char _6;
  const struct Can_Ipw_HwChannelConfigType * _7;
  const struct Flexcan_Ip_ConfigType * _8;
  long unsigned int _9;
  long unsigned int _10;
  unsigned char _11;
  Std_ReturnType _23;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG eRetVal => 0
  # DEBUG BEGIN_STMT
  _1 = Can_pControllerConfig_16(D)->Can_u8ControllerOffset;
  FlexCAN_Ip_ClearErrorStatus (_1, 3866630);
  # DEBUG BEGIN_STMT
  _2 = Can_pControllerConfig_16(D)->Can_u8ControllerID;
  _3 = (int) _2;
  _4 = Can_Ipw_abIsInterruptEnabled[_3];
  if (_4 != 0)
    goto <bb 3>; [33.00%]
  else
    goto <bb 4>; [67.00%]

  <bb 3> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  _5 = Can_pControllerConfig_16(D)->Can_u8ControllerOffset;
  FlexCAN_Ip_EnableInterrupts_Privileged (_5);

  <bb 4> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _6 = Can_pControllerConfig_16(D)->Can_u8ControllerOffset;
  eRetVal_20 = FlexCAN_Ip_SetStartMode_Privileged (_6);
  # DEBUG eRetVal => eRetVal_20
  # DEBUG BEGIN_STMT
  _7 = Can_pControllerConfig_16(D)->HwChannelIpConfig;
  _8 = _7->pFlexcanIpHwConfig;
  _9 = _8->ctrlOptions;
  _10 = _9 & 4;
  if (_10 == 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 5> [local count: 536870913]:
  if (eRetVal_20 == 0)
    goto <bb 6>; [33.00%]
  else
    goto <bb 7>; [67.00%]

  <bb 6> [local count: 177167401]:
  # DEBUG BEGIN_STMT
  _11 = Can_pControllerConfig_16(D)->Can_u8ControllerOffset;
  eRetVal_22 = FlexCAN_Ip_ManualBusOffRecovery (_11);
  # DEBUG eRetVal => eRetVal_22

  <bb 7> [local count: 1073741824]:
  # eRetVal_12 = PHI <eRetVal_20(4), eRetVal_20(5), eRetVal_22(6)>
  # DEBUG eRetVal => eRetVal_12
  # DEBUG BEGIN_STMT
  _23 = (Std_ReturnType) eRetVal_12;
  return _23;

}


Can_Ipw_SetBaudrate (const struct Can_ControllerConfigType * Can_pControllerConfig, uint16 BaudRateConfigID)
{
  struct Flexcan_Ip_TimeSegmentType FlexCANTimeSeg;
  Flexcan_Ip_StatusType eRetVal;
  unsigned char _1;
  int _2;
  unsigned char _3;
  const struct Can_BaudrateConfigType * _4;
  unsigned int _5;
  unsigned int _6;
  const struct Can_BaudrateConfigType * _7;
  short unsigned int _8;
  long unsigned int _9;
  unsigned char _10;
  long unsigned int _11;
  unsigned char _12;
  long unsigned int _13;
  unsigned char _14;
  long unsigned int _15;
  unsigned char _16;
  long unsigned int _17;
  unsigned char _18;
  _Bool _19;
  const struct Can_BaudrateConfigType * _20;
  const struct Can_BaudrateConfigType * _21;
  short unsigned int _22;
  long unsigned int _23;
  _Bool _24;
  unsigned char _25;
  long unsigned int _26;
  unsigned char _27;
  long unsigned int _28;
  unsigned char _29;
  long unsigned int _30;
  unsigned char _31;
  long unsigned int _32;
  unsigned char _33;
  _Bool _34;
  unsigned char _35;
  const struct Can_BaudrateConfigType * _36;
  const struct Can_BaudrateConfigType * _37;
  _Bool _38;
  unsigned char _39;
  unsigned char _40;
  const struct Can_BaudrateConfigType * _41;
  const struct Can_BaudrateConfigType * _42;
  unsigned char _43;
  unsigned char _44;
  _Bool _45;
  Std_ReturnType _71;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG eRetVal => 1
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = Can_pControllerConfig_50(D)->Can_u8ControllerID;
  _2 = (int) _1;
  Can_au16ControllerBaudRateSel[_2] = BaudRateConfigID_51(D);
  # DEBUG BEGIN_STMT
  _3 = Can_pControllerConfig_50(D)->Can_u8ControllerOffset;
  eRetVal_54 = FlexCAN_Ip_EnterFreezeMode_Privileged (_3);
  # DEBUG eRetVal => eRetVal_54
  # DEBUG BEGIN_STMT
  if (eRetVal_54 == 0)
    goto <bb 3>; [33.00%]
  else
    goto <bb 6>; [67.00%]

  <bb 3> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  _4 = Can_pControllerConfig_50(D)->Can_pBaudrateConfig;
  _5 = (unsigned int) BaudRateConfigID_51(D);
  _6 = _5 * 24;
  _7 = _4 + _6;
  _8 = _7->Can_NominalBitRate.Can_u16Prescaler;
  _9 = (long unsigned int) _8;
  FlexCANTimeSeg.preDivider = _9;
  # DEBUG BEGIN_STMT
  _10 = _7->Can_NominalBitRate.Can_u8PropSeg;
  _11 = (long unsigned int) _10;
  FlexCANTimeSeg.propSeg = _11;
  # DEBUG BEGIN_STMT
  _12 = _7->Can_NominalBitRate.Can_u8PhaseSeg1;
  _13 = (long unsigned int) _12;
  FlexCANTimeSeg.phaseSeg1 = _13;
  # DEBUG BEGIN_STMT
  _14 = _7->Can_NominalBitRate.Can_u8PhaseSeg2;
  _15 = (long unsigned int) _14;
  FlexCANTimeSeg.phaseSeg2 = _15;
  # DEBUG BEGIN_STMT
  _16 = _7->Can_NominalBitRate.Can_u8ResyncJumpWidth;
  _17 = (long unsigned int) _16;
  FlexCANTimeSeg.rJumpwidth = _17;
  # DEBUG BEGIN_STMT
  _18 = Can_pControllerConfig_50(D)->Can_u8ControllerOffset;
  _19 = _7->Can_bEnhanceCBTEnable;
  FlexCAN_Ip_SetBitrate_Privileged (_18, &FlexCANTimeSeg, _19);
  # DEBUG BEGIN_STMT
  _20 = Can_pControllerConfig_50(D)->Can_pBaudrateConfig;
  _21 = _20 + _6;
  _22 = _21->Can_DataBitRate.Can_u16Prescaler;
  _23 = (long unsigned int) _22;
  FlexCANTimeSeg.preDivider = _23;
  # DEBUG BEGIN_STMT
  _24 = _21->Can_bFDFrame;
  if (_24 != 0)
    goto <bb 4>; [33.00%]
  else
    goto <bb 5>; [67.00%]

  <bb 4> [local count: 116930485]:
  # DEBUG BEGIN_STMT
  _25 = _21->Can_DataBitRate.Can_u8PropSeg;
  _26 = (long unsigned int) _25;
  FlexCANTimeSeg.propSeg = _26;
  # DEBUG BEGIN_STMT
  _27 = _21->Can_DataBitRate.Can_u8PhaseSeg1;
  _28 = (long unsigned int) _27;
  FlexCANTimeSeg.phaseSeg1 = _28;
  # DEBUG BEGIN_STMT
  _29 = _21->Can_DataBitRate.Can_u8PhaseSeg2;
  _30 = (long unsigned int) _29;
  FlexCANTimeSeg.phaseSeg2 = _30;
  # DEBUG BEGIN_STMT
  _31 = _21->Can_DataBitRate.Can_u8ResyncJumpWidth;
  _32 = (long unsigned int) _31;
  FlexCANTimeSeg.rJumpwidth = _32;
  # DEBUG BEGIN_STMT
  _33 = Can_pControllerConfig_50(D)->Can_u8ControllerOffset;
  _34 = _21->Can_bBitRateSwitch;
  FlexCAN_Ip_SetBitrateCbt_Privileged (_33, &FlexCANTimeSeg, _34);
  # DEBUG BEGIN_STMT
  _35 = Can_pControllerConfig_50(D)->Can_u8ControllerOffset;
  _36 = Can_pControllerConfig_50(D)->Can_pBaudrateConfig;
  _37 = _36 + _6;
  _38 = _37->Can_bTrcvDelayEnable;
  _39 = _37->Can_u8TrcvDelayCompOffset;
  FlexCAN_Ip_SetTDCOffset_Privileged (_35, _38, _39);

  <bb 5> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  _40 = Can_pControllerConfig_50(D)->Can_u8ControllerOffset;
  _41 = Can_pControllerConfig_50(D)->Can_pBaudrateConfig;
  _42 = _41 + _6;
  _43 = _42->Can_u8TxArbitrationStartDelay;
  FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged (_40, _43);
  # DEBUG BEGIN_STMT
  _44 = Can_pControllerConfig_50(D)->Can_u8ControllerOffset;
  eRetVal_70 = FlexCAN_Ip_SetStopMode_Privileged (_44);
  # DEBUG eRetVal => eRetVal_70

  <bb 6> [local count: 1073741824]:
  # eRetVal_46 = PHI <eRetVal_54(2), eRetVal_70(5)>
  # DEBUG eRetVal => eRetVal_46
  # DEBUG BEGIN_STMT
  _45 = eRetVal_46 != 0;
  _71 = (Std_ReturnType) _45;
  FlexCANTimeSeg ={v} {CLOBBER};
  return _71;

}


Can_Ipw_DeInit (const struct Can_ControllerConfigType * Can_pControllerConfig)
{
  unsigned char _1;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = Can_pControllerConfig_3(D)->Can_u8ControllerOffset;
  FlexCAN_Ip_Deinit_Privileged (_1);
  return;

}


Can_Ipw_Init (const struct Can_ControllerConfigType * Can_pControllerConfig)
{
  Std_ReturnType eRetVal;
  unsigned char _1;
  int _2;
  short unsigned int _3;
  unsigned char _4;
  const struct Can_Ipw_HwChannelConfigType * _5;
  const struct Flexcan_Ip_ConfigType * _6;
  <unnamed type> _7;
  unsigned char _8;
  unsigned char _9;
  int _10;
  const struct Can_BaudrateConfigType * _11;
  short unsigned int _12;
  unsigned int _13;
  unsigned int _14;
  const struct Can_BaudrateConfigType * _15;
  _Bool _16;
  unsigned char _17;
  _Bool _18;
  unsigned char _19;
  unsigned char _20;
  const struct Can_BaudrateConfigType * _21;
  short unsigned int _22;
  unsigned int _23;
  unsigned int _24;
  const struct Can_BaudrateConfigType * _25;
  unsigned char _26;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG eRetVal => 1
  # DEBUG BEGIN_STMT
  _1 = Can_pControllerConfig_30(D)->Can_u8ControllerID;
  _2 = (int) _1;
  _3 = Can_pControllerConfig_30(D)->Can_u16DefaultBaudrateID;
  Can_au16ControllerBaudRateSel[_2] = _3;
  # DEBUG BEGIN_STMT
  _4 = Can_pControllerConfig_30(D)->Can_u8ControllerOffset;
  _5 = Can_pControllerConfig_30(D)->HwChannelIpConfig;
  _6 = _5->pFlexcanIpHwConfig;
  _7 = FlexCAN_Ip_Init_Privileged (_4, &Can_Ipw_xStatus0, _6);
  eRetVal_33 = (Std_ReturnType) _7;
  # DEBUG eRetVal => eRetVal_33
  # DEBUG BEGIN_STMT
  _8 = Can_pControllerConfig_30(D)->Can_u8ControllerOffset;
  FlexCAN_Ip_DisableInterrupts_Privileged (_8);
  # DEBUG BEGIN_STMT
  _9 = Can_pControllerConfig_30(D)->Can_u8ControllerID;
  _10 = (int) _9;
  Can_Ipw_abIsInterruptEnabled[_10] = 1;
  # DEBUG BEGIN_STMT
  if (eRetVal_33 == 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _11 = Can_pControllerConfig_30(D)->Can_pBaudrateConfig;
  _12 = Can_pControllerConfig_30(D)->Can_u16DefaultBaudrateID;
  _13 = (unsigned int) _12;
  _14 = _13 * 24;
  _15 = _11 + _14;
  _16 = _15->Can_bFDFrame;
  if (_16 != 0)
    goto <bb 4>; [33.00%]
  else
    goto <bb 5>; [67.00%]

  <bb 4> [local count: 177167401]:
  # DEBUG BEGIN_STMT
  _17 = Can_pControllerConfig_30(D)->Can_u8ControllerOffset;
  _18 = _15->Can_bTrcvDelayEnable;
  _19 = _15->Can_u8TrcvDelayCompOffset;
  FlexCAN_Ip_SetTDCOffset_Privileged (_17, _18, _19);

  <bb 5> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _20 = Can_pControllerConfig_30(D)->Can_u8ControllerOffset;
  _21 = Can_pControllerConfig_30(D)->Can_pBaudrateConfig;
  _22 = Can_pControllerConfig_30(D)->Can_u16DefaultBaudrateID;
  _23 = (unsigned int) _22;
  _24 = _23 * 24;
  _25 = _21 + _24;
  _26 = _25->Can_u8TxArbitrationStartDelay;
  FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged (_20, _26);

  <bb 6> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  return eRetVal_33;

}


Can_Ipw_SetRxMb (const uint8 u8Controller, const struct Can_HwObjectConfigType * Can_pHwObject)
{
  struct Flexcan_Ip_DataInfoType dataInfo;
  <unnamed type> _1;
  unsigned char _2;
  const struct Can_HwFilterType * _3;
  long unsigned int _4;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  dataInfo.fd_enable = 0;
  # DEBUG BEGIN_STMT
  dataInfo.data_length = 0;
  # DEBUG BEGIN_STMT
  _1 = Can_pHwObject_9(D)->Can_IdMessage;
  if (_1 != 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  dataInfo.msg_id_type = 1;
  goto <bb 5>; [100.00%]

  <bb 4> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  dataInfo.msg_id_type = 0;

  <bb 5> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _2 = Can_pHwObject_9(D)->Can_u8HwBufferIndex;
  _3 = Can_pHwObject_9(D)->Can_pHwFilterConfig;
  _4 = _3->Can_u32HwFilterCode;
  FlexCAN_Ip_ConfigRxMb (u8Controller_12(D), _2, &dataInfo, _4);
  dataInfo ={v} {CLOBBER};
  return;

}


Can_Ipw_ProcessLegacyFifoPolling (struct Can_HwType * CanIf_Mailbox, struct PduInfoType * CanIf_PduInfo, struct Flexcan_Ip_MsgBuffType * pReceivedDataBuffer, const struct Can_ControllerConfigType * Can_pControllerConfig, const struct Can_HwObjectConfigType * Can_pHwObjectConfig)
{
  boolean returnResult;
  uint8 u8ObjIdx;
  unsigned char _1;
  unsigned char _2;
  _Bool _3;
  void (*<T6b6>) (void) _4;
  unsigned char _5;
  unsigned char _6;
  _Bool _7;
  void (*<T6b6>) (void) _8;
  unsigned char _9;
  unsigned char _10;
  unsigned char _11;
  unsigned char _12;
  unsigned char _13;
  unsigned char _14;
  <unnamed type> _15;
  unsigned char _16;
  unsigned char _17;

  <bb 2> [local count: 114863534]:
  # DEBUG BEGIN_STMT
  # DEBUG u8ObjIdx => 0
  # DEBUG BEGIN_STMT
  # DEBUG returnResult => 1
  # DEBUG BEGIN_STMT
  _1 = Can_pControllerConfig_27(D)->Can_u8ControllerOffset;
  returnResult_29 = FlexCAN_Ip_GetBuffStatusFlag (_1, 5);
  # DEBUG returnResult => returnResult_29
  # DEBUG BEGIN_STMT
  goto <bb 14>; [100.00%]

  <bb 3> [local count: 958878293]:
  # DEBUG BEGIN_STMT
  u8ObjIdx_31 = u8ObjIdx_18 + 1;
  # DEBUG u8ObjIdx => u8ObjIdx_31
  # DEBUG BEGIN_STMT
  _2 = Can_pControllerConfig_27(D)->Can_u8ControllerOffset;
  _3 = FlexCAN_Ip_GetBuffStatusFlag (_2, 7);
  if (_3 != 0)
    goto <bb 4>; [33.00%]
  else
    goto <bb 7>; [67.00%]

  <bb 4> [local count: 316429836]:
  # DEBUG BEGIN_STMT
  Det_ReportRuntimeError (80, 0, 8, 1);
  # DEBUG BEGIN_STMT
  _4 = Can_pControllerConfig_27(D)->Can_pLegacyFiFoOvfNotif;
  if (_4 != 0B)
    goto <bb 5>; [70.00%]
  else
    goto <bb 6>; [30.00%]

  <bb 5> [local count: 221500886]:
  # DEBUG BEGIN_STMT
  _4 ();

  <bb 6> [local count: 316429837]:
  # DEBUG BEGIN_STMT
  _5 = Can_pControllerConfig_27(D)->Can_u8ControllerOffset;
  FlexCAN_Ip_ClearBuffStatusFlag (_5, 7);

  <bb 7> [local count: 958878293]:
  # DEBUG BEGIN_STMT
  _6 = Can_pControllerConfig_27(D)->Can_u8ControllerOffset;
  _7 = FlexCAN_Ip_GetBuffStatusFlag (_6, 6);
  if (_7 != 0)
    goto <bb 8>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 8> [local count: 479439146]:
  # DEBUG BEGIN_STMT
  _8 = Can_pControllerConfig_27(D)->Can_pLegacyFiFoWarnNotif;
  if (_8 != 0B)
    goto <bb 9>; [70.00%]
  else
    goto <bb 10>; [30.00%]

  <bb 9> [local count: 335607403]:
  # DEBUG BEGIN_STMT
  _8 ();

  <bb 10> [local count: 479439146]:
  # DEBUG BEGIN_STMT
  _9 = Can_pControllerConfig_27(D)->Can_u8ControllerOffset;
  FlexCAN_Ip_ClearBuffStatusFlag (_9, 6);

  <bb 11> [local count: 958878293]:
  # DEBUG BEGIN_STMT
  _10 = Can_pControllerConfig_27(D)->Can_u8ControllerOffset;
  FlexCAN_Ip_RxFifo (_10, pReceivedDataBuffer_39(D));
  # DEBUG BEGIN_STMT
  _11 = Can_pControllerConfig_27(D)->Can_u8ControllerOffset;
  _12 = Can_pHwObjectConfig_30(D)->Can_u8HwBufferIndex;
  FlexCAN_Ip_MainFunctionRead (_11, _12);
  # DEBUG BEGIN_STMT
  _13 = Can_pControllerConfig_27(D)->Can_u8ControllerOffset;
  _14 = Can_pHwObjectConfig_30(D)->Can_u8HwBufferIndex;
  _15 = FlexCAN_Ip_GetTransferStatus (_13, _14);
  if (_15 == 0)
    goto <bb 12>; [33.00%]
  else
    goto <bb 13>; [67.00%]

  <bb 12> [local count: 316429836]:
  # DEBUG BEGIN_STMT
  # DEBUG D#1 => Can_pControllerConfig_27(D)
  Can_Ipw_ParseData.isra.0 (CanIf_Mailbox_43(D), CanIf_PduInfo_44(D), pReceivedDataBuffer_39(D), Can_pControllerConfig_27(D), Can_pHwObjectConfig_30(D));

  <bb 13> [local count: 958878293]:
  # DEBUG BEGIN_STMT
  _16 = Can_pControllerConfig_27(D)->Can_u8ControllerOffset;
  returnResult_47 = FlexCAN_Ip_GetBuffStatusFlag (_16, 5);
  # DEBUG returnResult => returnResult_47

  <bb 14> [local count: 1073741824]:
  # u8ObjIdx_18 = PHI <0(2), u8ObjIdx_31(13)>
  # returnResult_19 = PHI <returnResult_29(2), returnResult_47(13)>
  # DEBUG returnResult => returnResult_19
  # DEBUG u8ObjIdx => u8ObjIdx_18
  # DEBUG BEGIN_STMT
  _17 = Can_pHwObjectConfig_30(D)->Can_u8ObjectCount;
  if (_17 > u8ObjIdx_18)
    goto <bb 15>; [94.50%]
  else
    goto <bb 16>; [5.50%]

  <bb 15> [local count: 1014686025]:
  if (returnResult_19 != 0)
    goto <bb 3>; [94.50%]
  else
    goto <bb 16>; [5.50%]

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

}


Can_Ipw_InitLegacyFifoFilter (const struct Can_ControllerConfigType * Can_pController, const struct Can_HwObjectConfigType * Can_pHwObject)
{
  struct Flexcan_Ip_IdTableType RxFifoFilters[128];
  Flexcan_Ip_RxFifoIdElementFormatType eElementFormat;
  uint8 u8FiFoFilterIndvCount;
  uint32 u32HwFilterMask;
  uint8 u8HwFilterCount;
  uint8 u8FilterIdx;
  unsigned char _1;
  unsigned char _2;
  unsigned int _3;
  unsigned int _4;
  <unnamed type> _7;
  <unnamed type> _8;
  const struct Can_HwFilterType * _9;
  unsigned int _10;
  unsigned int _11;
  const struct Can_HwFilterType * _12;
  long unsigned int _13;
  long unsigned int _14;
  const struct Can_HwFilterType * _15;
  unsigned int _16;
  unsigned int _17;
  const struct Can_HwFilterType * _18;
  long unsigned int _19;
  long unsigned int _20;
  <unnamed type> _21;
  const struct Can_HwFilterType * _22;
  unsigned int _23;
  unsigned int _24;
  const struct Can_HwFilterType * _25;
  long unsigned int _26;
  long unsigned int _27;
  long unsigned int _28;
  sizetype _29;
  const struct Can_HwFilterType * _30;
  long unsigned int _31;
  long unsigned int _32;
  const struct Can_HwFilterType * _33;
  unsigned int _34;
  unsigned int _35;
  const struct Can_HwFilterType * _36;
  long unsigned int _37;
  long unsigned int _38;
  sizetype _39;
  const struct Can_HwFilterType * _40;
  long unsigned int _41;
  long unsigned int _42;
  <unnamed type> _43;
  const struct Can_HwFilterType * _44;
  unsigned int _45;
  unsigned int _46;
  const struct Can_HwFilterType * _47;
  long unsigned int _48;
  long unsigned int _49;
  long unsigned int _50;
  sizetype _51;
  const struct Can_HwFilterType * _52;
  long unsigned int _53;
  long unsigned int _54;
  long unsigned int _55;
  sizetype _56;
  const struct Can_HwFilterType * _57;
  long unsigned int _58;
  long unsigned int _59;
  long unsigned int _60;
  sizetype _61;
  const struct Can_HwFilterType * _62;
  long unsigned int _63;
  long unsigned int _64;
  const struct Can_HwFilterType * _65;
  unsigned int _66;
  unsigned int _67;
  const struct Can_HwFilterType * _68;
  long unsigned int _69;
  long unsigned int _70;
  long unsigned int _71;
  sizetype _72;
  const struct Can_HwFilterType * _73;
  long unsigned int _74;
  long unsigned int _75;
  long unsigned int _76;
  sizetype _77;
  const struct Can_HwFilterType * _78;
  long unsigned int _79;
  long unsigned int _80;
  long unsigned int _81;
  sizetype _82;
  const struct Can_HwFilterType * _83;
  long unsigned int _84;
  long unsigned int _85;
  unsigned char _86;
  unsigned char _87;
  unsigned char _88;
  long unsigned int _89;
  const struct Can_HwFilterType * _90;
  unsigned int _91;
  unsigned int _92;
  const struct Can_HwFilterType * _93;
  int _94;
  long unsigned int _95;
  <unnamed type> _96;
  unsigned char _97;

  <bb 2> [local count: 114863532]:
  # DEBUG BEGIN_STMT
  # DEBUG u8FilterIdx => 0
  # DEBUG BEGIN_STMT
  # DEBUG u8HwFilterCount => 0
  # DEBUG BEGIN_STMT
  # DEBUG u32HwFilterMask => 0
  # DEBUG BEGIN_STMT
  # DEBUG u8FiFoFilterIndvCount => 0
  # DEBUG BEGIN_STMT
  # DEBUG eElementFormat => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = Can_pHwObject_110(D)->Can_u8HwFilterCount;
  _2 = _1 >> 2;
  _3 = (unsigned int) _2;
  _4 = _3 + 6;
  if (_4 <= 32)
    goto <bb 3>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 3> [local count: 57431766]:
  # DEBUG BEGIN_STMT
  u8FiFoFilterIndvCount_111 = _2 + 6;
  # DEBUG u8FiFoFilterIndvCount => u8FiFoFilterIndvCount_111

  <bb 4> [local count: 114863532]:
  # u8FiFoFilterIndvCount_103 = PHI <u8FiFoFilterIndvCount_111(3), 32(2)>
  # DEBUG u8FiFoFilterIndvCount => u8FiFoFilterIndvCount_103
  # DEBUG BEGIN_STMT
  # DEBUG u8FilterIdx => 0
  goto <bb 17>; [100.00%]

  <bb 5> [local count: 958878293]:
  # DEBUG BEGIN_STMT
  _7 = Can_pController_112(D)->Can_eLegacyAcceptanceMode;
  if (_7 == 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 9>; [50.00%]

  <bb 6> [local count: 479439146]:
  # DEBUG BEGIN_STMT
  # DEBUG u8HwFilterCount => _87
  # DEBUG BEGIN_STMT
  # DEBUG u32HwFilterMask => 3221225472
  # DEBUG BEGIN_STMT
  # DEBUG eElementFormat => 0
  # DEBUG BEGIN_STMT
  _8 = Can_pHwObject_110(D)->Can_IdMessage;
  if (_8 != 0)
    goto <bb 7>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 7> [local count: 239719573]:
  # DEBUG BEGIN_STMT
  _9 = Can_pHwObject_110(D)->Can_pHwFilterConfig;
  _10 = (unsigned int) u8FilterIdx_98;
  _11 = _10 * 8;
  _12 = _9 + _11;
  _13 = _12->Can_u32HwFilterMask;
  _14 = _13 << 1;
  u32HwFilterMask_126 = _14 | 3221225472;
  # DEBUG u32HwFilterMask => u32HwFilterMask_126
  goto <bb 16>; [100.00%]

  <bb 8> [local count: 239719573]:
  # DEBUG BEGIN_STMT
  _15 = Can_pHwObject_110(D)->Can_pHwFilterConfig;
  _16 = (unsigned int) u8FilterIdx_98;
  _17 = _16 * 8;
  _18 = _15 + _17;
  _19 = _18->Can_u32HwFilterMask;
  _20 = _19 << 19;
  u32HwFilterMask_125 = _20 | 3221225472;
  # DEBUG u32HwFilterMask => u32HwFilterMask_125
  goto <bb 16>; [100.00%]

  <bb 9> [local count: 479439146]:
  # DEBUG BEGIN_STMT
  if (_7 == 1)
    goto <bb 10>; [34.00%]
  else
    goto <bb 13>; [66.00%]

  <bb 10> [local count: 163009310]:
  # DEBUG BEGIN_STMT
  u8HwFilterCount_120 = _87 * 2;
  # DEBUG u8HwFilterCount => u8HwFilterCount_120
  # DEBUG BEGIN_STMT
  # DEBUG u32HwFilterMask => 3221274624
  # DEBUG BEGIN_STMT
  # DEBUG eElementFormat => 1
  # DEBUG BEGIN_STMT
  _21 = Can_pHwObject_110(D)->Can_IdMessage;
  if (_21 != 0)
    goto <bb 11>; [50.00%]
  else
    goto <bb 12>; [50.00%]

  <bb 11> [local count: 81504655]:
  # DEBUG BEGIN_STMT
  _22 = Can_pHwObject_110(D)->Can_pHwFilterConfig;
  _23 = (unsigned int) u8FilterIdx_98;
  _24 = _23 * 16;
  _25 = _22 + _24;
  _26 = _25->Can_u32HwFilterMask;
  _27 = _26 >> 15;
  _28 = _27 << 16;
  u32HwFilterMask_123 = _28 | 3221274624;
  # DEBUG u32HwFilterMask => u32HwFilterMask_123
  # DEBUG BEGIN_STMT
  _29 = _24 + 8;
  _30 = _22 + _29;
  _31 = _30->Can_u32HwFilterMask;
  _32 = _31 >> 15;
  u32HwFilterMask_124 = _32 | u32HwFilterMask_123;
  # DEBUG u32HwFilterMask => u32HwFilterMask_124
  goto <bb 16>; [100.00%]

  <bb 12> [local count: 81504655]:
  # DEBUG BEGIN_STMT
  _33 = Can_pHwObject_110(D)->Can_pHwFilterConfig;
  _34 = (unsigned int) u8FilterIdx_98;
  _35 = _34 * 16;
  _36 = _33 + _35;
  _37 = _36->Can_u32HwFilterMask;
  _38 = _37 << 19;
  u32HwFilterMask_121 = _38 | 3221274624;
  # DEBUG u32HwFilterMask => u32HwFilterMask_121
  # DEBUG BEGIN_STMT
  _39 = _35 + 8;
  _40 = _33 + _39;
  _41 = _40->Can_u32HwFilterMask;
  _42 = _41 << 3;
  u32HwFilterMask_122 = _42 | u32HwFilterMask_121;
  # DEBUG u32HwFilterMask => u32HwFilterMask_122
  goto <bb 16>; [100.00%]

  <bb 13> [local count: 316429836]:
  # DEBUG BEGIN_STMT
  u8HwFilterCount_113 = _87 * 4;
  # DEBUG u8HwFilterCount => u8HwFilterCount_113
  # DEBUG BEGIN_STMT
  # DEBUG u32HwFilterMask => 0
  # DEBUG BEGIN_STMT
  # DEBUG eElementFormat => 2
  # DEBUG BEGIN_STMT
  _43 = Can_pHwObject_110(D)->Can_IdMessage;
  if (_43 != 0)
    goto <bb 14>; [50.00%]
  else
    goto <bb 15>; [50.00%]

  <bb 14> [local count: 158214918]:
  # DEBUG BEGIN_STMT
  _44 = Can_pHwObject_110(D)->Can_pHwFilterConfig;
  _45 = (unsigned int) u8FilterIdx_98;
  _46 = _45 * 32;
  _47 = _44 + _46;
  _48 = _47->Can_u32HwFilterMask;
  _49 = _48 >> 21;
  _50 = _49 << 24;
  # DEBUG u32HwFilterMask => _50
  # DEBUG BEGIN_STMT
  _51 = _46 + 8;
  _52 = _44 + _51;
  _53 = _52->Can_u32HwFilterMask;
  _54 = _53 >> 21;
  _55 = _54 << 16;
  u32HwFilterMask_117 = _50 | _55;
  # DEBUG u32HwFilterMask => u32HwFilterMask_117
  # DEBUG BEGIN_STMT
  _56 = _46 + 16;
  _57 = _44 + _56;
  _58 = _57->Can_u32HwFilterMask;
  _59 = _58 >> 21;
  _60 = _59 << 8;
  u32HwFilterMask_118 = _60 | u32HwFilterMask_117;
  # DEBUG u32HwFilterMask => u32HwFilterMask_118
  # DEBUG BEGIN_STMT
  _61 = _46 + 24;
  _62 = _44 + _61;
  _63 = _62->Can_u32HwFilterMask;
  _64 = _63 >> 21;
  u32HwFilterMask_119 = _64 | u32HwFilterMask_118;
  # DEBUG u32HwFilterMask => u32HwFilterMask_119
  goto <bb 16>; [100.00%]

  <bb 15> [local count: 158214918]:
  # DEBUG BEGIN_STMT
  _65 = Can_pHwObject_110(D)->Can_pHwFilterConfig;
  _66 = (unsigned int) u8FilterIdx_98;
  _67 = _66 * 32;
  _68 = _65 + _67;
  _69 = _68->Can_u32HwFilterMask;
  _70 = _69 >> 3;
  _71 = _70 << 24;
  # DEBUG u32HwFilterMask => _71
  # DEBUG BEGIN_STMT
  _72 = _67 + 8;
  _73 = _65 + _72;
  _74 = _73->Can_u32HwFilterMask;
  _75 = _74 >> 3;
  _76 = _75 << 16;
  u32HwFilterMask_114 = _71 | _76;
  # DEBUG u32HwFilterMask => u32HwFilterMask_114
  # DEBUG BEGIN_STMT
  _77 = _67 + 16;
  _78 = _65 + _77;
  _79 = _78->Can_u32HwFilterMask;
  _80 = _79 >> 3;
  _81 = _80 << 8;
  u32HwFilterMask_115 = _81 | u32HwFilterMask_114;
  # DEBUG u32HwFilterMask => u32HwFilterMask_115
  # DEBUG BEGIN_STMT
  _82 = _67 + 24;
  _83 = _65 + _82;
  _84 = _83->Can_u32HwFilterMask;
  _85 = _84 >> 3;
  u32HwFilterMask_116 = _85 | u32HwFilterMask_115;
  # DEBUG u32HwFilterMask => u32HwFilterMask_116

  <bb 16> [local count: 958878293]:
  # u8HwFilterCount_100 = PHI <_87(8), u8HwFilterCount_120(12), u8HwFilterCount_113(14), u8HwFilterCount_113(15), _87(7), u8HwFilterCount_120(11)>
  # u32HwFilterMask_102 = PHI <u32HwFilterMask_125(8), u32HwFilterMask_122(12), u32HwFilterMask_119(14), u32HwFilterMask_116(15), u32HwFilterMask_126(7), u32HwFilterMask_124(11)>
  # eElementFormat_104 = PHI <0(8), 1(12), 2(14), 2(15), 0(7), 1(11)>
  # DEBUG eElementFormat => eElementFormat_104
  # DEBUG u32HwFilterMask => u32HwFilterMask_102
  # DEBUG u8HwFilterCount => u8HwFilterCount_100
  # DEBUG BEGIN_STMT
  _86 = Can_pController_112(D)->Can_u8ControllerOffset;
  FlexCAN_Ip_SetRxIndividualMask_Privileged (_86, u8FilterIdx_98, u32HwFilterMask_102);
  # DEBUG BEGIN_STMT
  u8FilterIdx_128 = u8FilterIdx_98 + 1;
  # DEBUG u8FilterIdx => u8FilterIdx_128

  <bb 17> [local count: 1073741824]:
  # u8FilterIdx_98 = PHI <0(4), u8FilterIdx_128(16)>
  # u8HwFilterCount_101 = PHI <0(4), u8HwFilterCount_100(16)>
  # eElementFormat_105 = PHI <0(4), eElementFormat_104(16)>
  # DEBUG eElementFormat => eElementFormat_105
  # DEBUG u8HwFilterCount => u8HwFilterCount_101
  # DEBUG u8FilterIdx => u8FilterIdx_98
  # DEBUG BEGIN_STMT
  if (u8FilterIdx_98 < u8FiFoFilterIndvCount_103)
    goto <bb 18>; [94.50%]
  else
    goto <bb 19>; [5.50%]

  <bb 18> [local count: 1014686025]:
  _87 = Can_pHwObject_110(D)->Can_u8HwFilterCount;
  if (_87 > u8FilterIdx_98)
    goto <bb 5>; [94.50%]
  else
    goto <bb 19>; [5.50%]

  <bb 19> [local count: 114863532]:
  # u8HwFilterCount_5 = PHI <u8HwFilterCount_101(17), u8HwFilterCount_101(18)>
  # eElementFormat_6 = PHI <eElementFormat_105(17), eElementFormat_105(18)>
  # DEBUG BEGIN_STMT
  _88 = Can_pController_112(D)->Can_u8ControllerOffset;
  _89 = Can_pController_112(D)->Can_u32LegacyGlobalMask;
  FlexCAN_Ip_SetRxFifoGlobalMask_Privileged (_88, _89);
  # DEBUG BEGIN_STMT
  # DEBUG u8FilterIdx => 0
  goto <bb 24>; [100.00%]

  <bb 20> [local count: 929350398]:
  # DEBUG BEGIN_STMT
  _90 = Can_pHwObject_110(D)->Can_pHwFilterConfig;
  _91 = (unsigned int) u8FilterIdx_99;
  _92 = _91 * 8;
  _93 = _90 + _92;
  _94 = (int) u8FilterIdx_99;
  _95 = _93->Can_u32HwFilterCode;
  RxFifoFilters[_94].id = _95;
  # DEBUG BEGIN_STMT
  _96 = Can_pHwObject_110(D)->Can_IdMessage;
  if (_96 != 0)
    goto <bb 21>; [50.00%]
  else
    goto <bb 22>; [50.00%]

  <bb 21> [local count: 464675199]:
  # DEBUG BEGIN_STMT
  RxFifoFilters[_94].isExtendedFrame = 1;
  goto <bb 23>; [100.00%]

  <bb 22> [local count: 464675199]:
  # DEBUG BEGIN_STMT
  RxFifoFilters[_94].isExtendedFrame = 0;

  <bb 23> [local count: 929350398]:
  # DEBUG BEGIN_STMT
  RxFifoFilters[_94].isRemoteFrame = 0;
  # DEBUG BEGIN_STMT
  u8FilterIdx_136 = u8FilterIdx_99 + 1;
  # DEBUG u8FilterIdx => u8FilterIdx_136

  <bb 24> [local count: 1044213930]:
  # u8FilterIdx_99 = PHI <0(19), u8FilterIdx_136(23)>
  # DEBUG u8FilterIdx => u8FilterIdx_99
  # DEBUG BEGIN_STMT
  if (u8HwFilterCount_5 > u8FilterIdx_99)
    goto <bb 20>; [89.00%]
  else
    goto <bb 25>; [11.00%]

  <bb 25> [local count: 114863532]:
  # DEBUG BEGIN_STMT
  _97 = Can_pController_112(D)->Can_u8ControllerOffset;
  FlexCAN_Ip_ConfigRxFifo_Privileged (_97, eElementFormat_6, &RxFifoFilters[0]);
  RxFifoFilters ={v} {CLOBBER};
  return;

}


