Lpuart_Lin_Ip_ProcessSendFrameData (const uint32 u32Instance, const uint8 tmpByte)
{
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig;
  struct LPUART_Type * base;
  boolean tmpBuffAndSize;
  boolean tmpCheckSumAndSize;
  uint8 tmpSize;
  _Bool _1;
  void (*<T2e6>) (uint32, void *) _2;
  unsigned char _3;
  unsigned char _4;
  unsigned char _5;
  const uint8 * _6;
  unsigned char _7;
  void (*<T2e6>) (uint32, void *) _8;
  const uint8 * _9;
  unsigned char _10;
  unsigned char _11;
  unsigned char _12;
  int _13;
  int _14;
  int _15;
  unsigned char _16;
  unsigned char _17;
  void (*<T2e6>) (uint32, void *) _18;
  <unnamed type> _19;
  int iftmp.29_20;
  int iftmp.30_21;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG sendFlag => 1
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  base_28 = Lpuart_Lin_Ip_apxBases[u32Instance_27(D)];
  # DEBUG base => base_28
  # DEBUG BEGIN_STMT
  pUserConfig_29 = Lpuart_Lin_Ip_apxUserConfigs[u32Instance_27(D)];
  # DEBUG pUserConfig => pUserConfig_29
  # DEBUG BEGIN_STMT
  linCurrentState_30 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_27(D)];
  # DEBUG linCurrentState => linCurrentState_30
  # DEBUG BEGIN_STMT
  _1 = Lpuart_Lin_Ip_HwGetStatusFlag (base_28, 131095);
  if (_1 != 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 3>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  linCurrentState_30->currentEventId ={v} 9;
  # DEBUG BEGIN_STMT
  _2 = pUserConfig_29->Callback;
  if (_2 != 0B)
    goto <bb 4>; [70.00%]
  else
    goto <bb 5>; [30.00%]

  <bb 4> [local count: 375809639]:
  # DEBUG BEGIN_STMT
  _2 (u32Instance_27(D), linCurrentState_30);

  <bb 5> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  linCurrentState_30->isTxBusy ={v} 0;
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_GotoIdleState (u32Instance_27(D));
  # DEBUG BEGIN_STMT
  # DEBUG sendFlag => 0
  # DEBUG BEGIN_STMT
  goto <bb 25>; [100.00%]

  <bb 6> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _3 ={v} linCurrentState_30->txSize;
  _4 = linCurrentState_30->cntByte;
  tmpSize_32 = _3 - _4;
  # DEBUG tmpSize => tmpSize_32
  # DEBUG BEGIN_STMT
  if (tmpSize_32 == 1)
    goto <bb 7>; [34.00%]
  else
    goto <bb 8>; [66.00%]

  <bb 7> [local count: 182536110]:
  _5 = linCurrentState_30->checkSum;
  if (_5 != tmpByte_33(D))
    goto <bb 9>; [66.00%]
  else
    goto <bb 8>; [34.00%]

  <bb 8> [local count: 416397080]:

  <bb 9> [local count: 536870912]:
  # iftmp.29_20 = PHI <1(7), 0(8)>
  tmpCheckSumAndSize_34 = (boolean) iftmp.29_20;
  # DEBUG tmpCheckSumAndSize => tmpCheckSumAndSize_34
  # DEBUG BEGIN_STMT
  _6 = linCurrentState_30->txBuff;
  _7 = *_6;
  if (_7 != tmpByte_33(D))
    goto <bb 10>; [66.00%]
  else
    goto <bb 11>; [34.00%]

  <bb 10> [local count: 354334802]:
  if (tmpSize_32 != 1)
    goto <bb 12>; [66.00%]
  else
    goto <bb 11>; [34.00%]

  <bb 11> [local count: 303009943]:

  <bb 12> [local count: 536870911]:
  # iftmp.30_21 = PHI <1(10), 0(11)>
  tmpBuffAndSize_35 = (boolean) iftmp.30_21;
  # DEBUG tmpBuffAndSize => tmpBuffAndSize_35
  # DEBUG BEGIN_STMT
  if (tmpBuffAndSize_35 != 0)
    goto <bb 14>; [50.00%]
  else
    goto <bb 13>; [50.00%]

  <bb 13> [local count: 268435456]:
  if (tmpCheckSumAndSize_34 != 0)
    goto <bb 14>; [50.00%]
  else
    goto <bb 17>; [50.00%]

  <bb 14> [local count: 402653184]:
  # DEBUG BEGIN_STMT
  linCurrentState_30->currentEventId ={v} 9;
  # DEBUG BEGIN_STMT
  _8 = pUserConfig_29->Callback;
  if (_8 != 0B)
    goto <bb 15>; [70.00%]
  else
    goto <bb 16>; [30.00%]

  <bb 15> [local count: 281857229]:
  # DEBUG BEGIN_STMT
  _8 (u32Instance_27(D), linCurrentState_30);

  <bb 16> [local count: 402653184]:
  # DEBUG BEGIN_STMT
  linCurrentState_30->isTxBusy ={v} 0;
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_GotoIdleState (u32Instance_27(D));
  # DEBUG BEGIN_STMT
  # DEBUG sendFlag => 0
  # DEBUG BEGIN_STMT
  goto <bb 25>; [100.00%]

  <bb 17> [local count: 134217728]:
  # DEBUG BEGIN_STMT
  _9 = _6 + 1;
  linCurrentState_30->txBuff = _9;
  # DEBUG BEGIN_STMT
  _10 = _4 + 1;
  linCurrentState_30->cntByte = _10;
  # DEBUG sendFlag => 1
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _11 ={v} linCurrentState_30->txSize;
  if (_10 < _11)
    goto <bb 18>; [67.00%]
  else
    goto <bb 21>; [33.00%]

  <bb 18> [local count: 89925878]:
  # DEBUG BEGIN_STMT
  _12 ={v} linCurrentState_30->txSize;
  _13 = (int) _12;
  _14 = (int) _10;
  _15 = _13 - _14;
  if (_15 == 1)
    goto <bb 19>; [34.00%]
  else
    goto <bb 20>; [66.00%]

  <bb 19> [local count: 30574798]:
  # DEBUG BEGIN_STMT
  _16 = linCurrentState_30->checkSum;
  # DEBUG base => base_28
  # DEBUG data => _16
  # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwPutchar
  # DEBUG BEGIN_STMT
  # DEBUG D#1 => &base_28->DATA
  # DEBUG dataRegBytes => D#1
  # DEBUG BEGIN_STMT
  MEM[(volatile uint8 *)base_28 + 28B] ={v} _16;
  goto <bb 25>; [100.00%]

  <bb 20> [local count: 59351079]:
  # DEBUG BEGIN_STMT
  _17 = *_9;
  # DEBUG base => base_28
  # DEBUG data => _17
  # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwPutchar
  # DEBUG BEGIN_STMT
  # DEBUG D#1 => &base_28->DATA
  # DEBUG dataRegBytes => D#1
  # DEBUG BEGIN_STMT
  MEM[(volatile uint8 *)base_28 + 28B] ={v} _17;
  goto <bb 25>; [100.00%]

  <bb 21> [local count: 44291850]:
  # DEBUG BEGIN_STMT
  linCurrentState_30->currentEventId ={v} 11;
  # DEBUG BEGIN_STMT
  linCurrentState_30->currentNodeState ={v} 10;
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base_28, 196629, 0);
  # DEBUG BEGIN_STMT
  _18 = pUserConfig_29->Callback;
  if (_18 != 0B)
    goto <bb 22>; [70.00%]
  else
    goto <bb 23>; [30.00%]

  <bb 22> [local count: 31004295]:
  # DEBUG BEGIN_STMT
  _18 (u32Instance_27(D), linCurrentState_30);

  <bb 23> [local count: 44291850]:
  # DEBUG BEGIN_STMT
  linCurrentState_30->isTxBusy ={v} 0;
  # DEBUG BEGIN_STMT
  _19 ={v} linCurrentState_30->currentNodeState;
  if (_19 != 1)
    goto <bb 24>; [48.88%]
  else
    goto <bb 25>; [51.12%]

  <bb 24> [local count: 21649856]:
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_GotoIdleState (u32Instance_27(D));

  <bb 25> [local count: 1073741824]:
  # DEBUG base => NULL
  # DEBUG data => NULL
  # DEBUG base => NULL
  # DEBUG data => NULL
  return;

}


Lpuart_Lin_Ip_ProcessReceiveFrameData (const uint32 u32Instance)
{
  const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig;
  Lpuart_Lin_Ip_StatusType retVal;
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  unsigned char _1;
  unsigned char _2;
  unsigned char _3;
  uint8 * _4;
  unsigned char _5;
  unsigned char _6;
  unsigned char _7;
  unsigned char _8;
  unsigned char _9;
  void (*<T2e6>) (uint32, void *) _10;
  void (*<T2e6>) (uint32, void *) _11;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  linCurrentState_17 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_16(D)];
  # DEBUG linCurrentState => linCurrentState_17
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pUserConfig_18 = Lpuart_Lin_Ip_apxUserConfigs[u32Instance_16(D)];
  # DEBUG pUserConfig => pUserConfig_18
  # DEBUG BEGIN_STMT
  _1 = linCurrentState_17->cntByte;
  _2 ={v} linCurrentState_17->rxSize;
  _3 = _2 + 255;
  _4 = linCurrentState_17->rxBuff;
  retVal_20 = Lpuart_Lin_Ip_GetBytetoBuffer (_1, _3, _4, u32Instance_16(D));
  # DEBUG retVal => retVal_20
  # DEBUG BEGIN_STMT
  _5 = linCurrentState_17->cntByte;
  _6 ={v} linCurrentState_17->rxSize;
  if (_5 < _6)
    goto <bb 3>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _7 = _5 + 1;
  linCurrentState_17->cntByte = _7;

  <bb 4> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  if (retVal_20 == 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 5> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _8 ={v} linCurrentState_17->rxSize;
  _9 = linCurrentState_17->cntByte;
  if (_8 == _9)
    goto <bb 6>; [34.00%]
  else
    goto <bb 11>; [66.00%]

  <bb 6> [local count: 182536110]:
  # DEBUG BEGIN_STMT
  _10 = pUserConfig_18->Callback;
  if (_10 != 0B)
    goto <bb 7>; [70.00%]
  else
    goto <bb 11>; [30.00%]

  <bb 7> [local count: 127775277]:
  # DEBUG BEGIN_STMT
  _10 (u32Instance_16(D), linCurrentState_17);
  goto <bb 11>; [100.00%]

  <bb 8> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _11 = pUserConfig_18->Callback;
  if (_11 != 0B)
    goto <bb 9>; [70.00%]
  else
    goto <bb 10>; [30.00%]

  <bb 9> [local count: 375809639]:
  # DEBUG BEGIN_STMT
  _11 (u32Instance_16(D), linCurrentState_17);

  <bb 10> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  linCurrentState_17->isRxBusy ={v} 0;
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_GotoIdleState (u32Instance_16(D));

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

}


Lpuart_Lin_Ip_ProcessFrameHeader (const uint32 u32Instance, const uint8 tmpByte)
{
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig;
  struct LPUART_Type * base;
  <unnamed type> _1;
  void (*<T2e6>) (uint32, void *) _2;
  unsigned char _3;
  void (*<T2e6>) (uint32, void *) _4;
  _Bool _5;
  unsigned char _6;
  void (*<T2e6>) (uint32, void *) _7;
  void (*<T2e6>) (uint32, void *) _8;
  unsigned char _9;
  void (*<T2e6>) (uint32, void *) _10;
  void (*<T2e6>) (uint32, void *) _11;

  <bb 2> [local count: 1073741823]:
  # DEBUG BEGIN_STMT
  base_17 = Lpuart_Lin_Ip_apxBases[u32Instance_16(D)];
  # DEBUG base => base_17
  # DEBUG BEGIN_STMT
  pUserConfig_18 = Lpuart_Lin_Ip_apxUserConfigs[u32Instance_16(D)];
  # DEBUG pUserConfig => pUserConfig_18
  # DEBUG BEGIN_STMT
  linCurrentState_19 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_16(D)];
  # DEBUG linCurrentState => linCurrentState_19
  # DEBUG BEGIN_STMT
  _1 ={v} linCurrentState_19->currentNodeState;
  switch (_1) <default: <L32> [25.00%], case 4: <L0> [25.00%], case 5: <L6> [25.00%], case 6: <L12> [25.00%]>

  <bb 3> [local count: 268435456]:
<L0>:
  # DEBUG BEGIN_STMT
  if (tmpByte_20(D) == 85)
    goto <bb 4>; [34.00%]
  else
    goto <bb 5>; [66.00%]

  <bb 4> [local count: 91268055]:
  # DEBUG BEGIN_STMT
  linCurrentState_19->currentEventId ={v} 4;
  # DEBUG BEGIN_STMT
  linCurrentState_19->currentNodeState ={v} 6;
  goto <bb 24>; [100.00%]

  <bb 5> [local count: 177167401]:
  # DEBUG BEGIN_STMT
  linCurrentState_19->currentEventId ={v} 5;
  # DEBUG BEGIN_STMT
  _2 = pUserConfig_18->Callback;
  if (_2 != 0B)
    goto <bb 6>; [70.00%]
  else
    goto <bb 7>; [30.00%]

  <bb 6> [local count: 124017180]:
  # DEBUG BEGIN_STMT
  _2 (u32Instance_16(D), linCurrentState_19);

  <bb 7> [local count: 177167401]:
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_GotoIdleState (u32Instance_16(D));
  goto <bb 24>; [100.00%]

  <bb 8> [local count: 268435456]:
<L6>:
  # DEBUG BEGIN_STMT
  if (tmpByte_20(D) == 85)
    goto <bb 9>; [34.00%]
  else
    goto <bb 10>; [66.00%]

  <bb 9> [local count: 91268055]:
  # DEBUG BEGIN_STMT
  linCurrentState_19->currentNodeState ={v} 6;
  # DEBUG BEGIN_STMT
  _3 = linCurrentState_19->currentPid;
  # DEBUG base => base_17
  # DEBUG data => _3
  # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwPutchar
  # DEBUG BEGIN_STMT
  # DEBUG D#1 => &base_17->DATA
  # DEBUG dataRegBytes => D#1
  # DEBUG BEGIN_STMT
  MEM[(volatile uint8 *)base_17 + 28B] ={v} _3;
  goto <bb 24>; [100.00%]

  <bb 10> [local count: 177167401]:
  # DEBUG BEGIN_STMT
  linCurrentState_19->currentEventId ={v} 9;
  # DEBUG BEGIN_STMT
  linCurrentState_19->isBusBusy ={v} 0;
  # DEBUG BEGIN_STMT
  _4 = pUserConfig_18->Callback;
  if (_4 != 0B)
    goto <bb 11>; [70.00%]
  else
    goto <bb 24>; [30.00%]

  <bb 11> [local count: 124017180]:
  # DEBUG BEGIN_STMT
  _4 (u32Instance_16(D), linCurrentState_19);
  goto <bb 24>; [100.00%]

  <bb 12> [local count: 268435456]:
<L12>:
  # DEBUG BEGIN_STMT
  _5 = pUserConfig_18->nodeFunction;
  if (_5 != 0)
    goto <bb 13>; [67.00%]
  else
    goto <bb 18>; [33.00%]

  <bb 13> [local count: 179851755]:
  # DEBUG BEGIN_STMT
  _6 = linCurrentState_19->currentPid;
  if (_6 == tmpByte_20(D))
    goto <bb 14>; [34.00%]
  else
    goto <bb 16>; [66.00%]

  <bb 14> [local count: 61149597]:
  # DEBUG BEGIN_STMT
  linCurrentState_19->currentEventId ={v} 6;
  # DEBUG BEGIN_STMT
  linCurrentState_19->isBusBusy ={v} 0;
  # DEBUG BEGIN_STMT
  _7 = pUserConfig_18->Callback;
  if (_7 != 0B)
    goto <bb 15>; [70.00%]
  else
    goto <bb 24>; [30.00%]

  <bb 15> [local count: 42804718]:
  # DEBUG BEGIN_STMT
  _7 (u32Instance_16(D), linCurrentState_19);
  goto <bb 24>; [100.00%]

  <bb 16> [local count: 118702158]:
  # DEBUG BEGIN_STMT
  linCurrentState_19->currentEventId ={v} 9;
  # DEBUG BEGIN_STMT
  linCurrentState_19->isBusBusy ={v} 0;
  # DEBUG BEGIN_STMT
  _8 = pUserConfig_18->Callback;
  if (_8 != 0B)
    goto <bb 17>; [70.00%]
  else
    goto <bb 24>; [30.00%]

  <bb 17> [local count: 83091511]:
  # DEBUG BEGIN_STMT
  _8 (u32Instance_16(D), linCurrentState_19);
  goto <bb 24>; [100.00%]

  <bb 18> [local count: 88583700]:
  # DEBUG BEGIN_STMT
  _9 = Lin_Ip_ProcessParity (tmpByte_20(D), 0);
  linCurrentState_19->currentId = _9;
  # DEBUG BEGIN_STMT
  linCurrentState_19->currentPid = tmpByte_20(D);
  # DEBUG BEGIN_STMT
  if (_9 != 255)
    goto <bb 19>; [66.00%]
  else
    goto <bb 21>; [34.00%]

  <bb 19> [local count: 58465242]:
  # DEBUG BEGIN_STMT
  linCurrentState_19->currentEventId ={v} 6;
  # DEBUG BEGIN_STMT
  linCurrentState_19->isBusBusy ={v} 0;
  # DEBUG BEGIN_STMT
  _10 = pUserConfig_18->Callback;
  if (_10 != 0B)
    goto <bb 20>; [70.00%]
  else
    goto <bb 24>; [30.00%]

  <bb 20> [local count: 40925670]:
  # DEBUG BEGIN_STMT
  _10 (u32Instance_16(D), linCurrentState_19);
  goto <bb 24>; [100.00%]

  <bb 21> [local count: 30118458]:
  # DEBUG BEGIN_STMT
  linCurrentState_19->currentEventId ={v} 7;
  # DEBUG BEGIN_STMT
  _11 = pUserConfig_18->Callback;
  if (_11 != 0B)
    goto <bb 22>; [70.00%]
  else
    goto <bb 23>; [30.00%]

  <bb 22> [local count: 21082921]:
  # DEBUG BEGIN_STMT
  _11 (u32Instance_16(D), linCurrentState_19);

  <bb 23> [local count: 30118458]:
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_GotoIdleState (u32Instance_16(D));

  <bb 24> [local count: 1073741824]:
<L32>:
  # DEBUG base => NULL
  # DEBUG data => NULL
  return;

}


Lpuart_Lin_Ip_FrameIrqHandler (const uint32 u32Instance)
{
  const struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  const struct LPUART_Type * base;
  _Bool _1;
  _Bool _2;
  <unnamed type> _3;
  long unsigned int _14;
  unsigned char _15;
  long unsigned int _16;
  unsigned char _17;
  long unsigned int _18;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  base_7 = Lpuart_Lin_Ip_apxBases[u32Instance_6(D)];
  # DEBUG base => base_7
  # DEBUG BEGIN_STMT
  linCurrentState_8 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_6(D)];
  # DEBUG linCurrentState => linCurrentState_8
  # DEBUG BEGIN_STMT
  _1 = Lpuart_Lin_Ip_HwGetStatusFlag (base_7, 131093);
  if (_1 != 0)
    goto <bb 3>; [33.00%]
  else
    goto <bb 9>; [67.00%]

  <bb 3> [local count: 354334802]:
  _2 = Lpuart_Lin_Ip_HwGetIntMode (base_7, 196629);
  if (_2 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 9>; [50.00%]

  <bb 4> [local count: 177167401]:
  # DEBUG BEGIN_STMT
  _3 ={v} linCurrentState_8->currentNodeState;
  switch (_3) <default: <L13> [25.00%], case 4 ... 6: <L11> [25.00%], case 7: <L5> [25.00%], case 9: <L12> [25.00%]>

  <bb 5> [local count: 44291850]:
<L11>:
  # DEBUG BEGIN_STMT
  # DEBUG base => base_7
  # DEBUG readData => &tmpByte
  # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwGetchar
  # DEBUG BEGIN_STMT
  _14 ={v} base_7->DATA;
  _15 = (unsigned char) _14;
  # DEBUG tmpByte => _15
  # DEBUG base => NULL
  # DEBUG readData => NULL
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_ProcessFrameHeader (u32Instance_6(D), _15);
  # DEBUG BEGIN_STMT
  goto <bb 9>; [100.00%]

  <bb 6> [local count: 44291850]:
<L5>:
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_ProcessReceiveFrameData (u32Instance_6(D));
  # DEBUG BEGIN_STMT
  goto <bb 9>; [100.00%]

  <bb 7> [local count: 44291850]:
<L12>:
  # DEBUG BEGIN_STMT
  # DEBUG base => base_7
  # DEBUG readData => &tmpByte
  # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwGetchar
  # DEBUG BEGIN_STMT
  _16 ={v} base_7->DATA;
  _17 = (unsigned char) _16;
  # DEBUG tmpByte => _17
  # DEBUG base => NULL
  # DEBUG readData => NULL
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_ProcessSendFrameData (u32Instance_6(D), _17);
  # DEBUG BEGIN_STMT
  goto <bb 9>; [100.00%]

  <bb 8> [local count: 44291850]:
<L13>:
  # DEBUG BEGIN_STMT
  # DEBUG base => base_7
  # DEBUG readData => &tmpByte
  # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwGetchar
  # DEBUG BEGIN_STMT
  _18 ={v} base_7->DATA;
  # DEBUG tmpByte => (unsigned char) _18

  <bb 9> [local count: 1073741824]:
  # DEBUG base => NULL
  # DEBUG readData => NULL
  # DEBUG D#6 => {CLOBBER}
  # DEBUG tmpByte => D#6
  return;

}


Lpuart_Lin_Ip_CheckWakeupSignal (const uint32 u32Instance)
{
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  struct LPUART_Type * base;
  const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig;
  uint32 wakeupSignalLength;
  uint32 (*<T2e1>) (uint32, uint32 *) _1;
  uint32 (*<T2e1>) (uint32, uint32 *) _2;
  long unsigned int wakeupSignalLength.24_3;
  void (*<T2e6>) (uint32, void *) _4;
  long unsigned int _19;
  long unsigned int _20;
  _Bool _21;
  long unsigned int _22;
  long unsigned int _23;
  long unsigned int _24;
  long unsigned int _25;
  long unsigned int _26;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  wakeupSignalLength = 0;
  # DEBUG BEGIN_STMT
  pUserConfig_10 = Lpuart_Lin_Ip_apxUserConfigs[u32Instance_9(D)];
  # DEBUG pUserConfig => pUserConfig_10
  # DEBUG BEGIN_STMT
  base_11 = Lpuart_Lin_Ip_apxBases[u32Instance_9(D)];
  # DEBUG base => base_11
  # DEBUG BEGIN_STMT
  linCurrentState_12 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_9(D)];
  # DEBUG linCurrentState => linCurrentState_12
  # DEBUG BEGIN_STMT
  # DEBUG base => base_11
  # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwGetRxDataPolarity
  # DEBUG BEGIN_STMT
  _19 ={v} MEM[(const struct LPUART_Type *)base_11].STAT;
  _20 = _19 >> 28;
  _21 = (_Bool) _20;
  # DEBUG base => NULL
  if (_21 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 3>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _1 = pUserConfig_10->timerGetTimeIntervalCallback;
  _1 (u32Instance_9(D), &wakeupSignalLength);
  # DEBUG BEGIN_STMT
  # DEBUG base => base_11
  # DEBUG polarity => 1
  # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwSetRxDataPolarity
  # DEBUG BEGIN_STMT
  _22 ={v} base_11->STAT;
  _23 = _22 & 803225599;
  _24 = _23 | 268435456;
  base_11->STAT ={v} _24;
  goto <bb 8>; [100.00%]

  <bb 4> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  # DEBUG base => base_11
  # DEBUG polarity => 0
  # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwSetRxDataPolarity
  # DEBUG BEGIN_STMT
  _25 ={v} base_11->STAT;
  _26 = _25 & 803225599;
  base_11->STAT ={v} _26;
  # DEBUG base => NULL
  # DEBUG polarity => NULL
  # DEBUG BEGIN_STMT
  _2 = pUserConfig_10->timerGetTimeIntervalCallback;
  _2 (u32Instance_9(D), &wakeupSignalLength);
  # DEBUG BEGIN_STMT
  wakeupSignalLength.24_3 = wakeupSignalLength;
  if (wakeupSignalLength.24_3 > 149999)
    goto <bb 5>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 5> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  linCurrentState_12->currentEventId ={v} 1;
  # DEBUG BEGIN_STMT
  _4 = pUserConfig_10->Callback;
  if (_4 != 0B)
    goto <bb 6>; [70.00%]
  else
    goto <bb 7>; [30.00%]

  <bb 6> [local count: 187904819]:
  # DEBUG BEGIN_STMT
  _4 (u32Instance_9(D), linCurrentState_12);

  <bb 7> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_GotoIdleState (u32Instance_9(D));

  <bb 8> [local count: 1073741824]:
  # DEBUG base => NULL
  # DEBUG polarity => NULL
  wakeupSignalLength ={v} {CLOBBER};
  return;

}


Lpuart_Lin_Ip_ProcessBreakDetect (const uint32 u32Instance)
{
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  struct LPUART_Type * base;
  const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig;
  _Bool _1;
  <unnamed type> _2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;
  _Bool _6;
  long unsigned int _7;
  long unsigned int _8;
  long unsigned int _9;
  long unsigned int _29;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  pUserConfig_14 = Lpuart_Lin_Ip_apxUserConfigs[u32Instance_13(D)];
  # DEBUG pUserConfig => pUserConfig_14
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  base_15 = Lpuart_Lin_Ip_apxBases[u32Instance_13(D)];
  # DEBUG base => base_15
  # DEBUG BEGIN_STMT
  linCurrentState_16 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_13(D)];
  # DEBUG linCurrentState => linCurrentState_16
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwClearStatusFlag (base_15, 131103);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetBreakCharDetectLength (base_15, 0);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base_15, 65551, 0);
  # DEBUG BEGIN_STMT
  # DEBUG base => base_15
  # DEBUG readData => &discardData
  # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwGetchar
  # DEBUG BEGIN_STMT
  _29 ={v} MEM[(const struct LPUART_Type *)base_15].DATA;
  # DEBUG discardData => (unsigned char) _29
  # DEBUG base => NULL
  # DEBUG readData => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base_15, 196629, 1);
  # DEBUG BEGIN_STMT
  _1 = pUserConfig_14->nodeFunction;
  if (_1 != 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _2 ={v} linCurrentState_16->currentNodeState;
  if (_2 == 3)
    goto <bb 4>; [34.00%]
  else
    goto <bb 8>; [66.00%]

  <bb 4> [local count: 182536110]:
  # DEBUG BEGIN_STMT
  _3 = pUserConfig_14->u32HeaderTimeoutValue;
  _4 = _3 / 500;
  _5 = _4 + 1;
  # DEBUG u32Instance => u32Instance_13(D)
  # DEBUG u32TimeoutValue => _5
  # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_SetTimeoutCounter
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  linCurrentState_30 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_13(D)];
  # DEBUG linCurrentState => linCurrentState_30
  # DEBUG BEGIN_STMT
  linCurrentState_30->timeoutCounterFlag ={v} 0;
  # DEBUG BEGIN_STMT
  linCurrentState_30->timeoutCounter ={v} _5;
  # DEBUG u32Instance => NULL
  # DEBUG u32TimeoutValue => NULL
  # DEBUG linCurrentState => NULL
  # DEBUG BEGIN_STMT
  linCurrentState_16->currentNodeState ={v} 5;
  # DEBUG BEGIN_STMT
  # DEBUG base => base_15
  # DEBUG data => 85
  # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwPutchar
  # DEBUG BEGIN_STMT
  # DEBUG D#1 => &base_15->DATA
  # DEBUG dataRegBytes => D#1
  # DEBUG BEGIN_STMT
  MEM[(volatile uint8 *)base_15 + 28B] ={v} 85;
  goto <bb 8>; [100.00%]

  <bb 5> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  linCurrentState_16->isBusBusy ={v} 1;
  # DEBUG BEGIN_STMT
  linCurrentState_16->currentEventId ={v} 3;
  # DEBUG BEGIN_STMT
  linCurrentState_16->currentNodeState ={v} 4;
  # DEBUG BEGIN_STMT
  _6 ={v} linCurrentState_16->baudrateEvalEnable;
  if (_6 != 0)
    goto <bb 6>; [33.00%]
  else
    goto <bb 7>; [67.00%]

  <bb 6> [local count: 177167401]:
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base_15, 65550, 1);
  # DEBUG BEGIN_STMT
  linCurrentState_16->fallingEdgeInterruptCount ={v} 0;
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetTransmitterCmd (base_15, 1);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetReceiverCmd (base_15, 1);

  <bb 7> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _7 = pUserConfig_14->u32HeaderTimeoutValue;
  _8 = _7 / 500;
  _9 = _8 + 1;
  # DEBUG u32Instance => u32Instance_13(D)
  # DEBUG u32TimeoutValue => _9
  # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_SetTimeoutCounter
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  linCurrentState_31 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_13(D)];
  # DEBUG linCurrentState => linCurrentState_31
  # DEBUG BEGIN_STMT
  linCurrentState_31->timeoutCounterFlag ={v} 0;
  # DEBUG BEGIN_STMT
  linCurrentState_31->timeoutCounter ={v} _9;

  <bb 8> [local count: 1073741824]:
  # DEBUG u32Instance => NULL
  # DEBUG u32TimeoutValue => NULL
  # DEBUG linCurrentState => NULL
  # DEBUG base => NULL
  # DEBUG data => NULL
  # DEBUG D#4 => {CLOBBER}
  # DEBUG discardData => D#4
  return;

}


Lpuart_Lin_Ip_IRQHandler (const uint32 u32Instance)
{
  boolean bSpuriousIntAvailable;
  boolean activeEdgeIntState;
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  struct LPUART_Type * base;
  const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig;
  _Bool _1;
  _Bool _2;
  _Bool _3;
  _Bool _4;
  _Bool _5;
  _Bool _6;
  _Bool _7;
  _Bool _8;
  _Bool _9;
  void (*<T2e6>) (uint32, void *) _10;
  int iftmp.23_12;

  <bb 2> [local count: 1073741823]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG bSpuriousIntAvailable => 0
  # DEBUG BEGIN_STMT
  pUserConfig_21 = Lpuart_Lin_Ip_apxUserConfigs[u32Instance_20(D)];
  # DEBUG pUserConfig => pUserConfig_21
  # DEBUG BEGIN_STMT
  base_22 = Lpuart_Lin_Ip_apxBases[u32Instance_20(D)];
  # DEBUG base => base_22
  # DEBUG BEGIN_STMT
  linCurrentState_23 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_20(D)];
  # DEBUG linCurrentState => linCurrentState_23
  # DEBUG BEGIN_STMT
  activeEdgeIntState_25 = Lpuart_Lin_Ip_HwGetIntMode (base_22, 65550);
  # DEBUG activeEdgeIntState => activeEdgeIntState_25
  # DEBUG BEGIN_STMT
  if (linCurrentState_23 == 0B)
    goto <bb 3>; [30.00%]
  else
    goto <bb 4>; [70.00%]

  <bb 3> [local count: 322122547]:
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwClearStatusFlag (base_22, 0);
  goto <bb 23>; [100.00%]

  <bb 4> [local count: 751619277]:
  # DEBUG BEGIN_STMT
  _1 = Lpuart_Lin_Ip_HwGetStatusFlag (base_22, 131103);
  if (_1 != 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 5> [local count: 375809638]:
  _2 = Lpuart_Lin_Ip_HwGetIntMode (base_22, 65551);
  if (_2 != 0)
    goto <bb 6>; [33.00%]
  else
    goto <bb 7>; [67.00%]

  <bb 6> [local count: 124017180]:
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_ProcessBreakDetect (u32Instance_20(D));
  goto <bb 17>; [100.00%]

  <bb 7> [local count: 627602097]:
  # DEBUG BEGIN_STMT
  _3 = Lpuart_Lin_Ip_HwGetStatusFlag (base_22, 131102);
  if (_3 != 0)
    goto <bb 8>; [67.00%]
  else
    goto <bb 10>; [33.00%]

  <bb 8> [local count: 420493404]:
  if (activeEdgeIntState_25 != 0)
    goto <bb 9>; [33.00%]
  else
    goto <bb 10>; [67.00%]

  <bb 9> [local count: 138762824]:
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_ProcessWakeupDetect (u32Instance_20(D));
  goto <bb 17>; [100.00%]

  <bb 10> [local count: 488839272]:
  # DEBUG BEGIN_STMT
  _4 = Lpuart_Lin_Ip_HwGetStatusFlag (base_22, 131089);
  if (_4 != 0)
    goto <bb 11>; [50.00%]
  else
    goto <bb 13>; [50.00%]

  <bb 11> [local count: 244419636]:
  _5 = Lpuart_Lin_Ip_HwGetIntMode (base_22, 196633);
  if (_5 != 0)
    goto <bb 12>; [33.00%]
  else
    goto <bb 13>; [67.00%]

  <bb 12> [local count: 80658480]:
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_FrameErrorIrqHandler (u32Instance_20(D));
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_GotoIdleState (u32Instance_20(D));
  goto <bb 17>; [100.00%]

  <bb 13> [local count: 408180792]:
  # DEBUG BEGIN_STMT
  _6 = Lpuart_Lin_Ip_HwGetStatusFlag (base_22, 131093);
  if (_6 != 0)
    goto <bb 14>; [33.00%]
  else
    goto <bb 16>; [67.00%]

  <bb 14> [local count: 134699661]:
  _7 = Lpuart_Lin_Ip_HwGetIntMode (base_22, 196629);
  if (_7 != 0)
    goto <bb 16>; [50.00%]
  else
    goto <bb 24>; [50.00%]

  <bb 24> [local count: 67349831]:

  <bb 16> [local count: 408180791]:
  # iftmp.23_12 = PHI <1(14), 0(24), 0(13)>
  bSpuriousIntAvailable_37 = (boolean) iftmp.23_12;
  # DEBUG bSpuriousIntAvailable => bSpuriousIntAvailable_37
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_FrameIrqHandler (u32Instance_20(D));

  <bb 17> [local count: 751619277]:
  # bSpuriousIntAvailable_11 = PHI <0(6), 0(9), 0(12), bSpuriousIntAvailable_37(16)>
  # DEBUG bSpuriousIntAvailable => bSpuriousIntAvailable_11
  # DEBUG BEGIN_STMT
  _8 = Lpuart_Lin_Ip_HwGetStatusFlag (base_22, 131091);
  if (_8 != 0)
    goto <bb 18>; [33.00%]
  else
    goto <bb 21>; [67.00%]

  <bb 18> [local count: 248034361]:
  _9 = Lpuart_Lin_Ip_HwGetIntMode (base_22, 196635);
  if (_9 != 0)
    goto <bb 19>; [33.00%]
  else
    goto <bb 21>; [67.00%]

  <bb 19> [local count: 81851339]:
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwClearStatusFlag (base_22, 131091);
  # DEBUG BEGIN_STMT
  linCurrentState_23->currentEventId ={v} 13;
  # DEBUG BEGIN_STMT
  _10 = pUserConfig_21->Callback;
  if (_10 != 0B)
    goto <bb 20>; [70.00%]
  else
    goto <bb 23>; [30.00%]

  <bb 20> [local count: 57295937]:
  # DEBUG BEGIN_STMT
  _10 (u32Instance_20(D), linCurrentState_23);
  goto <bb 23>; [100.00%]

  <bb 21> [local count: 669767938]:
  # DEBUG BEGIN_STMT
  if (bSpuriousIntAvailable_11 != 0)
    goto <bb 22>; [33.00%]
  else
    goto <bb 23>; [67.00%]

  <bb 22> [local count: 221023419]:
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwClearStatusFlag (base_22, 0);

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

}


Lpuart_Lin_Ip_GotoIdleState (const uint32 u32Instance)
{
  const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig;
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  struct LPUART_Type * base;
  _Bool _1;
  unsigned char _2;
  long unsigned int _22;
  long unsigned int _23;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  linCurrentState_6 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_5(D)];
  # DEBUG linCurrentState => linCurrentState_6
  # DEBUG BEGIN_STMT
  base_7 = Lpuart_Lin_Ip_apxBases[u32Instance_5(D)];
  # DEBUG base => base_7
  # DEBUG BEGIN_STMT
  pUserConfig_8 = Lpuart_Lin_Ip_apxUserConfigs[u32Instance_5(D)];
  # DEBUG pUserConfig => pUserConfig_8
  # DEBUG BEGIN_STMT
  linCurrentState_6->currentEventId ={v} 0;
  # DEBUG BEGIN_STMT
  # DEBUG base => base_7
  # DEBUG polarity => 0
  # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwSetRxDataPolarity
  # DEBUG BEGIN_STMT
  _22 ={v} base_7->STAT;
  _23 = _22 & 803225599;
  base_7->STAT ={v} _23;
  # DEBUG base => NULL
  # DEBUG polarity => NULL
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base_7, 65550, 0);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base_7, 196633, 1);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base_7, 196629, 0);
  # DEBUG BEGIN_STMT
  _1 = pUserConfig_8->nodeFunction;
  if (_1 != 0)
    goto <bb 4>; [67.00%]
  else
    goto <bb 3>; [33.00%]

  <bb 3> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  _2 = pUserConfig_8->u8BreakLengthDetect;
  Lpuart_Lin_Ip_HwSetBreakCharDetectLength (base_7, _2);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base_7, 65551, 1);

  <bb 4> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  SchM_Enter_Lin_LIN_EXCLUSIVE_AREA_02 ();
  # DEBUG BEGIN_STMT
  linCurrentState_6->currentNodeState ={v} 2;
  # DEBUG BEGIN_STMT
  linCurrentState_6->isBusBusy ={v} 0;
  # DEBUG BEGIN_STMT
  linCurrentState_6->isTxBusy ={v} 0;
  # DEBUG BEGIN_STMT
  linCurrentState_6->isRxBusy ={v} 0;
  # DEBUG BEGIN_STMT
  linCurrentState_6->timeoutCounterFlag ={v} 0;
  # DEBUG BEGIN_STMT
  SchM_Exit_Lin_LIN_EXCLUSIVE_AREA_02 ();
  return;

}


Lpuart_Lin_Ip_MasterSendHeader (const uint32 u32Instance, const uint8 u8Id)
{
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  struct LPUART_Type * base;
  const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig;
  Lpuart_Lin_Ip_StatusType retVal;
  <unnamed type> _1;
  _Bool _2;
  _Bool _3;
  unsigned char _4;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pUserConfig_9 = Lpuart_Lin_Ip_apxUserConfigs[u32Instance_8(D)];
  # DEBUG pUserConfig => pUserConfig_9
  # DEBUG BEGIN_STMT
  base_10 = Lpuart_Lin_Ip_apxBases[u32Instance_8(D)];
  # DEBUG base => base_10
  # DEBUG BEGIN_STMT
  linCurrentState_11 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_8(D)];
  # DEBUG linCurrentState => linCurrentState_11
  # DEBUG BEGIN_STMT
  _1 ={v} linCurrentState_11->currentNodeState;
  # DEBUG checkSleepMode => _1 == 1
  # DEBUG BEGIN_STMT
  _2 = pUserConfig_9->nodeFunction;
  if (_2 != 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 3> [local count: 536870913]:
  if (u8Id_12(D) > 63)
    goto <bb 7>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 4> [local count: 268435456]:
  if (_1 == 1)
    goto <bb 7>; [34.00%]
  else
    goto <bb 5>; [66.00%]

  <bb 5> [local count: 177167401]:
  # DEBUG BEGIN_STMT
  _3 ={v} linCurrentState_11->isBusBusy;
  if (_3 != 0)
    goto <bb 7>; [52.23%]
  else
    goto <bb 6>; [47.77%]

  <bb 6> [local count: 84632867]:
  # DEBUG BEGIN_STMT
  linCurrentState_11->currentId = u8Id_12(D);
  # DEBUG BEGIN_STMT
  _4 = Lin_Ip_ProcessParity (u8Id_12(D), 1);
  linCurrentState_11->currentPid = _4;
  # DEBUG BEGIN_STMT
  linCurrentState_11->currentNodeState ={v} 3;
  # DEBUG BEGIN_STMT
  linCurrentState_11->currentEventId ={v} 0;
  # DEBUG BEGIN_STMT
  linCurrentState_11->isBusBusy ={v} 1;
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetBreakCharDetectLength (base_10, 1);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base_10, 65551, 1);
  # DEBUG BEGIN_STMT
  # DEBUG base => base_10
  # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwQueueBreakField
  # DEBUG BEGIN_STMT
  base_10->DATA ={v} 8192;

  <bb 7> [local count: 1073741824]:
  # retVal_5 = PHI <1(3), 2(5), 0(6), 1(2), 1(4)>
  # DEBUG base => NULL
  # DEBUG retVal => retVal_5
  # DEBUG BEGIN_STMT
  return retVal_5;

}


Lpuart_Lin_Ip_SetTimeoutCounter (const uint32 u32Instance, const uint32 u32TimeoutValue)
{
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  linCurrentState_3 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_2(D)];
  # DEBUG linCurrentState => linCurrentState_3
  # DEBUG BEGIN_STMT
  linCurrentState_3->timeoutCounterFlag ={v} 0;
  # DEBUG BEGIN_STMT
  linCurrentState_3->timeoutCounter ={v} u32TimeoutValue_5(D);
  return;

}


Lpuart_Lin_Ip_TimeoutService (const uint32 u32Instance)
{
  Lpuart_Lin_Ip_NodeStateType state;
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig;
  long unsigned int _1;
  void (*<T2e6>) (uint32, void *) _2;
  long unsigned int _3;
  long unsigned int _4;
  _Bool _5;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  linCurrentState_9 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_8(D)];
  # DEBUG linCurrentState => linCurrentState_9
  # DEBUG BEGIN_STMT
  pUserConfig_10 = Lpuart_Lin_Ip_apxUserConfigs[u32Instance_8(D)];
  # DEBUG pUserConfig => pUserConfig_10
  # DEBUG BEGIN_STMT
  state_11 ={v} linCurrentState_9->currentNodeState;
  # DEBUG state => state_11
  # DEBUG BEGIN_STMT
  switch (state_11) <default: <L14> [50.00%], case 4 ... 7: <L0> [50.00%], case 9: <L0> [50.00%]>

  <bb 3> [local count: 536870913]:
<L0>:
  # DEBUG BEGIN_STMT
  _1 ={v} linCurrentState_9->timeoutCounter;
  if (_1 == 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 4> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  linCurrentState_9->timeoutCounterFlag ={v} 1;
  # DEBUG BEGIN_STMT
  linCurrentState_9->isTxBusy ={v} 0;
  # DEBUG BEGIN_STMT
  linCurrentState_9->currentEventId ={v} 14;
  # DEBUG BEGIN_STMT
  _2 = pUserConfig_10->Callback;
  if (_2 != 0B)
    goto <bb 5>; [70.00%]
  else
    goto <bb 7>; [30.00%]

  <bb 5> [local count: 187904819]:
  # DEBUG BEGIN_STMT
  _2 (u32Instance_8(D), linCurrentState_9);
  goto <bb 7>; [100.00%]

  <bb 6> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  _3 ={v} linCurrentState_9->timeoutCounter;
  _4 = _3 + 4294967295;
  linCurrentState_9->timeoutCounter ={v} _4;

  <bb 7> [local count: 1073741824]:
<L14>:
  # DEBUG BEGIN_STMT
  _5 ={v} linCurrentState_9->timeoutCounterFlag;
  # DEBUG BEGIN_STMT
  return;

}


Lpuart_Lin_Ip_GetCurrentNodeState (const uint32 u32Instance)
{
  const struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  Lpuart_Lin_Ip_NodeStateType retVal;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  linCurrentState_4 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_3(D)];
  # DEBUG linCurrentState => linCurrentState_4
  # DEBUG BEGIN_STMT
  if (linCurrentState_4 != 0B)
    goto <bb 3>; [70.00%]
  else
    goto <bb 4>; [30.00%]

  <bb 3> [local count: 751619278]:
  # DEBUG BEGIN_STMT
  retVal_5 ={v} linCurrentState_4->currentNodeState;
  # DEBUG retVal => retVal_5

  <bb 4> [local count: 1073741824]:
  # retVal_1 = PHI <0(2), retVal_5(3)>
  # DEBUG retVal => retVal_1
  # DEBUG BEGIN_STMT
  return retVal_1;

}


Lpuart_Lin_Ip_SendWakeupSignal (const uint32 u32Instance)
{
  Lpuart_Lin_Ip_StatusType retVal;
  const struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  struct LPUART_Type * base;
  _Bool _1;
  unsigned char _2;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  linCurrentState_7 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_6(D)];
  # DEBUG linCurrentState => linCurrentState_7
  # DEBUG BEGIN_STMT
  base_8 = Lpuart_Lin_Ip_apxBases[u32Instance_6(D)];
  # DEBUG base => base_8
  # DEBUG BEGIN_STMT
  _1 ={v} linCurrentState_7->isBusBusy;
  if (_1 != 0)
    goto <bb 4>; [35.00%]
  else
    goto <bb 3>; [65.00%]

  <bb 3> [local count: 697932186]:
  # DEBUG BEGIN_STMT
  _2 = Lpuart_Lin_Ip_au8WakeupSignal[u32Instance_6(D)];
  # DEBUG base => base_8
  # DEBUG data => _2
  # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwPutchar
  # DEBUG BEGIN_STMT
  # DEBUG D#1 => &base_8->DATA
  # DEBUG dataRegBytes => D#1
  # DEBUG BEGIN_STMT
  MEM[(volatile uint8 *)base_8 + 28B] ={v} _2;

  <bb 4> [local count: 1073741824]:
  # retVal_3 = PHI <0(3), 2(2)>
  # DEBUG base => NULL
  # DEBUG data => NULL
  # DEBUG retVal => retVal_3
  # DEBUG BEGIN_STMT
  return retVal_3;

}


Lpuart_Lin_Ip_GoToSleepMode (const uint32 u32Instance)
{
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  struct LPUART_Type * base;
  long unsigned int _14;
  long unsigned int _15;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  linCurrentState_3 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_2(D)];
  # DEBUG linCurrentState => linCurrentState_3
  # DEBUG BEGIN_STMT
  base_4 = Lpuart_Lin_Ip_apxBases[u32Instance_2(D)];
  # DEBUG base => base_4
  # DEBUG BEGIN_STMT
  linCurrentState_3->currentNodeState ={v} 1;
  # DEBUG BEGIN_STMT
  linCurrentState_3->isTxBusy ={v} 0;
  # DEBUG BEGIN_STMT
  linCurrentState_3->isRxBusy ={v} 0;
  # DEBUG BEGIN_STMT
  linCurrentState_3->isBusBusy ={v} 0;
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwClearStatusFlag (base_4, 131102);
  # DEBUG BEGIN_STMT
  # DEBUG base => base_4
  # DEBUG polarity => 0
  # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwSetRxDataPolarity
  # DEBUG BEGIN_STMT
  _14 ={v} base_4->STAT;
  _15 = _14 & 803225599;
  base_4->STAT ={v} _15;
  # DEBUG base => NULL
  # DEBUG polarity => NULL
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base_4, 196629, 0);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base_4, 65550, 1);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base_4, 196633, 0);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base_4, 65551, 0);
  return;

}


Lpuart_Lin_Ip_GetReceiveStatus (const uint32 u32Instance, uint8 * const pBytesRemaining)
{
  Lpuart_Lin_Ip_StatusType retVal;
  const struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  unsigned char _1;
  unsigned char _2;
  unsigned char _3;
  <unnamed type> _4;
  _Bool _5;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  linCurrentState_9 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_8(D)];
  # DEBUG linCurrentState => linCurrentState_9
  # DEBUG BEGIN_STMT
  _1 ={v} linCurrentState_9->rxSize;
  _2 = linCurrentState_9->cntByte;
  _3 = _1 - _2;
  *pBytesRemaining_10(D) = _3;
  # DEBUG BEGIN_STMT
  _4 ={v} linCurrentState_9->currentEventId;
  if (_4 == 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 3> [local count: 536870913]:
  if (_3 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 4> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  _5 ={v} linCurrentState_9->timeoutCounterFlag;
  if (_5 != 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 5> [local count: 134217728]:
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 3

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

}


Lpuart_Lin_Ip_AbortTransferData (const uint32 u32Instance)
{
  uint32 timeoutTicks;
  uint32 startTime;
  struct LPUART_Type * base;
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  _Bool _1;
  long unsigned int startTime.20_2;
  long unsigned int timeoutTicks.21_3;
  _Bool _4;

  <bb 2> [local count: 114863532]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  linCurrentState_9 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_8(D)];
  # DEBUG linCurrentState => linCurrentState_9
  # DEBUG BEGIN_STMT
  base_10 = Lpuart_Lin_Ip_apxBases[u32Instance_8(D)];
  # DEBUG base => base_10
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base_10, 196629, 0);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base_10, 196633, 0);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base_10, 65551, 0);
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_StartTimeout (&startTime, &timeoutTicks, 65535, 0);

  <bb 3> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = Lpuart_Lin_Ip_HwGetStatusFlag (base_10, 131094);
  if (_1 != 0)
    goto <bb 5>; [5.50%]
  else
    goto <bb 4>; [94.50%]

  <bb 4> [local count: 1014686025]:
  # DEBUG BEGIN_STMT
  startTime.20_2 = startTime;
  timeoutTicks.21_3 = timeoutTicks;
  _4 = Lpuart_Lin_Ip_TimeoutExpired (startTime.20_2, timeoutTicks.21_3, 0);
  if (_4 != 0)
    goto <bb 5>; [5.50%]
  else
    goto <bb 6>; [94.50%]

  <bb 6> [local count: 958878293]:
  goto <bb 3>; [100.00%]

  <bb 5> [local count: 114863532]:
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_GotoIdleState (u32Instance_8(D));
  # DEBUG BEGIN_STMT
  linCurrentState_9->isTxBusy ={v} 0;
  # DEBUG BEGIN_STMT
  linCurrentState_9->isRxBusy ={v} 0;
  startTime ={v} {CLOBBER};
  timeoutTicks ={v} {CLOBBER};
  return;

}


Lpuart_Lin_Ip_SyncReceiveFrameData (const uint32 u32Instance, uint8 * pRxBuff, const uint8 u8RxSize)
{
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig;
  uint32 startTime;
  uint32 timeoutTicks;
  uint8 byteCnt;
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  struct LPUART_Type * base;
  volatile Lpuart_Lin_Ip_StatusType retVal;
  <unnamed type> _1;
  <unnamed type> retVal.13_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;
  _Bool _9;
  long unsigned int startTime.14_10;
  long unsigned int timeoutTicks.15_11;
  _Bool _12;
  <unnamed type> _13;
  <unnamed type> retVal.16_14;
  <unnamed type> _15;
  <unnamed type> retVal.17_16;
  Lpuart_Lin_Ip_StatusType _47;

  <bb 2> [local count: 37234929]:
  # DEBUG BEGIN_STMT
  retVal ={v} 0;
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG byteCnt => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  linCurrentState_26 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_25(D)];
  # DEBUG linCurrentState => linCurrentState_26
  # DEBUG BEGIN_STMT
  base_27 = Lpuart_Lin_Ip_apxBases[u32Instance_25(D)];
  # DEBUG base => base_27
  # DEBUG BEGIN_STMT
  _1 = Lpuart_Lin_Ip_StatusBeforeTransfer (u8RxSize_28(D), linCurrentState_26);
  retVal ={v} _1;
  # DEBUG BEGIN_STMT
  retVal.13_2 ={v} retVal;
  if (retVal.13_2 != 0)
    goto <bb 16>; [67.00%]
  else
    goto <bb 3>; [33.00%]

  <bb 3> [local count: 12287527]:
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base_27, 196629, 0);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base_27, 65551, 0);
  # DEBUG BEGIN_STMT
  linCurrentState_26->currentEventId ={v} 0;

  <bb 4> [local count: 114863532]:
  # byteCnt_17 = PHI <0(3), byteCnt_45(17)>
  # DEBUG byteCnt => byteCnt_17
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pUserConfig_34 = Lpuart_Lin_Ip_apxUserConfigs[u32Instance_25(D)];
  # DEBUG pUserConfig => pUserConfig_34
  # DEBUG BEGIN_STMT
  _3 = pUserConfig_34->u32ResponseTimeoutValue;
  _4 = (long unsigned int) u8RxSize_28(D);
  _5 = _4 + 1;
  _6 = _3 * _5;
  _7 = _6 / 500;
  _8 = _7 + 1;
  # DEBUG u32Instance => u32Instance_25(D)
  # DEBUG u32TimeoutValue => _8
  # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_SetTimeoutCounter
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  linCurrentState_50 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_25(D)];
  # DEBUG linCurrentState => linCurrentState_50
  # DEBUG BEGIN_STMT
  linCurrentState_50->timeoutCounterFlag ={v} 0;
  # DEBUG BEGIN_STMT
  linCurrentState_50->timeoutCounter ={v} _8;
  # DEBUG u32Instance => NULL
  # DEBUG u32TimeoutValue => NULL
  # DEBUG linCurrentState => NULL
  # DEBUG BEGIN_STMT
  retVal ={v} 3;
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_StartTimeout (&startTime, &timeoutTicks, 65535, 0);
  # DEBUG BEGIN_STMT
  goto <bb 7>; [100.00%]

  <bb 5> [local count: 1014686025]:
  # DEBUG BEGIN_STMT
  _9 = Lpuart_Lin_Ip_HwGetStatusFlag (base_27, 131093);
  if (_9 != 0)
    goto <bb 6>; [5.50%]
  else
    goto <bb 18>; [94.50%]

  <bb 6> [local count: 55807731]:
  # DEBUG BEGIN_STMT
  retVal ={v} 0;
  # DEBUG BEGIN_STMT
  goto <bb 8>; [100.00%]

  <bb 18> [local count: 958878294]:

  <bb 7> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  startTime.14_10 = startTime;
  timeoutTicks.15_11 = timeoutTicks;
  _12 = Lpuart_Lin_Ip_TimeoutExpired (startTime.14_10, timeoutTicks.15_11, 0);
  if (_12 != 0)
    goto <bb 8>; [5.50%]
  else
    goto <bb 5>; [94.50%]

  <bb 8> [local count: 114863532]:
  # DEBUG BEGIN_STMT
  _13 ={v} linCurrentState_26->currentEventId;
  if (_13 != 0)
    goto <bb 9>; [50.00%]
  else
    goto <bb 10>; [50.00%]

  <bb 9> [local count: 57431766]:
  # DEBUG BEGIN_STMT
  retVal ={v} 1;
  goto <bb 13>; [100.00%]

  <bb 10> [local count: 57431766]:
  # DEBUG BEGIN_STMT
  retVal.16_14 ={v} retVal;
  if (retVal.16_14 == 0)
    goto <bb 11>; [33.00%]
  else
    goto <bb 12>; [67.00%]

  <bb 11> [local count: 18952483]:
  # DEBUG BEGIN_STMT
  _15 = Lpuart_Lin_Ip_GetBytetoBuffer (byteCnt_17, u8RxSize_28(D), pRxBuff_41(D), u32Instance_25(D));
  retVal ={v} _15;
  goto <bb 13>; [100.00%]

  <bb 12> [local count: 38479283]:
  # DEBUG BEGIN_STMT
  retVal ={v} 3;

  <bb 13> [local count: 114863532]:
  # DEBUG BEGIN_STMT
  retVal.17_16 ={v} retVal;
  if (retVal.17_16 != 0)
    goto <bb 15>; [5.50%]
  else
    goto <bb 14>; [94.50%]

  <bb 14> [local count: 108546037]:
  # DEBUG BEGIN_STMT
  byteCnt_45 = byteCnt_17 + 1;
  # DEBUG byteCnt => byteCnt_45
  if (byteCnt_17 < u8RxSize_28(D))
    goto <bb 17>; [94.50%]
  else
    goto <bb 15>; [5.50%]

  <bb 17> [local count: 102576005]:
  goto <bb 4>; [100.00%]

  <bb 15> [local count: 12287526]:
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_GotoIdleState (u32Instance_25(D));

  <bb 16> [local count: 37234929]:
  # DEBUG BEGIN_STMT
  _47 ={v} retVal;
  timeoutTicks ={v} {CLOBBER};
  startTime ={v} {CLOBBER};
  return _47;

}


Lpuart_Lin_Ip_AsyncReceiveFrameData (const uint32 u32Instance, uint8 * pRxBuff, const uint8 u8RxSize)
{
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig;
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  struct LPUART_Type * base;
  Lpuart_Lin_Ip_StatusType retVal;
  unsigned char _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;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  linCurrentState_11 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_10(D)];
  # DEBUG linCurrentState => linCurrentState_11
  # DEBUG BEGIN_STMT
  base_12 = Lpuart_Lin_Ip_apxBases[u32Instance_10(D)];
  # DEBUG base => base_12
  # DEBUG BEGIN_STMT
  retVal_15 = Lpuart_Lin_Ip_StatusBeforeTransfer (u8RxSize_13(D), linCurrentState_11);
  # DEBUG retVal => retVal_15
  # DEBUG BEGIN_STMT
  if (retVal_15 != 0)
    goto <bb 4>; [67.00%]
  else
    goto <bb 3>; [33.00%]

  <bb 3> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  SchM_Enter_Lin_LIN_EXCLUSIVE_AREA_01 ();
  # DEBUG BEGIN_STMT
  linCurrentState_11->rxBuff = pRxBuff_17(D);
  # DEBUG BEGIN_STMT
  _1 = u8RxSize_13(D) + 1;
  linCurrentState_11->rxSize ={v} _1;
  # DEBUG BEGIN_STMT
  linCurrentState_11->cntByte = 0;
  # DEBUG BEGIN_STMT
  linCurrentState_11->currentNodeState ={v} 7;
  # DEBUG BEGIN_STMT
  linCurrentState_11->currentEventId ={v} 0;
  # DEBUG BEGIN_STMT
  linCurrentState_11->isBusBusy ={v} 1;
  # DEBUG BEGIN_STMT
  linCurrentState_11->isRxBusy ={v} 1;
  # DEBUG BEGIN_STMT
  SchM_Exit_Lin_LIN_EXCLUSIVE_AREA_01 ();
  # DEBUG BEGIN_STMT
  pUserConfig_26 = Lpuart_Lin_Ip_apxUserConfigs[u32Instance_10(D)];
  # DEBUG pUserConfig => pUserConfig_26
  # DEBUG BEGIN_STMT
  _2 = pUserConfig_26->u32ResponseTimeoutValue;
  _3 = (long unsigned int) u8RxSize_13(D);
  _4 = _3 + 1;
  _5 = _2 * _4;
  _6 = _5 / 500;
  _7 = _6 + 1;
  # DEBUG u32Instance => u32Instance_10(D)
  # DEBUG u32TimeoutValue => _7
  # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_SetTimeoutCounter
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  linCurrentState_28 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_10(D)];
  # DEBUG linCurrentState => linCurrentState_28
  # DEBUG BEGIN_STMT
  linCurrentState_28->timeoutCounterFlag ={v} 0;
  # DEBUG BEGIN_STMT
  linCurrentState_28->timeoutCounter ={v} _7;
  # DEBUG u32Instance => NULL
  # DEBUG u32TimeoutValue => NULL
  # DEBUG linCurrentState => NULL
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetBreakCharDetectLength (base_12, 0);

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

}


Lpuart_Lin_Ip_GetTransmitStatus (const uint32 u32Instance, uint8 * const pBytesRemaining)
{
  uint8 u8LocalBytesRemaining;
  const struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  Lpuart_Lin_Ip_StatusType retVal;
  unsigned char _1;
  unsigned char _2;
  <unnamed type> _3;
  _Bool _4;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG bBytesCountReturn => pBytesRemaining_7(D) != 0B
  # DEBUG BEGIN_STMT
  # DEBUG u8LocalBytesRemaining => 0
  # DEBUG BEGIN_STMT
  linCurrentState_10 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_9(D)];
  # DEBUG linCurrentState => linCurrentState_10
  # DEBUG BEGIN_STMT
  _1 ={v} linCurrentState_10->txSize;
  _2 = linCurrentState_10->cntByte;
  u8LocalBytesRemaining_11 = _1 - _2;
  # DEBUG u8LocalBytesRemaining => u8LocalBytesRemaining_11
  # DEBUG BEGIN_STMT
  _3 ={v} linCurrentState_10->currentEventId;
  if (_3 == 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 3> [local count: 536870913]:
  if (u8LocalBytesRemaining_11 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 4> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  _4 ={v} linCurrentState_10->timeoutCounterFlag;
  if (_4 != 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 5> [local count: 134217728]:
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 3

  <bb 6> [local count: 1073741824]:
  # retVal_5 = PHI <0(2), 0(3), 2(4), 3(5)>
  # DEBUG retVal => retVal_5
  # DEBUG BEGIN_STMT
  if (pBytesRemaining_7(D) != 0B)
    goto <bb 7>; [70.00%]
  else
    goto <bb 8>; [30.00%]

  <bb 7> [local count: 751619278]:
  # DEBUG BEGIN_STMT
  *pBytesRemaining_7(D) = u8LocalBytesRemaining_11;

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

}


Lpuart_Lin_Ip_SyncSendFrameData (const uint32 u32Instance, const uint8 * pTxBuff, const uint8 u8TxSize)
{
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig;
  uint32 timeoutTicks;
  uint32 startTime;
  uint8 sendByte;
  uint8 byteCnt;
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  struct LPUART_Type * base;
  Lpuart_Lin_Ip_StatusType retVal;
  unsigned char _1;
  unsigned char _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;
  <unnamed type> _9;
  sizetype _10;
  const uint8 * _11;
  _Bool _12;
  long unsigned int startTime.10_13;
  long unsigned int timeoutTicks.11_14;
  _Bool _15;
  long unsigned int _50;
  unsigned char _51;

  <bb 2> [local count: 38844287]:
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 1
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG byteCnt => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  linCurrentState_28 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_27(D)];
  # DEBUG linCurrentState => linCurrentState_28
  # DEBUG BEGIN_STMT
  base_29 = Lpuart_Lin_Ip_apxBases[u32Instance_27(D)];
  # DEBUG base => base_29
  # DEBUG BEGIN_STMT
  retVal_32 = Lpuart_Lin_Ip_StatusBeforeTransfer (u8TxSize_30(D), linCurrentState_28);
  # DEBUG retVal => retVal_32
  # DEBUG BEGIN_STMT
  if (retVal_32 != 0)
    goto <bb 17>; [67.00%]
  else
    goto <bb 3>; [33.00%]

  <bb 3> [local count: 12818615]:
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base_29, 196629, 0);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base_29, 65551, 0);
  # DEBUG BEGIN_STMT
  linCurrentState_28->currentEventId ={v} 0;
  # DEBUG BEGIN_STMT
  _1 = linCurrentState_28->currentPid;
  _2 = Lpuart_Lin_Ip_MakeChecksumByte (u32Instance_27(D), pTxBuff_36(D), u8TxSize_30(D), _1);
  linCurrentState_28->checkSum = _2;
  # DEBUG BEGIN_STMT
  pUserConfig_39 = Lpuart_Lin_Ip_apxUserConfigs[u32Instance_27(D)];
  # DEBUG pUserConfig => pUserConfig_39
  # DEBUG BEGIN_STMT
  _3 = pUserConfig_39->u32ResponseTimeoutValue;
  _4 = (long unsigned int) u8TxSize_30(D);
  _5 = _4 + 1;
  _6 = _3 * _5;
  _7 = _6 / 500;
  _8 = _7 + 1;
  # DEBUG u32Instance => u32Instance_27(D)
  # DEBUG u32TimeoutValue => _8
  # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_SetTimeoutCounter
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  linCurrentState_45 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_27(D)];
  # DEBUG linCurrentState => linCurrentState_45
  # DEBUG BEGIN_STMT
  linCurrentState_45->timeoutCounterFlag ={v} 0;
  # DEBUG BEGIN_STMT
  linCurrentState_45->timeoutCounter ={v} _8;

  <bb 4> [local count: 121451518]:
  # byteCnt_19 = PHI <0(3), byteCnt_46(18)>
  # DEBUG u32Instance => NULL
  # DEBUG u32TimeoutValue => NULL
  # DEBUG linCurrentState => NULL
  # DEBUG byteCnt => byteCnt_19
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _9 ={v} linCurrentState_28->currentEventId;
  if (_9 != 0)
    goto <bb 16>; [2.75%]
  else
    goto <bb 5>; [97.25%]

  <bb 5> [local count: 118111601]:
  if (byteCnt_19 > u8TxSize_30(D))
    goto <bb 16>; [2.75%]
  else
    goto <bb 6>; [97.25%]

  <bb 6> [local count: 114863532]:
  # DEBUG BEGIN_STMT
  if (byteCnt_19 < u8TxSize_30(D))
    goto <bb 7>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 7> [local count: 57431766]:
  # DEBUG BEGIN_STMT
  _10 = (sizetype) byteCnt_19;
  _11 = pTxBuff_36(D) + _10;
  sendByte_41 = *_11;
  # DEBUG sendByte => sendByte_41
  goto <bb 9>; [100.00%]

  <bb 8> [local count: 57431766]:
  # DEBUG BEGIN_STMT
  sendByte_40 = linCurrentState_28->checkSum;
  # DEBUG sendByte => sendByte_40

  <bb 9> [local count: 114863532]:
  # sendByte_20 = PHI <sendByte_41(7), sendByte_40(8)>
  # DEBUG sendByte => sendByte_20
  # DEBUG BEGIN_STMT
  # DEBUG base => base_29
  # DEBUG data => sendByte_20
  # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwPutchar
  # DEBUG BEGIN_STMT
  # DEBUG D#1 => &base_29->DATA
  # DEBUG dataRegBytes => D#1
  # DEBUG BEGIN_STMT
  MEM[(volatile uint8 *)base_29 + 28B] ={v} sendByte_20;
  # DEBUG base => NULL
  # DEBUG data => NULL
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 3
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_StartTimeout (&startTime, &timeoutTicks, 65535, 0);

  <bb 10> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _12 = Lpuart_Lin_Ip_HwGetStatusFlag (base_29, 131093);
  if (_12 != 0)
    goto <bb 11>; [5.50%]
  else
    goto <bb 13>; [94.50%]

  <bb 11> [local count: 59055800]:
  # DEBUG BEGIN_STMT
  # DEBUG base => base_29
  # DEBUG readData => &readbackByte
  # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwGetchar
  # DEBUG BEGIN_STMT
  _50 ={v} MEM[(const struct LPUART_Type *)base_29].DATA;
  _51 = (unsigned char) _50;
  # DEBUG readbackByte => _51
  # DEBUG base => NULL
  # DEBUG readData => NULL
  # DEBUG BEGIN_STMT
  # DEBUG readbackByte => _51
  # DEBUG sendByte => sendByte_20
  # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_CheckReadbackByte
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  if (sendByte_20 != _51)
    goto <bb 12>; [66.00%]
  else
    goto <bb 14>; [34.00%]

  <bb 12> [local count: 38976828]:
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 1
  goto <bb 14>; [100.00%]

  <bb 13> [local count: 1014686025]:
  # DEBUG BEGIN_STMT
  startTime.10_13 = startTime;
  timeoutTicks.11_14 = timeoutTicks;
  _15 = Lpuart_Lin_Ip_TimeoutExpired (startTime.10_13, timeoutTicks.11_14, 0);
  if (_15 != 0)
    goto <bb 14>; [5.50%]
  else
    goto <bb 19>; [94.50%]

  <bb 19> [local count: 958878293]:
  goto <bb 10>; [100.00%]

  <bb 14> [local count: 114863532]:
  # retVal_16 = PHI <1(12), 3(13), 0(11)>
  # DEBUG readbackByte => NULL
  # DEBUG sendByte => NULL
  # DEBUG retVal => NULL
  # DEBUG retVal => retVal_16
  # DEBUG BEGIN_STMT
  byteCnt_46 = byteCnt_19 + 1;
  # DEBUG byteCnt => byteCnt_46
  if (byteCnt_19 < u8TxSize_30(D))
    goto <bb 15>; [97.25%]
  else
    goto <bb 16>; [2.75%]

  <bb 15> [local count: 111704785]:
  if (retVal_16 == 0)
    goto <bb 18>; [97.25%]
  else
    goto <bb 16>; [2.75%]

  <bb 18> [local count: 108632903]:
  goto <bb 4>; [100.00%]

  <bb 16> [local count: 12818614]:
  # retVal_17 = PHI <1(5), retVal_16(14), retVal_16(15), 1(4)>
  # DEBUG retVal => retVal_17
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_GotoIdleState (u32Instance_27(D));

  <bb 17> [local count: 38844287]:
  # retVal_18 = PHI <retVal_32(2), retVal_17(16)>
  # DEBUG retVal => retVal_18
  # DEBUG BEGIN_STMT
  # DEBUG D#5 => {CLOBBER}
  # DEBUG readbackByte => D#5
  startTime ={v} {CLOBBER};
  timeoutTicks ={v} {CLOBBER};
  return retVal_18;

}


Lpuart_Lin_Ip_AsyncSendFrameData (const uint32 u32Instance, const uint8 * pTxBuff, const uint8 u8TxSize)
{
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig;
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  struct LPUART_Type * base;
  Lpuart_Lin_Ip_StatusType retVal;
  unsigned char _1;
  unsigned char _2;
  unsigned char _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;
  const uint8 * _10;
  unsigned char _11;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  linCurrentState_15 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_14(D)];
  # DEBUG linCurrentState => linCurrentState_15
  # DEBUG BEGIN_STMT
  base_16 = Lpuart_Lin_Ip_apxBases[u32Instance_14(D)];
  # DEBUG base => base_16
  # DEBUG BEGIN_STMT
  retVal_19 = Lpuart_Lin_Ip_StatusBeforeTransfer (u8TxSize_17(D), linCurrentState_15);
  # DEBUG retVal => retVal_19
  # DEBUG BEGIN_STMT
  if (retVal_19 != 0)
    goto <bb 4>; [67.00%]
  else
    goto <bb 3>; [33.00%]

  <bb 3> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  _1 = linCurrentState_15->currentPid;
  _2 = Lpuart_Lin_Ip_MakeChecksumByte (u32Instance_14(D), pTxBuff_20(D), u8TxSize_17(D), _1);
  linCurrentState_15->checkSum = _2;
  # DEBUG BEGIN_STMT
  SchM_Enter_Lin_LIN_EXCLUSIVE_AREA_00 ();
  # DEBUG BEGIN_STMT
  linCurrentState_15->txBuff = pTxBuff_20(D);
  # DEBUG BEGIN_STMT
  _3 = u8TxSize_17(D) + 1;
  linCurrentState_15->txSize ={v} _3;
  # DEBUG BEGIN_STMT
  linCurrentState_15->cntByte = 0;
  # DEBUG BEGIN_STMT
  linCurrentState_15->currentNodeState ={v} 9;
  # DEBUG BEGIN_STMT
  linCurrentState_15->currentEventId ={v} 0;
  # DEBUG BEGIN_STMT
  linCurrentState_15->isBusBusy ={v} 1;
  # DEBUG BEGIN_STMT
  linCurrentState_15->isTxBusy ={v} 1;
  # DEBUG BEGIN_STMT
  SchM_Exit_Lin_LIN_EXCLUSIVE_AREA_00 ();
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetBreakCharDetectLength (base_16, 0);
  # DEBUG BEGIN_STMT
  pUserConfig_33 = Lpuart_Lin_Ip_apxUserConfigs[u32Instance_14(D)];
  # DEBUG pUserConfig => pUserConfig_33
  # DEBUG BEGIN_STMT
  _4 = pUserConfig_33->u32ResponseTimeoutValue;
  _5 = (long unsigned int) u8TxSize_17(D);
  _6 = _5 + 1;
  _7 = _4 * _6;
  _8 = _7 / 500;
  _9 = _8 + 1;
  # DEBUG u32Instance => u32Instance_14(D)
  # DEBUG u32TimeoutValue => _9
  # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_SetTimeoutCounter
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  linCurrentState_34 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_14(D)];
  # DEBUG linCurrentState => linCurrentState_34
  # DEBUG BEGIN_STMT
  linCurrentState_34->timeoutCounterFlag ={v} 0;
  # DEBUG BEGIN_STMT
  linCurrentState_34->timeoutCounter ={v} _9;
  # DEBUG u32Instance => NULL
  # DEBUG u32TimeoutValue => NULL
  # DEBUG linCurrentState => NULL
  # DEBUG BEGIN_STMT
  _10 = linCurrentState_15->txBuff;
  _11 = *_10;
  # DEBUG base => base_16
  # DEBUG data => _11
  # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwPutchar
  # DEBUG BEGIN_STMT
  # DEBUG D#1 => &base_16->DATA
  # DEBUG dataRegBytes => D#1
  # DEBUG BEGIN_STMT
  MEM[(volatile uint8 *)base_16 + 28B] ={v} _11;

  <bb 4> [local count: 1073741824]:
  # DEBUG base => NULL
  # DEBUG data => NULL
  # DEBUG BEGIN_STMT
  return retVal_19;

}


Lpuart_Lin_Ip_Deinit (const uint32 u32Instance)
{
  uint32 timeoutTicks;
  uint32 startTime;
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  struct LPUART_Type * base;
  _Bool _1;
  long unsigned int startTime.6_2;
  long unsigned int timeoutTicks.7_3;
  _Bool _4;

  <bb 2> [local count: 114863532]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  base_9 = Lpuart_Lin_Ip_apxBases[u32Instance_8(D)];
  # DEBUG base => base_9
  # DEBUG BEGIN_STMT
  linCurrentState_10 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_8(D)];
  # DEBUG linCurrentState => linCurrentState_10
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_StartTimeout (&startTime, &timeoutTicks, 65535, 0);

  <bb 3> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = Lpuart_Lin_Ip_HwGetStatusFlag (base_9, 131094);
  if (_1 != 0)
    goto <bb 5>; [5.50%]
  else
    goto <bb 4>; [94.50%]

  <bb 4> [local count: 1014686025]:
  # DEBUG BEGIN_STMT
  startTime.6_2 = startTime;
  timeoutTicks.7_3 = timeoutTicks;
  _4 = Lpuart_Lin_Ip_TimeoutExpired (startTime.6_2, timeoutTicks.7_3, 0);
  if (_4 != 0)
    goto <bb 5>; [5.50%]
  else
    goto <bb 6>; [94.50%]

  <bb 6> [local count: 958878293]:
  goto <bb 3>; [100.00%]

  <bb 5> [local count: 114863532]:
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetTransmitterCmd (base_9, 0);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetReceiverCmd (base_9, 0);
  # DEBUG BEGIN_STMT
  linCurrentState_10->currentNodeState ={v} 0;
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_8(D)] = 0B;
  startTime ={v} {CLOBBER};
  timeoutTicks ={v} {CLOBBER};
  return;

}


Lpuart_Lin_Ip_Init (const uint32 u32Instance, const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig)
{
  struct Lpuart_Lin_Ip_StateStructType * pCrtStateStruct;
  struct LPUART_Type * base;
  _Bool _1;
  _Bool _2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;
  _Bool _6;
  unsigned char _7;
  unsigned char _8;
  unsigned char _9;
  uint8 * _10;
  unsigned char _11;
  unsigned char _12;
  _Bool _13;
  _Bool _14;
  struct Lpuart_Lin_Ip_StateStructType * _15;
  long unsigned int _52;
  long unsigned int _53;
  long unsigned int _54;
  long unsigned int _55;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  base_22 = Lpuart_Lin_Ip_apxBases[u32Instance_21(D)];
  # DEBUG base => base_22
  # DEBUG BEGIN_STMT
  pCrtStateStruct_24 = pUserConfig_23(D)->pStateStruct;
  # DEBUG pCrtStateStruct => pCrtStateStruct_24
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_apxUserConfigs[u32Instance_21(D)] = pUserConfig_23(D);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwInit (base_22);
  # DEBUG BEGIN_STMT
  _1 = pUserConfig_23(D)->autobaudEnable;
  if (_1 != 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 3> [local count: 536870913]:
  _2 = pUserConfig_23(D)->nodeFunction;
  if (_2 != 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 4> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  pCrtStateStruct_24->fallingEdgeInterruptCount ={v} 0;
  # DEBUG BEGIN_STMT
  pCrtStateStruct_24->baudrateEvalEnable ={v} 1;

  <bb 5> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _3 = pUserConfig_23(D)->u32OverSamplingRatio;
  if (_3 <= 7)
    goto <bb 6>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 6> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  # DEBUG base => base_22
  # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwEnableBothEdgeSamplingCmd
  # DEBUG BEGIN_STMT
  _52 ={v} base_22->BAUD;
  _53 = _52 | 131072;
  base_22->BAUD ={v} _53;

  <bb 7> [local count: 1073741824]:
  # DEBUG base => NULL
  # DEBUG BEGIN_STMT
  _4 = _3 + 4294967295;
  Lpuart_Lin_Ip_HwSetOversamplingRatio (base_22, _4);
  # DEBUG BEGIN_STMT
  _5 = pUserConfig_23(D)->u32BaudRateDivisor;
  Lpuart_Lin_Ip_HwSetBaudRateDivisor (base_22, _5);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetBitCountPerChar (base_22, 0, 0);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetParityMode (base_22, 0);
  # DEBUG BEGIN_STMT
  # DEBUG base => base_22
  # DEBUG stopBitCount => 0
  # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwSetStopBitCount
  # DEBUG BEGIN_STMT
  _54 ={v} base_22->BAUD;
  _55 = _54 & 4294959103;
  base_22->BAUD ={v} _55;
  # DEBUG base => NULL
  # DEBUG stopBitCount => NULL
  # DEBUG BEGIN_STMT
  _6 = pUserConfig_23(D)->nodeFunction;
  if (_6 != 0)
    goto <bb 8>; [50.00%]
  else
    goto <bb 9>; [50.00%]

  <bb 8> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _7 = pUserConfig_23(D)->u8BreakLength;
  Lpuart_Lin_Ip_HwSetBreakCharTransmitLength (base_22, _7);
  # DEBUG BEGIN_STMT
  _8 = pUserConfig_23(D)->u8BreakLengthDetect;
  Lpuart_Lin_Ip_HwSetBreakCharDetectLength (base_22, _8);
  goto <bb 10>; [100.00%]

  <bb 9> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _9 = pUserConfig_23(D)->u8BreakLengthDetect;
  Lpuart_Lin_Ip_HwSetBreakCharDetectLength (base_22, _9);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base_22, 65551, 1);

  <bb 10> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwClearStatusFlag (base_22, 0);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base_22, 196629, 0);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base_22, 196633, 1);
  # DEBUG BEGIN_STMT
  pCrtStateStruct_24->currentNodeState ={v} 2;
  # DEBUG BEGIN_STMT
  pCrtStateStruct_24->isTxBusy ={v} 0;
  # DEBUG BEGIN_STMT
  pCrtStateStruct_24->isRxBusy ={v} 0;
  # DEBUG BEGIN_STMT
  pCrtStateStruct_24->isBusBusy ={v} 0;
  # DEBUG BEGIN_STMT
  pCrtStateStruct_24->timeoutCounterFlag ={v} 0;
  # DEBUG BEGIN_STMT
  pCrtStateStruct_24->timeoutCounter ={v} 0;
  # DEBUG BEGIN_STMT
  _10 = pUserConfig_23(D)->classicPID;
  pCrtStateStruct_24->classicPID = _10;
  # DEBUG BEGIN_STMT
  _11 = pUserConfig_23(D)->numOfClassicPID;
  pCrtStateStruct_24->numOfClassicPID = _11;
  # DEBUG BEGIN_STMT
  _12 = pUserConfig_23(D)->u8WakeupByte;
  Lpuart_Lin_Ip_au8WakeupSignal[u32Instance_21(D)] = _12;
  # DEBUG BEGIN_STMT
  _13 = pUserConfig_23(D)->autobaudEnable;
  if (_13 != 0)
    goto <bb 11>; [67.00%]
  else
    goto <bb 12>; [33.00%]

  <bb 11> [local count: 719407023]:
  _14 = pUserConfig_23(D)->nodeFunction;
  if (_14 != 0)
    goto <bb 12>; [50.00%]
  else
    goto <bb 13>; [50.00%]

  <bb 12> [local count: 714038314]:
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetTransmitterCmd (base_22, 1);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetReceiverCmd (base_22, 1);

  <bb 13> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _15 = pUserConfig_23(D)->pStateStruct;
  Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_21(D)] = _15;
  return;

}


Lpuart_Lin_Ip_ProcessWakeupDetect (const uint32 u32Instance)
{
  struct LPUART_Type * base;
  const struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  <unnamed type> _1;
  _Bool _2;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  linCurrentState_6 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_5(D)];
  # DEBUG linCurrentState => linCurrentState_6
  # DEBUG BEGIN_STMT
  base_7 = Lpuart_Lin_Ip_apxBases[u32Instance_5(D)];
  # DEBUG base => base_7
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwClearStatusFlag (base_7, 131102);
  # DEBUG BEGIN_STMT
  _1 ={v} linCurrentState_6->currentNodeState;
  switch (_1) <default: <L6> [33.33%], case 1: <L0> [33.33%], case 4: <L1> [33.33%]>

  <bb 3> [local count: 357878150]:
<L0>:
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_CheckWakeupSignal (u32Instance_5(D));
  # DEBUG BEGIN_STMT
  goto <bb 6>; [100.00%]

  <bb 4> [local count: 357878150]:
<L1>:
  # DEBUG BEGIN_STMT
  _2 ={v} linCurrentState_6->baudrateEvalEnable;
  if (_2 != 0)
    goto <bb 5>; [33.00%]
  else
    goto <bb 6>; [67.00%]

  <bb 5> [local count: 118099789]:
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_AutoBaudCapture (u32Instance_5(D));

  <bb 6> [local count: 1073634452]:
<L6>:
  return;

}


Lpuart_Lin_Ip_AutoBaudCapture (const uint32 u32Instance)
{
  struct LPUART_Type * base;
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig;
  uint8 wakeupByte;
  uint32 masterBaudrateDivisor;
  uint32 tickPerMicros;
  uint32 u32ElapsedTicks;
  static uint8 fallingEgdeCount;
  static uint32 currentTick;
  unsigned char fallingEgdeCount.25_1;
  unsigned char _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 _11;
  long unsigned int _12;
  long unsigned int _13;
  long unsigned int _14;
  long unsigned int _15;
  long unsigned int _16;
  void (*<T2e6>) (uint32, void *) _17;
  long unsigned int _18;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG masterBaudrateDivisor => 0
  # DEBUG BEGIN_STMT
  # DEBUG wakeupByte => 248
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  linCurrentState_31 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_30(D)];
  # DEBUG linCurrentState => linCurrentState_31
  # DEBUG BEGIN_STMT
  base_32 = Lpuart_Lin_Ip_apxBases[u32Instance_30(D)];
  # DEBUG base => base_32
  # DEBUG BEGIN_STMT
  pUserConfig_33 = Lpuart_Lin_Ip_apxUserConfigs[u32Instance_30(D)];
  # DEBUG pUserConfig => pUserConfig_33
  # DEBUG BEGIN_STMT
  fallingEgdeCount.25_1 = fallingEgdeCount;
  _2 = fallingEgdeCount.25_1 + 1;
  fallingEgdeCount = _2;
  if (fallingEgdeCount.25_1 != 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 24>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  u32ElapsedTicks_38 = OsIf_GetElapsed (&currentTick, 0);
  # DEBUG u32ElapsedTicks => u32ElapsedTicks_38
  # DEBUG BEGIN_STMT
  tickPerMicros_40 = OsIf_MicrosToTicks (1000000, 0);
  # DEBUG tickPerMicros => tickPerMicros_40
  # DEBUG BEGIN_STMT
  _3 = tickPerMicros_40 * 51041;
  if (_3 <= u32ElapsedTicks_38)
    goto <bb 4>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 4> [local count: 268435456]:
  _4 = tickPerMicros_40 * 53125;
  if (_4 >= u32ElapsedTicks_38)
    goto <bb 5>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 5> [local count: 134217728]:
  # DEBUG BEGIN_STMT
  # DEBUG masterBaudrateDivisor => 19200
  # DEBUG BEGIN_STMT
  # DEBUG wakeupByte => 128

  <bb 6> [local count: 536870913]:
  # masterBaudrateDivisor_19 = PHI <0(3), 0(4), 19200(5)>
  # wakeupByte_24 = PHI <248(3), 248(4), 128(5)>
  # DEBUG wakeupByte => wakeupByte_24
  # DEBUG masterBaudrateDivisor => masterBaudrateDivisor_19
  # DEBUG BEGIN_STMT
  _5 = tickPerMicros_40 * 68055;
  if (_5 <= u32ElapsedTicks_38)
    goto <bb 7>; [50.00%]
  else
    goto <bb 9>; [50.00%]

  <bb 7> [local count: 268435456]:
  _6 = tickPerMicros_40 * 70833;
  if (_6 >= u32ElapsedTicks_38)
    goto <bb 8>; [50.00%]
  else
    goto <bb 9>; [50.00%]

  <bb 8> [local count: 134217728]:
  # DEBUG BEGIN_STMT
  # DEBUG masterBaudrateDivisor => 14400
  # DEBUG BEGIN_STMT
  # DEBUG wakeupByte => 128

  <bb 9> [local count: 536870913]:
  # masterBaudrateDivisor_20 = PHI <masterBaudrateDivisor_19(6), masterBaudrateDivisor_19(7), 14400(8)>
  # wakeupByte_25 = PHI <wakeupByte_24(6), wakeupByte_24(7), 128(8)>
  # DEBUG wakeupByte => wakeupByte_25
  # DEBUG masterBaudrateDivisor => masterBaudrateDivisor_20
  # DEBUG BEGIN_STMT
  _7 = tickPerMicros_40 * 102083;
  if (_7 <= u32ElapsedTicks_38)
    goto <bb 10>; [50.00%]
  else
    goto <bb 12>; [50.00%]

  <bb 10> [local count: 268435456]:
  _8 = tickPerMicros_40 * 106250;
  if (_8 >= u32ElapsedTicks_38)
    goto <bb 11>; [50.00%]
  else
    goto <bb 12>; [50.00%]

  <bb 11> [local count: 134217728]:
  # DEBUG BEGIN_STMT
  # DEBUG masterBaudrateDivisor => 9600

  <bb 12> [local count: 536870913]:
  # masterBaudrateDivisor_21 = PHI <masterBaudrateDivisor_20(9), masterBaudrateDivisor_20(10), 9600(11)>
  # DEBUG masterBaudrateDivisor => masterBaudrateDivisor_21
  # DEBUG BEGIN_STMT
  _9 = tickPerMicros_40 * 204166;
  if (_9 <= u32ElapsedTicks_38)
    goto <bb 13>; [50.00%]
  else
    goto <bb 15>; [50.00%]

  <bb 13> [local count: 268435456]:
  _10 = tickPerMicros_40 * 212500;
  if (_10 >= u32ElapsedTicks_38)
    goto <bb 14>; [50.00%]
  else
    goto <bb 15>; [50.00%]

  <bb 14> [local count: 134217728]:
  # DEBUG BEGIN_STMT
  # DEBUG masterBaudrateDivisor => 4800

  <bb 15> [local count: 536870913]:
  # masterBaudrateDivisor_22 = PHI <masterBaudrateDivisor_21(12), masterBaudrateDivisor_21(13), 4800(14)>
  # DEBUG masterBaudrateDivisor => masterBaudrateDivisor_22
  # DEBUG BEGIN_STMT
  _11 = tickPerMicros_40 * 408333;
  if (_11 <= u32ElapsedTicks_38)
    goto <bb 16>; [50.00%]
  else
    goto <bb 17>; [50.00%]

  <bb 16> [local count: 268435456]:
  _12 = tickPerMicros_40 * 425000;
  if (_12 >= u32ElapsedTicks_38)
    goto <bb 18>; [50.00%]
  else
    goto <bb 17>; [50.00%]

  <bb 17> [local count: 402653184]:
  # DEBUG masterBaudrateDivisor => masterBaudrateDivisor_22
  # DEBUG BEGIN_STMT
  if (masterBaudrateDivisor_22 != 0)
    goto <bb 18>; [50.00%]
  else
    goto <bb 19>; [50.00%]

  <bb 18> [local count: 335544320]:
  # masterBaudrateDivisor_28 = PHI <masterBaudrateDivisor_22(17), 2400(16)>
  # DEBUG masterBaudrateDivisor => NULL
  # DEBUG BEGIN_STMT
  _13 = pUserConfig_33->u32ChannelClock;
  _14 = pUserConfig_33->u32OverSamplingRatio;
  _15 = _14 * masterBaudrateDivisor_28;
  masterBaudrateDivisor_41 = _13 / _15;
  # DEBUG masterBaudrateDivisor => masterBaudrateDivisor_41

  <bb 19> [local count: 536870913]:
  # masterBaudrateDivisor_23 = PHI <masterBaudrateDivisor_22(17), masterBaudrateDivisor_41(18)>
  # DEBUG masterBaudrateDivisor => masterBaudrateDivisor_23
  # DEBUG BEGIN_STMT
  if (masterBaudrateDivisor_23 != 0)
    goto <bb 20>; [50.00%]
  else
    goto <bb 25>; [50.00%]

  <bb 20> [local count: 268435456]:
  _16 = pUserConfig_33->u32BaudRateDivisor;
  if (_16 != masterBaudrateDivisor_23)
    goto <bb 21>; [48.88%]
  else
    goto <bb 25>; [51.12%]

  <bb 21> [local count: 131211251]:
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetBaudRateDivisor (base_32, masterBaudrateDivisor_23);
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_au8WakeupSignal[u32Instance_30(D)] = wakeupByte_25;
  # DEBUG BEGIN_STMT
  linCurrentState_31->currentEventId ={v} 2;
  # DEBUG BEGIN_STMT
  linCurrentState_31->baudrateEvalEnable ={v} 0;
  # DEBUG BEGIN_STMT
  _17 = pUserConfig_33->Callback;
  if (_17 != 0B)
    goto <bb 22>; [70.00%]
  else
    goto <bb 23>; [30.00%]

  <bb 22> [local count: 91847876]:
  # DEBUG BEGIN_STMT
  _17 (u32Instance_30(D), linCurrentState_31);

  <bb 23> [local count: 131211251]:
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwSetIntMode (base_32, 65550, 0);
  # DEBUG BEGIN_STMT
  linCurrentState_31->currentNodeState ={v} 6;
  # DEBUG BEGIN_STMT
  linCurrentState_31->currentEventId ={v} 4;
  goto <bb 25>; [100.00%]

  <bb 24> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _18 = OsIf_GetCounter (0);
  currentTick = _18;

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

}


Lpuart_Lin_Ip_MakeChecksumByte (const uint32 u32Instance, const uint8 * buffer, const uint8 sizeBuffer, const uint8 PID)
{
  const uint8 numOfClassicPID;
  const struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  uint8 retVal;
  const uint8 * classicPID;
  uint8 checkSum;
  sizetype _1;
  const uint8 * _2;
  unsigned char _3;

  <bb 2> [local count: 248622364]:
  # DEBUG BEGIN_STMT
  # DEBUG checkSum => PID_6(D)
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  linCurrentState_9 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_8(D)];
  # DEBUG linCurrentState => linCurrentState_9
  # DEBUG BEGIN_STMT
  numOfClassicPID_10 = linCurrentState_9->numOfClassicPID;
  # DEBUG numOfClassicPID => numOfClassicPID_10
  # DEBUG BEGIN_STMT
  classicPID_11 = linCurrentState_9->classicPID;
  # DEBUG classicPID => classicPID_11
  # DEBUG BEGIN_STMT
  if (numOfClassicPID_10 == 255)
    goto <bb 7>; [34.00%]
  else
    goto <bb 3>; [66.00%]

  <bb 3> [local count: 164090760]:
  # DEBUG BEGIN_STMT
  if (classicPID_11 != 0B)
    goto <bb 8>; [70.00%]
  else
    goto <bb 7>; [30.00%]

  <bb 8> [local count: 114863532]:
  goto <bb 6>; [100.00%]

  <bb 4> [local count: 1014686025]:
  # DEBUG BEGIN_STMT
  _1 = (sizetype) retVal_5;
  _2 = classicPID_11 + _1;
  _3 = *_2;
  if (_3 == PID_6(D))
    goto <bb 7>; [5.50%]
  else
    goto <bb 5>; [94.50%]

  <bb 5> [local count: 958878293]:
  # DEBUG BEGIN_STMT
  retVal_12 = retVal_5 + 1;
  # DEBUG retVal => retVal_12

  <bb 6> [local count: 1073741824]:
  # retVal_5 = PHI <retVal_12(5), 0(8)>
  # DEBUG retVal => retVal_5
  # DEBUG BEGIN_STMT
  if (retVal_5 < numOfClassicPID_10)
    goto <bb 4>; [94.50%]
  else
    goto <bb 7>; [5.50%]

  <bb 7> [local count: 248622363]:
  # checkSum_4 = PHI <0(2), PID_6(D)(3), 0(4), PID_6(D)(6)>
  # DEBUG checkSum => checkSum_4
  # DEBUG BEGIN_STMT
  retVal_16 = Lin_Ip_MakeChecksumByte (buffer_13(D), sizeBuffer_14(D), checkSum_4);
  # DEBUG retVal => retVal_16
  # DEBUG BEGIN_STMT
  return retVal_16;

}


Lpuart_Lin_Ip_FrameErrorIrqHandler (const uint32 u32Instance)
{
  const struct Lpuart_Lin_Ip_UserConfigType * pUserConfig;
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  struct LPUART_Type * base;
  <unnamed type> _1;
  void (*<T2e6>) (uint32, void *) _2;
  <unnamed type> _3;
  void (*<T2e6>) (uint32, void *) _4;
  long unsigned int _15;

  <bb 2> [local count: 1073741823]:
  # DEBUG BEGIN_STMT
  base_8 = Lpuart_Lin_Ip_apxBases[u32Instance_7(D)];
  # DEBUG base => base_8
  # DEBUG BEGIN_STMT
  linCurrentState_9 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_7(D)];
  # DEBUG linCurrentState => linCurrentState_9
  # DEBUG BEGIN_STMT
  pUserConfig_10 = Lpuart_Lin_Ip_apxUserConfigs[u32Instance_7(D)];
  # DEBUG pUserConfig => pUserConfig_10
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_HwClearStatusFlag (base_8, 131089);
  # DEBUG BEGIN_STMT
  # DEBUG base => base_8
  # DEBUG readData => &tmpByte
  # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwGetchar
  # DEBUG BEGIN_STMT
  _15 ={v} MEM[(const struct LPUART_Type *)base_8].DATA;
  # DEBUG tmpByte => (unsigned char) _15
  # DEBUG base => NULL
  # DEBUG readData => NULL
  # DEBUG BEGIN_STMT
  linCurrentState_9->currentEventId ={v} 8;
  # DEBUG BEGIN_STMT
  _1 ={v} linCurrentState_9->currentNodeState;
  if (_1 == 9)
    goto <bb 3>; [34.00%]
  else
    goto <bb 5>; [66.00%]

  <bb 3> [local count: 365072220]:
  # DEBUG BEGIN_STMT
  _2 = pUserConfig_10->Callback;
  if (_2 != 0B)
    goto <bb 4>; [70.00%]
  else
    goto <bb 8>; [30.00%]

  <bb 4> [local count: 255550554]:
  # DEBUG BEGIN_STMT
  _2 (u32Instance_7(D), linCurrentState_9);
  goto <bb 8>; [100.00%]

  <bb 5> [local count: 708669604]:
  # DEBUG BEGIN_STMT
  _3 ={v} linCurrentState_9->currentNodeState;
  if (_3 == 7)
    goto <bb 6>; [34.00%]
  else
    goto <bb 8>; [66.00%]

  <bb 6> [local count: 240947665]:
  # DEBUG BEGIN_STMT
  _4 = pUserConfig_10->Callback;
  if (_4 != 0B)
    goto <bb 7>; [70.00%]
  else
    goto <bb 8>; [30.00%]

  <bb 7> [local count: 168663365]:
  # DEBUG BEGIN_STMT
  _4 (u32Instance_7(D), linCurrentState_9);

  <bb 8> [local count: 1073741824]:
  # DEBUG D#2 => {CLOBBER}
  # DEBUG tmpByte => D#2
  return;

}


Lpuart_Lin_Ip_StatusBeforeTransfer (const uint8 u8Size, const struct Lpuart_Lin_Ip_StateStructType * linCurrentState)
{
  Lpuart_Lin_Ip_StatusType retVal;
  <unnamed type> _1;
  unsigned char _2;
  _Bool _3;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  _1 ={v} linCurrentState_6(D)->currentNodeState;
  # DEBUG checkSleepMode => _1 == 1
  # DEBUG BEGIN_STMT
  _2 = u8Size_7(D) + 255;
  if (_2 > 7)
    goto <bb 6>; [50.00%]
  else
    goto <bb 3>; [50.00%]

  <bb 3> [local count: 536870913]:
  if (_1 == 1)
    goto <bb 6>; [34.00%]
  else
    goto <bb 4>; [66.00%]

  <bb 4> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  _3 ={v} linCurrentState_6(D)->isBusBusy;
  if (_3 != 0)
    goto <bb 5>; [35.00%]
  else
    goto <bb 6>; [65.00%]

  <bb 5> [local count: 124017181]:
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 2

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

}


Lpuart_Lin_Ip_GetBytetoBuffer (const uint8 byteCnt, const uint8 u8BuffSize, uint8 * pBuff, const uint32 u32Instance)
{
  struct Lpuart_Lin_Ip_StateStructType * linCurrentState;
  const struct LPUART_Type * base;
  Lpuart_Lin_Ip_StatusType retVal;
  sizetype _1;
  uint8 * _2;
  unsigned char _3;
  unsigned char _4;
  long unsigned int _18;
  unsigned char _19;
  long unsigned int _20;
  unsigned char _21;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  base_9 = Lpuart_Lin_Ip_apxBases[u32Instance_8(D)];
  # DEBUG base => base_9
  # DEBUG BEGIN_STMT
  linCurrentState_10 = Lpuart_Lin_Ip_apxStateStructureArray[u32Instance_8(D)];
  # DEBUG linCurrentState => linCurrentState_10
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (byteCnt_11(D) < u8BuffSize_12(D))
    goto <bb 3>; [67.00%]
  else
    goto <bb 4>; [33.00%]

  <bb 3> [local count: 719407023]:
  # DEBUG BEGIN_STMT
  _1 = (sizetype) byteCnt_11(D);
  _2 = pBuff_13(D) + _1;
  # DEBUG base => base_9
  # DEBUG readData => _2
  # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwGetchar
  # DEBUG BEGIN_STMT
  _18 ={v} base_9->DATA;
  _19 = (unsigned char) _18;
  *_2 = _19;
  goto <bb 7>; [100.00%]

  <bb 4> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  # DEBUG base => base_9
  # DEBUG readData => &checkSum
  # DEBUG INLINE_ENTRY Lpuart_Lin_Ip_HwGetchar
  # DEBUG BEGIN_STMT
  _20 ={v} base_9->DATA;
  _21 = (unsigned char) _20;
  # DEBUG checkSum => _21
  # DEBUG base => NULL
  # DEBUG readData => NULL
  # DEBUG BEGIN_STMT
  _3 = linCurrentState_10->currentPid;
  _4 = Lpuart_Lin_Ip_MakeChecksumByte (u32Instance_8(D), pBuff_13(D), u8BuffSize_12(D), _3);
  if (_4 != _21)
    goto <bb 5>; [66.00%]
  else
    goto <bb 6>; [34.00%]

  <bb 5> [local count: 233860969]:
  # DEBUG BEGIN_STMT
  linCurrentState_10->currentEventId ={v} 10;
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 1
  goto <bb 7>; [100.00%]

  <bb 6> [local count: 120473833]:
  # DEBUG BEGIN_STMT
  linCurrentState_10->currentEventId ={v} 12;
  # DEBUG BEGIN_STMT
  linCurrentState_10->currentNodeState ={v} 8;
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0

  <bb 7> [local count: 1073741824]:
  # retVal_5 = PHI <0(3), 1(5), 0(6)>
  # DEBUG base => NULL
  # DEBUG readData => NULL
  # DEBUG retVal => retVal_5
  # DEBUG BEGIN_STMT
  # DEBUG D#3 => {CLOBBER}
  # DEBUG checkSum => D#3
  return retVal_5;

}


Lpuart_Lin_Ip_HwSetBreakCharDetectLength (struct LPUART_Type * base, uint8 length)
{
  long unsigned int _1;
  long unsigned int _2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  SchM_Enter_Lin_LIN_EXCLUSIVE_AREA_04 ();
  # DEBUG BEGIN_STMT
  _1 ={v} base_8(D)->STAT;
  _2 = _1 & 1038106623;
  _3 = (long unsigned int) length_9(D);
  _4 = _3 << 25;
  _5 = _2 | _4;
  base_8(D)->STAT ={v} _5;
  # DEBUG BEGIN_STMT
  SchM_Exit_Lin_LIN_EXCLUSIVE_AREA_04 ();
  return;

}


Lpuart_Lin_Ip_HwSetBreakCharTransmitLength (struct LPUART_Type * base, uint8 length)
{
  long unsigned int _1;
  long unsigned int _2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 ={v} base_7(D)->STAT;
  _2 = _1 & 1004552191;
  _3 = (long unsigned int) length_8(D);
  _4 = _3 << 26;
  _5 = _2 | _4;
  base_7(D)->STAT ={v} _5;
  return;

}


Lpuart_Lin_Ip_HwSetOversamplingRatio (struct LPUART_Type * base, uint32 overSamplingRatio)
{
  uint32 baudRegValTemp;
  long unsigned int _1;
  long unsigned int _2;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  baudRegValTemp_5 ={v} base_4(D)->BAUD;
  # DEBUG baudRegValTemp => baudRegValTemp_5
  # DEBUG BEGIN_STMT
  baudRegValTemp_6 = baudRegValTemp_5 & 3774873599;
  # DEBUG baudRegValTemp => baudRegValTemp_6
  # DEBUG BEGIN_STMT
  _1 = overSamplingRatio_7(D) << 24;
  _2 = _1 & 520093696;
  baudRegValTemp_8 = _2 | baudRegValTemp_6;
  # DEBUG baudRegValTemp => baudRegValTemp_8
  # DEBUG BEGIN_STMT
  base_4(D)->BAUD ={v} baudRegValTemp_8;
  return;

}


Lpuart_Lin_Ip_HwSetBaudRateDivisor (struct LPUART_Type * base, uint32 baudRateDivisor)
{
  uint32 baudRegValTemp;
  long unsigned int _1;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  baudRegValTemp_4 ={v} base_3(D)->BAUD;
  # DEBUG baudRegValTemp => baudRegValTemp_4
  # DEBUG BEGIN_STMT
  baudRegValTemp_5 = baudRegValTemp_4 & 4294959104;
  # DEBUG baudRegValTemp => baudRegValTemp_5
  # DEBUG BEGIN_STMT
  _1 = baudRateDivisor_6(D) & 8191;
  baudRegValTemp_7 = _1 | baudRegValTemp_5;
  # DEBUG baudRegValTemp => baudRegValTemp_7
  # DEBUG BEGIN_STMT
  base_3(D)->BAUD ={v} baudRegValTemp_7;
  return;

}


Lpuart_Lin_Ip_HwSetReceiverCmd (struct LPUART_Type * base, boolean enable)
{
  uint32 timeoutTicks;
  uint32 startTime;
  long unsigned int _1;
  long unsigned int _2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;
  _Bool _6;
  long unsigned int startTime.4_7;
  long unsigned int timeoutTicks.5_8;
  _Bool _9;
  long unsigned int iftmp.3_10;

  <bb 2> [local count: 12992276]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 ={v} base_13(D)->CTRL;
  _2 = _1 & 4294705151;
  if (enable_14(D) != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 3>; [50.00%]

  <bb 3> [local count: 6496138]:

  <bb 4> [local count: 12992276]:
  # iftmp.3_10 = PHI <262144(2), 0(3)>
  _3 = _2 | iftmp.3_10;
  base_13(D)->CTRL ={v} _3;
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_StartTimeout (&startTime, &timeoutTicks, 65535, 0);

  <bb 5> [local count: 118111600]:

  <bb 6> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _4 ={v} base_13(D)->CTRL;
  _5 = _4 & 262144;
  _6 = _5 != 0;
  if (_6 != enable_14(D))
    goto <bb 10>; [89.00%]
  else
    goto <bb 7>; [11.00%]

  <bb 10> [local count: 955630224]:
  goto <bb 6>; [100.00%]

  <bb 7> [local count: 118111601]:
  # DEBUG BEGIN_STMT
  startTime.4_7 = startTime;
  timeoutTicks.5_8 = timeoutTicks;
  _9 = Lpuart_Lin_Ip_TimeoutExpired (startTime.4_7, timeoutTicks.5_8, 0);
  if (_9 != 0)
    goto <bb 8>; [11.00%]
  else
    goto <bb 9>; [89.00%]

  <bb 9> [local count: 105119325]:
  goto <bb 5>; [100.00%]

  <bb 8> [local count: 12992276]:
  startTime ={v} {CLOBBER};
  timeoutTicks ={v} {CLOBBER};
  return;

}


Lpuart_Lin_Ip_HwSetTransmitterCmd (struct LPUART_Type * base, boolean enable)
{
  uint32 timeoutTicks;
  uint32 startTime;
  long unsigned int _1;
  long unsigned int _2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;
  _Bool _6;
  long unsigned int startTime.1_7;
  long unsigned int timeoutTicks.2_8;
  _Bool _9;
  long unsigned int iftmp.0_10;

  <bb 2> [local count: 12992276]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 ={v} base_13(D)->CTRL;
  _2 = _1 & 4294443007;
  if (enable_14(D) != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 3>; [50.00%]

  <bb 3> [local count: 6496138]:

  <bb 4> [local count: 12992276]:
  # iftmp.0_10 = PHI <524288(2), 0(3)>
  _3 = _2 | iftmp.0_10;
  base_13(D)->CTRL ={v} _3;
  # DEBUG BEGIN_STMT
  Lpuart_Lin_Ip_StartTimeout (&startTime, &timeoutTicks, 65535, 0);

  <bb 5> [local count: 118111600]:

  <bb 6> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _4 ={v} base_13(D)->CTRL;
  _5 = _4 & 524288;
  _6 = _5 != 0;
  if (_6 != enable_14(D))
    goto <bb 10>; [89.00%]
  else
    goto <bb 7>; [11.00%]

  <bb 10> [local count: 955630224]:
  goto <bb 6>; [100.00%]

  <bb 7> [local count: 118111601]:
  # DEBUG BEGIN_STMT
  startTime.1_7 = startTime;
  timeoutTicks.2_8 = timeoutTicks;
  _9 = Lpuart_Lin_Ip_TimeoutExpired (startTime.1_7, timeoutTicks.2_8, 0);
  if (_9 != 0)
    goto <bb 8>; [11.00%]
  else
    goto <bb 9>; [89.00%]

  <bb 9> [local count: 105119325]:
  goto <bb 5>; [100.00%]

  <bb 8> [local count: 12992276]:
  startTime ={v} {CLOBBER};
  timeoutTicks ={v} {CLOBBER};
  return;

}


