Gpt_ValidateChannelStatus.part.0 (uint8 u8ServiceId)
{
  Std_ReturnType returnValue;
  Gpt_ChannelType channel;
  uint32 coreID;

  <bb 4> [local count: 1073741824]:
  # DEBUG D#16 s=> channel
  # DEBUG channel => D#16
  # DEBUG D#15 s=> coreID
  # DEBUG coreID => D#15

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  Det_ReportRuntimeError (100, 0, u8ServiceId_1(D), 11);

  <bb 3> [local count: 1073741824]:
  # returnValue_2 = PHI <1(2)>
  # DEBUG returnValue => returnValue_2
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return returnValue_2;

}


Gpt_ValidateChannelNotification.part.0 (uint8 u8ServiceId)
{
  Std_ReturnType returnValue;
  uint8 ChannelIndex;
  Gpt_ChannelType channel;
  uint32 coreID;

  <bb 4> [local count: 1073741824]:
  # DEBUG D#12 s=> channel
  # DEBUG channel => D#12
  # DEBUG D#11 s=> coreID
  # DEBUG coreID => D#11

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  Det_ReportError (100, 0, u8ServiceId_1(D), 20);

  <bb 3> [local count: 1073741824]:
  # returnValue_2 = PHI <1(2)>
  # DEBUG returnValue => returnValue_2
  # DEBUG BEGIN_STMT
  return returnValue_2;

}


Gpt_ValidateChannelCall.part.0 (uint8 u8ServiceId)
{
  Std_ReturnType returnValue;
  Gpt_ChannelType channel;
  uint32 coreID;

  <bb 4> [local count: 1073741824]:
  # DEBUG D#8 s=> channel
  # DEBUG channel => D#8
  # DEBUG D#7 s=> coreID
  # DEBUG coreID => D#7

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  Det_ReportError (100, 0, u8ServiceId_1(D), 24);

  <bb 3> [local count: 1073741824]:
  # returnValue_2 = PHI <1(2)>
  # DEBUG returnValue => returnValue_2
  # DEBUG BEGIN_STMT
  return returnValue_2;

}


Gpt_ValidateGlobalCall.part.0 ()
{
  Std_ReturnType returnValue;
  uint8 u8ServiceId;
  uint32 coreID;

  <bb 4> [local count: 1073741824]:
  # DEBUG D#4 s=> u8ServiceId
  # DEBUG u8ServiceId => D#4
  # DEBUG D#3 s=> coreID
  # DEBUG coreID => D#3

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  Det_ReportError (100, 0, 1, 13);

  <bb 3> [local count: 1073741824]:
  # returnValue_1 = PHI <1(2)>
  # DEBUG returnValue => returnValue_1
  # DEBUG BEGIN_STMT
  return returnValue_1;

}


Gpt_ProcessCommonInterrupt (uint8 channel)
{
  uint8 ChannelIndex;
  const struct Gpt_ConfigType * _1;
  const uint8[<unknown>] * _2;
  int _3;
  const struct Gpt_ChannelConfigType[<unknown>] * _4;
  int _5;
  <unnamed type> _6;
  <unnamed type> Gpt_eMode.6_7;
  unsigned char _8;
  void (*<T53d>) (void) _9;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG coreID => 0
  # DEBUG BEGIN_STMT
  _1 = Gpt_pConfig[0];
  if (_1 != 0B)
    goto <bb 3>; [70.00%]
  else
    goto <bb 8>; [30.00%]

  <bb 3> [local count: 751619278]:
  # DEBUG BEGIN_STMT
  _2 = _1->u8GptChannelIdToIndexMap;
  _3 = (int) channel_13(D);
  ChannelIndex_14 = *_2[_3];
  # DEBUG ChannelIndex => ChannelIndex_14
  # DEBUG BEGIN_STMT
  _4 = _1->Gpt_pChannelConfig;
  _5 = (int) ChannelIndex_14;
  _6 = *_4[_5].Gpt_eChannelMode;
  if (_6 == 1)
    goto <bb 4>; [34.00%]
  else
    goto <bb 5>; [66.00%]

  <bb 4> [local count: 255550554]:
  # DEBUG BEGIN_STMT
  Gpt_aChannelInfo[_3].eChannelStatus = 3;

  <bb 5> [local count: 751619278]:
  # DEBUG BEGIN_STMT
  Gpt_eMode.6_7 ={v} Gpt_eMode;
  if (Gpt_eMode.6_7 == 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 6> [local count: 375809639]:
  _8 = Gpt_aChannelInfo[_3].bNotificationEnabled;
  if (_8 == 1)
    goto <bb 7>; [34.00%]
  else
    goto <bb 8>; [66.00%]

  <bb 7> [local count: 127775277]:
  # DEBUG BEGIN_STMT
  _9 = *_4[_5].Gpt_pfNotification;
  _9 ();

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

}


Gpt_DisableNotification (Gpt_ChannelType channel)
{
  uint8 ChannelIndex;
  unsigned char _1;
  unsigned char _2;
  const struct Gpt_ConfigType * _3;
  const uint8[<unknown>] * _4;
  int _5;
  <unnamed type> Gpt_eMode.5_6;
  const struct Gpt_ChannelConfigType[<unknown>] * _7;
  int _8;
  <unnamed type> _9;
  <unnamed type> _10;
  struct Gpt_Ipw_HwChannelConfigType * _11;

  <bb 2> [local count: 1073741823]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG coreID => 0
  # DEBUG BEGIN_STMT
  _1 = Gpt_ValidateChannelCall (8, channel_14(D), 0);
  if (_1 == 0)
    goto <bb 3>; [33.00%]
  else
    goto <bb 8>; [67.00%]

  <bb 3> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  _2 = Gpt_ValidateChannelNotification (8, channel_14(D), 0);
  if (_2 == 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 4> [local count: 177167401]:
  # DEBUG BEGIN_STMT
  _3 = Gpt_pConfig[0];
  _4 = _3->u8GptChannelIdToIndexMap;
  _5 = (int) channel_14(D);
  ChannelIndex_17 = *_4[_5];
  # DEBUG ChannelIndex => ChannelIndex_17
  # DEBUG BEGIN_STMT
  Gpt_aChannelInfo[_5].bNotificationEnabled = 0;
  # DEBUG BEGIN_STMT
  Gpt_eMode.5_6 ={v} Gpt_eMode;
  if (Gpt_eMode.5_6 == 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 5> [local count: 88583700]:
  _7 = _3->Gpt_pChannelConfig;
  _8 = (int) ChannelIndex_17;
  _9 = *_7[_8].Gpt_eChannelMode;
  if (_9 == 0)
    goto <bb 7>; [33.00%]
  else
    goto <bb 6>; [67.00%]

  <bb 6> [local count: 59351079]:
  _10 = Gpt_aChannelInfo[_5].eChannelStatus;
  if (_10 != 4)
    goto <bb 7>; [66.00%]
  else
    goto <bb 8>; [34.00%]

  <bb 7> [local count: 68404334]:
  # DEBUG BEGIN_STMT
  _11 = *_7[_8].Gpt_Ipw_HwChannelConfig;
  Gpt_Ipw_DisableInterrupt (_11);

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

}


Gpt_EnableNotification (Gpt_ChannelType channel)
{
  uint8 ChannelIndex;
  unsigned char _1;
  unsigned char _2;
  const struct Gpt_ConfigType * _3;
  const uint8[<unknown>] * _4;
  int _5;
  <unnamed type> Gpt_eMode.4_6;
  const struct Gpt_ChannelConfigType[<unknown>] * _7;
  int _8;
  struct Gpt_Ipw_HwChannelConfigType * _9;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG coreID => 0
  # DEBUG BEGIN_STMT
  _1 = Gpt_ValidateChannelCall (7, channel_12(D), 0);
  if (_1 == 0)
    goto <bb 3>; [33.00%]
  else
    goto <bb 6>; [67.00%]

  <bb 3> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  _2 = Gpt_ValidateChannelNotification (7, channel_12(D), 0);
  if (_2 == 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 4> [local count: 177167401]:
  # DEBUG BEGIN_STMT
  _3 = Gpt_pConfig[0];
  _4 = _3->u8GptChannelIdToIndexMap;
  _5 = (int) channel_12(D);
  ChannelIndex_15 = *_4[_5];
  # DEBUG ChannelIndex => ChannelIndex_15
  # DEBUG BEGIN_STMT
  Gpt_aChannelInfo[_5].bNotificationEnabled = 1;
  # DEBUG BEGIN_STMT
  Gpt_eMode.4_6 ={v} Gpt_eMode;
  if (Gpt_eMode.4_6 == 0)
    goto <bb 5>; [33.00%]
  else
    goto <bb 6>; [67.00%]

  <bb 5> [local count: 58465242]:
  # DEBUG BEGIN_STMT
  _7 = _3->Gpt_pChannelConfig;
  _8 = (int) ChannelIndex_15;
  _9 = *_7[_8].Gpt_Ipw_HwChannelConfig;
  Gpt_Ipw_EnableInterrupt (_9);

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

}


Gpt_StopTimer (Gpt_ChannelType channel)
{
  Gpt_ValueType uElapsedTime;
  static struct Gpt_HwChannelInfoType returnHwChannelInfo;
  uint8 ChannelIndex;
  unsigned char _1;
  const struct Gpt_ConfigType * _2;
  const uint8[<unknown>] * _3;
  int _4;
  const struct Gpt_ChannelConfigType[<unknown>] * _5;
  int _6;
  struct Gpt_Ipw_HwChannelConfigType * _7;
  <unnamed type> _8;
  const struct Gpt_ConfigType * _9;
  const struct Gpt_ChannelConfigType[<unknown>] * _10;
  struct Gpt_Ipw_HwChannelConfigType * _11;
  unsigned char _12;
  const struct Gpt_ConfigType * _13;
  const struct Gpt_ChannelConfigType[<unknown>] * _14;
  <unnamed type> _15;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG coreID => 0
  # DEBUG BEGIN_STMT
  returnHwChannelInfo.bChannelRollover = 0;
  # DEBUG BEGIN_STMT
  returnHwChannelInfo.uTargetTime = 0;
  # DEBUG BEGIN_STMT
  _1 = Gpt_ValidateChannelCall (6, channel_20(D), 0);
  if (_1 == 0)
    goto <bb 3>; [33.00%]
  else
    goto <bb 8>; [67.00%]

  <bb 3> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  _2 = Gpt_pConfig[0];
  _3 = _2->u8GptChannelIdToIndexMap;
  _4 = (int) channel_20(D);
  ChannelIndex_22 = *_3[_4];
  # DEBUG ChannelIndex => ChannelIndex_22
  # DEBUG BEGIN_STMT
  _5 = _2->Gpt_pChannelConfig;
  _6 = (int) ChannelIndex_22;
  _7 = *_5[_6].Gpt_Ipw_HwChannelConfig;
  uElapsedTime_24 = Gpt_Ipw_GetTimeElapsed (_7, &returnHwChannelInfo);
  # DEBUG uElapsedTime => uElapsedTime_24
  # DEBUG BEGIN_STMT
  _8 = Gpt_aChannelInfo[_4].eChannelStatus;
  if (_8 == 4)
    goto <bb 4>; [20.24%]
  else
    goto <bb 8>; [79.76%]

  <bb 4> [local count: 71717364]:
  # DEBUG BEGIN_STMT
  _9 = Gpt_pConfig[0];
  _10 = _9->Gpt_pChannelConfig;
  _11 = *_10[_6].Gpt_Ipw_HwChannelConfig;
  Gpt_Ipw_StopTimer (_11);
  # DEBUG BEGIN_STMT
  _12 = returnHwChannelInfo.bChannelRollover;
  if (_12 == 1)
    goto <bb 5>; [34.00%]
  else
    goto <bb 7>; [66.00%]

  <bb 5> [local count: 24383904]:
  _13 = Gpt_pConfig[0];
  _14 = _13->Gpt_pChannelConfig;
  _15 = *_14[_6].Gpt_eChannelMode;
  if (_15 == 1)
    goto <bb 6>; [34.00%]
  else
    goto <bb 7>; [66.00%]

  <bb 6> [local count: 8290527]:
  # DEBUG BEGIN_STMT
  Gpt_aChannelInfo[_4].eChannelStatus = 3;
  goto <bb 8>; [100.00%]

  <bb 7> [local count: 63426837]:
  # DEBUG BEGIN_STMT
  Gpt_aStopTime[_4] ={v} uElapsedTime_24;
  # DEBUG BEGIN_STMT
  Gpt_aChannelInfo[_4].eChannelStatus = 2;

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

}


Gpt_StartTimer (Gpt_ChannelType channel, Gpt_ValueType value)
{
  Std_ReturnType returnValue;
  uint8 ChannelIndex;
  unsigned char _1;
  unsigned char _2;
  const struct Gpt_ConfigType * _3;
  const uint8[<unknown>] * _4;
  int _5;
  const struct Gpt_ChannelConfigType[<unknown>] * _6;
  int _7;
  <unnamed type> _8;
  struct Gpt_Ipw_HwChannelConfigType * _9;
  const struct Gpt_ConfigType * _10;
  const struct Gpt_ChannelConfigType[<unknown>] * _11;
  struct Gpt_Ipw_HwChannelConfigType * _12;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG coreID => 0
  # DEBUG BEGIN_STMT
  _1 = Gpt_ValidateChannelStatus (5, channel_16(D), 0);
  if (_1 == 0)
    goto <bb 3>; [33.00%]
  else
    goto <bb 8>; [67.00%]

  <bb 3> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  _2 = Gpt_ValidateParamValue (5, channel_16(D), value_18(D), 0);
  if (_2 == 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 4> [local count: 177167401]:
  # DEBUG BEGIN_STMT
  _3 = Gpt_pConfig[0];
  _4 = _3->u8GptChannelIdToIndexMap;
  _5 = (int) channel_16(D);
  ChannelIndex_20 = *_4[_5];
  # DEBUG ChannelIndex => ChannelIndex_20
  # DEBUG BEGIN_STMT
  _6 = _3->Gpt_pChannelConfig;
  _7 = (int) ChannelIndex_20;
  _8 = *_6[_7].Gpt_eChannelMode;
  if (_8 == 1)
    goto <bb 5>; [20.24%]
  else
    goto <bb 6>; [79.76%]

  <bb 5> [local count: 35858682]:
  # DEBUG BEGIN_STMT
  _9 = *_6[_7].Gpt_Ipw_HwChannelConfig;
  Gpt_Ipw_EnableInterrupt (_9);

  <bb 6> [local count: 177167401]:
  # DEBUG BEGIN_STMT
  Gpt_aChannelInfo[_5].eChannelStatus = 4;
  # DEBUG BEGIN_STMT
  _10 = Gpt_pConfig[0];
  _11 = _10->Gpt_pChannelConfig;
  _12 = *_11[_7].Gpt_Ipw_HwChannelConfig;
  returnValue_24 = Gpt_Ipw_StartTimer (_12, value_18(D));
  # DEBUG returnValue => returnValue_24
  # DEBUG BEGIN_STMT
  if (returnValue_24 != 0)
    goto <bb 7>; [33.00%]
  else
    goto <bb 8>; [67.00%]

  <bb 7> [local count: 58465242]:
  # DEBUG BEGIN_STMT
  Det_ReportRuntimeError (100, 0, 5, 43);

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

}


Gpt_GetTimeRemaining (Gpt_ChannelType channel)
{
  Gpt_ValueType returnValue;
  static struct Gpt_HwChannelInfoType returnHwChannelInfo;
  uint8 ChannelIndex;
  unsigned char _1;
  const struct Gpt_ConfigType * _2;
  const uint8[<unknown>] * _3;
  int _4;
  const struct Gpt_ChannelConfigType[<unknown>] * _5;
  int _6;
  struct Gpt_Ipw_HwChannelConfigType * _7;
  <unnamed type> _8;
  unsigned char _9;
  const struct Gpt_ConfigType * _10;
  const struct Gpt_ChannelConfigType[<unknown>] * _11;
  <unnamed type> _12;
  long unsigned int _13;
  long unsigned int _14;
  long unsigned int _15;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG returnValue => 0
  # DEBUG BEGIN_STMT
  # DEBUG coreID => 0
  # DEBUG BEGIN_STMT
  returnHwChannelInfo.bChannelRollover = 0;
  # DEBUG BEGIN_STMT
  returnHwChannelInfo.uTargetTime = 0;
  # DEBUG BEGIN_STMT
  _1 = Gpt_ValidateChannelCall (4, channel_21(D), 0);
  if (_1 == 0)
    goto <bb 3>; [33.00%]
  else
    goto <bb 10>; [67.00%]

  <bb 3> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  _2 = Gpt_pConfig[0];
  _3 = _2->u8GptChannelIdToIndexMap;
  _4 = (int) channel_21(D);
  ChannelIndex_23 = *_3[_4];
  # DEBUG ChannelIndex => ChannelIndex_23
  # DEBUG BEGIN_STMT
  _5 = _2->Gpt_pChannelConfig;
  _6 = (int) ChannelIndex_23;
  _7 = *_5[_6].Gpt_Ipw_HwChannelConfig;
  returnValue_25 = Gpt_Ipw_GetTimeElapsed (_7, &returnHwChannelInfo);
  # DEBUG returnValue => returnValue_25
  # DEBUG BEGIN_STMT
  _8 = Gpt_aChannelInfo[_4].eChannelStatus;
  switch (_8) <default: <L13> [20.00%], case 1: <L6> [20.00%], case 2: <L7> [20.00%], case 3: <L8> [20.00%], case 4: <L1> [20.00%]>

  <bb 4> [local count: 70866960]:
<L1>:
  # DEBUG BEGIN_STMT
  _9 = returnHwChannelInfo.bChannelRollover;
  if (_9 == 1)
    goto <bb 5>; [34.00%]
  else
    goto <bb 6>; [66.00%]

  <bb 5> [local count: 24094767]:
  _10 = Gpt_pConfig[0];
  _11 = _10->Gpt_pChannelConfig;
  _12 = *_11[_6].Gpt_eChannelMode;
  if (_12 == 1)
    goto <bb 10>; [34.00%]
  else
    goto <bb 6>; [66.00%]

  <bb 6> [local count: 62674740]:
  # DEBUG BEGIN_STMT
  _13 = returnHwChannelInfo.uTargetTime;
  returnValue_26 = _13 - returnValue_25;
  # DEBUG returnValue => returnValue_26
  goto <bb 10>; [100.00%]

  <bb 7> [local count: 70866960]:
<L6>:
  # DEBUG BEGIN_STMT
  # DEBUG returnValue => 0
  # DEBUG BEGIN_STMT
  goto <bb 10>; [100.00%]

  <bb 8> [local count: 70866960]:
<L7>:
  # DEBUG BEGIN_STMT
  _14 = returnHwChannelInfo.uTargetTime;
  _15 ={v} Gpt_aStopTime[_4];
  returnValue_27 = _14 - _15;
  # DEBUG returnValue => returnValue_27
  # DEBUG BEGIN_STMT
  goto <bb 10>; [100.00%]

  <bb 9> [local count: 70866960]:
<L8>:
  # DEBUG BEGIN_STMT
  # DEBUG returnValue => 0
  # DEBUG BEGIN_STMT

  <bb 10> [local count: 1073741824]:
  # returnValue_16 = PHI <0(2), returnValue_26(6), 0(7), returnValue_27(8), 0(9), returnValue_25(3), 0(5)>
<L13>:
  # DEBUG returnValue => returnValue_16
  # DEBUG BEGIN_STMT
  return returnValue_16;

}


Gpt_GetTimeElapsed (Gpt_ChannelType channel)
{
  Gpt_ValueType returnValue;
  static struct Gpt_HwChannelInfoType returnHwChannelInfo;
  uint8 ChannelIndex;
  unsigned char _1;
  const struct Gpt_ConfigType * _2;
  const uint8[<unknown>] * _3;
  int _4;
  const struct Gpt_ChannelConfigType[<unknown>] * _5;
  int _6;
  struct Gpt_Ipw_HwChannelConfigType * _7;
  <unnamed type> _8;
  unsigned char _9;
  const struct Gpt_ConfigType * _10;
  const struct Gpt_ChannelConfigType[<unknown>] * _11;
  <unnamed type> _12;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG returnValue => 0
  # DEBUG BEGIN_STMT
  # DEBUG coreID => 0
  # DEBUG BEGIN_STMT
  returnHwChannelInfo.bChannelRollover = 0;
  # DEBUG BEGIN_STMT
  returnHwChannelInfo.uTargetTime = 0;
  # DEBUG BEGIN_STMT
  _1 = Gpt_ValidateChannelCall (3, channel_18(D), 0);
  if (_1 == 0)
    goto <bb 3>; [33.00%]
  else
    goto <bb 10>; [67.00%]

  <bb 3> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  _2 = Gpt_pConfig[0];
  _3 = _2->u8GptChannelIdToIndexMap;
  _4 = (int) channel_18(D);
  ChannelIndex_20 = *_3[_4];
  # DEBUG ChannelIndex => ChannelIndex_20
  # DEBUG BEGIN_STMT
  _5 = _2->Gpt_pChannelConfig;
  _6 = (int) ChannelIndex_20;
  _7 = *_5[_6].Gpt_Ipw_HwChannelConfig;
  returnValue_22 = Gpt_Ipw_GetTimeElapsed (_7, &returnHwChannelInfo);
  # DEBUG returnValue => returnValue_22
  # DEBUG BEGIN_STMT
  _8 = Gpt_aChannelInfo[_4].eChannelStatus;
  switch (_8) <default: <L13> [20.00%], case 1: <L6> [20.00%], case 2: <L7> [20.00%], case 3: <L8> [20.00%], case 4: <L1> [20.00%]>

  <bb 4> [local count: 70866960]:
<L1>:
  # DEBUG BEGIN_STMT
  _9 = returnHwChannelInfo.bChannelRollover;
  if (_9 == 1)
    goto <bb 5>; [34.00%]
  else
    goto <bb 10>; [66.00%]

  <bb 5> [local count: 24094767]:
  _10 = Gpt_pConfig[0];
  _11 = _10->Gpt_pChannelConfig;
  _12 = *_11[_6].Gpt_eChannelMode;
  if (_12 == 1)
    goto <bb 6>; [34.00%]
  else
    goto <bb 10>; [66.00%]

  <bb 6> [local count: 8192221]:
  # DEBUG BEGIN_STMT
  returnValue_23 = returnHwChannelInfo.uTargetTime;
  # DEBUG returnValue => returnValue_23
  goto <bb 10>; [100.00%]

  <bb 7> [local count: 70866960]:
<L6>:
  # DEBUG BEGIN_STMT
  # DEBUG returnValue => 0
  # DEBUG BEGIN_STMT
  goto <bb 10>; [100.00%]

  <bb 8> [local count: 70866960]:
<L7>:
  # DEBUG BEGIN_STMT
  returnValue_25 ={v} Gpt_aStopTime[_4];
  # DEBUG returnValue => returnValue_25
  # DEBUG BEGIN_STMT
  goto <bb 10>; [100.00%]

  <bb 9> [local count: 70866960]:
<L8>:
  # DEBUG BEGIN_STMT
  returnValue_24 = returnHwChannelInfo.uTargetTime;
  # DEBUG returnValue => returnValue_24
  # DEBUG BEGIN_STMT

  <bb 10> [local count: 1073741824]:
  # returnValue_13 = PHI <0(2), returnValue_22(5), 0(7), returnValue_25(8), returnValue_24(9), returnValue_22(3), returnValue_22(4), returnValue_23(6)>
<L13>:
  # DEBUG returnValue => returnValue_13
  # DEBUG BEGIN_STMT
  return returnValue_13;

}


Gpt_DeInit ()
{
  Std_ReturnType allChannelStatus;
  Gpt_ChannelType ChannelIndex;
  Gpt_ChannelType channel;
  unsigned char _1;
  unsigned char _2;
  const struct Gpt_ConfigType * _3;
  unsigned char _4;
  int _5;
  const struct Gpt_ChannelConfigType[<unknown>] * _6;
  int _7;
  struct Gpt_Ipw_HwChannelConfigType * _8;
  const struct Gpt_ConfigType * _9;
  unsigned char _10;

  <bb 2> [local count: 229727064]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG allChannelStatus => 0
  # DEBUG BEGIN_STMT
  # DEBUG coreID => 0
  # DEBUG BEGIN_STMT
  _1 = Gpt_ValidateGlobalCall (2, 0);
  if (_1 == 0)
    goto <bb 14>; [50.00%]
  else
    goto <bb 12>; [50.00%]

  <bb 14> [local count: 114863532]:
  goto <bb 5>; [100.00%]

  <bb 3> [local count: 1014686025]:
  # DEBUG BEGIN_STMT
  channel_21 = Gpt_ConvertChannelIndexToChannel (ChannelIndex_11, 0);
  # DEBUG channel => channel_21
  # DEBUG BEGIN_STMT
  _2 = Gpt_ValidateChannelStatus (2, channel_21, 0);
  if (_2 == 1)
    goto <bb 6>; [5.50%]
  else
    goto <bb 4>; [94.50%]

  <bb 4> [local count: 958878293]:
  # DEBUG BEGIN_STMT
  ChannelIndex_23 = ChannelIndex_11 + 1;
  # DEBUG ChannelIndex => ChannelIndex_23

  <bb 5> [local count: 1073741824]:
  # ChannelIndex_11 = PHI <ChannelIndex_23(4), 0(14)>
  # DEBUG ChannelIndex => ChannelIndex_11
  # DEBUG BEGIN_STMT
  _3 = Gpt_pConfig[0];
  _4 = _3->channelCount;
  if (_4 > ChannelIndex_11)
    goto <bb 3>; [94.50%]
  else
    goto <bb 6>; [5.50%]

  <bb 6> [local count: 114863532]:
  # allChannelStatus_13 = PHI <1(3), 0(5)>
  # DEBUG allChannelStatus => allChannelStatus_13
  # DEBUG BEGIN_STMT
  if (allChannelStatus_13 == 0)
    goto <bb 13>; [50.00%]
  else
    goto <bb 12>; [50.00%]

  <bb 13> [local count: 57431766]:
  goto <bb 10>; [100.00%]

  <bb 7> [local count: 464675199]:
  # DEBUG BEGIN_STMT
  channel_25 = Gpt_ConvertChannelIndexToChannel (ChannelIndex_12, 0);
  # DEBUG channel => channel_25
  # DEBUG BEGIN_STMT
  if (channel_25 <= 1)
    goto <bb 8>; [25.50%]
  else
    goto <bb 9>; [74.50%]

  <bb 8> [local count: 118492176]:
  # DEBUG BEGIN_STMT
  _5 = (int) channel_25;
  Gpt_aChannelInfo[_5].bNotificationEnabled = 0;
  # DEBUG BEGIN_STMT
  Gpt_aChannelInfo[_5].eChannelStatus = 0;
  # DEBUG BEGIN_STMT
  Gpt_aStopTime[_5] ={v} 0;
  # DEBUG BEGIN_STMT
  _6 = _9->Gpt_pChannelConfig;
  _7 = (int) ChannelIndex_12;
  _8 = *_6[_7].Gpt_Ipw_HwChannelConfig;
  Gpt_Ipw_DeInit (_8);

  <bb 9> [local count: 464675200]:
  # DEBUG BEGIN_STMT
  ChannelIndex_30 = ChannelIndex_12 + 1;
  # DEBUG ChannelIndex => ChannelIndex_30

  <bb 10> [local count: 522106965]:
  # ChannelIndex_12 = PHI <ChannelIndex_30(9), 0(13)>
  # DEBUG ChannelIndex => ChannelIndex_12
  # DEBUG BEGIN_STMT
  _9 = Gpt_pConfig[0];
  _10 = _9->channelCount;
  if (_10 > ChannelIndex_12)
    goto <bb 7>; [89.00%]
  else
    goto <bb 11>; [11.00%]

  <bb 11> [local count: 57431766]:
  # DEBUG BEGIN_STMT
  Gpt_pConfig[0] = 0B;

  <bb 12> [local count: 229727064]:
  # DEBUG BEGIN_STMT
  return;

}


Gpt_Init (const struct Gpt_ConfigType * configPtr)
{
  Gpt_ChannelType channel;
  Gpt_ChannelType ChannelIndex;
  unsigned char _1;
  unsigned char _2;
  int _3;
  const struct Gpt_ChannelConfigType[<unknown>] * _4;
  int _5;
  struct Gpt_Ipw_HwChannelConfigType * _6;
  const struct Gpt_ConfigType * _7;
  unsigned char _8;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG coreID => 0
  # DEBUG BEGIN_STMT
  _1 = Gpt_ValidateGlobalCall (1, 0);
  if (_1 == 0)
    goto <bb 3>; [33.00%]
  else
    goto <bb 10>; [67.00%]

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

  <bb 4> [local count: 116930485]:
  # DEBUG BEGIN_STMT
  Gpt_pConfig[0] = &Gpt_Config;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  Gpt_Ipw_InitInstances (&Gpt_Config);
  # DEBUG BEGIN_STMT
  # DEBUG ChannelIndex => 0
  goto <bb 8>; [100.00%]

  <bb 5> [local count: 946073927]:
  # DEBUG BEGIN_STMT
  channel_20 = Gpt_ConvertChannelIndexToChannel (ChannelIndex_9, 0);
  # DEBUG channel => channel_20
  # DEBUG BEGIN_STMT
  if (channel_20 <= 1)
    goto <bb 6>; [41.00%]
  else
    goto <bb 7>; [59.00%]

  <bb 6> [local count: 387890310]:
  # DEBUG BEGIN_STMT
  _3 = (int) channel_20;
  Gpt_aChannelInfo[_3].bNotificationEnabled = 0;
  # DEBUG BEGIN_STMT
  Gpt_aChannelInfo[_3].eChannelStatus = 1;
  # DEBUG BEGIN_STMT
  Gpt_aStopTime[_3] ={v} 0;

  <bb 7> [local count: 946073927]:
  # DEBUG BEGIN_STMT
  _4 = _7->Gpt_pChannelConfig;
  _5 = (int) ChannelIndex_9;
  _6 = *_4[_5].Gpt_Ipw_HwChannelConfig;
  Gpt_Ipw_Init (_6);
  # DEBUG BEGIN_STMT
  ChannelIndex_25 = ChannelIndex_9 + 1;
  # DEBUG ChannelIndex => ChannelIndex_25

  <bb 8> [local count: 1063004412]:
  # ChannelIndex_9 = PHI <0(4), ChannelIndex_25(7)>
  # DEBUG ChannelIndex => ChannelIndex_9
  # DEBUG BEGIN_STMT
  _7 = Gpt_pConfig[0];
  _8 = _7->channelCount;
  if (_8 > ChannelIndex_9)
    goto <bb 5>; [89.00%]
  else
    goto <bb 9>; [11.00%]

  <bb 9> [local count: 116930485]:
  # DEBUG BEGIN_STMT
  Gpt_eMode ={v} 0;

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

}


Gpt_GetVersionInfo (struct Std_VersionInfoType * VersionInfoPtr)
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  if (VersionInfoPtr_2(D) == 0B)
    goto <bb 3>; [17.43%]
  else
    goto <bb 4>; [82.57%]

  <bb 3> [local count: 187153200]:
  # DEBUG BEGIN_STMT
  Det_ReportError (100, 0, 0, 22);
  goto <bb 5>; [100.00%]

  <bb 4> [local count: 886588625]:
  # DEBUG BEGIN_STMT
  VersionInfoPtr_2(D)->vendorID = 43;
  # DEBUG BEGIN_STMT
  VersionInfoPtr_2(D)->moduleID = 100;
  # DEBUG BEGIN_STMT
  VersionInfoPtr_2(D)->sw_major_version = 4;
  # DEBUG BEGIN_STMT
  VersionInfoPtr_2(D)->sw_minor_version = 0;
  # DEBUG BEGIN_STMT
  VersionInfoPtr_2(D)->sw_patch_version = 0;

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

}


Gpt_ValidateParamPtrInit (const struct Gpt_ConfigType * configPtr)
{
  Std_ReturnType returnValue;

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

  <bb 3> [local count: 574129754]:
  # DEBUG BEGIN_STMT
  Det_ReportError (100, 0, 1, 14);

  <bb 4> [local count: 1073741824]:
  # returnValue_1 = PHI <1(3), 0(2)>
  # DEBUG returnValue => returnValue_1
  # DEBUG BEGIN_STMT
  return returnValue_1;

}


