Histogram:
5 indirect calls trained.
0 (0.00%) have common target.
0 (0.00%) targets was not found.
0 (0.00%) targets had parameter count mismatch.
0 (0.00%) targets was not in polymorphic call target list.
0 (0.00%) speculations seems useless.
0 (0.00%) speculations produced.
LPUART_Uart_ClearStatusFlag.part.0 (struct LPUART_Type * pBase)
{
  Lpuart_Uart_Ip_StatusFlagType statusFlag;
  long unsigned int _2;
  long unsigned int _3;
  long unsigned int _4;

  <bb 4> [local count: 1073741824]:
  # DEBUG D#5 s=> statusFlag
  # DEBUG statusFlag => D#5

  <bb 2> [local count: 1073741824]:
<L0>:
  # DEBUG BEGIN_STMT
  _2 ={v} pBase_1(D)->STAT;
  _3 = _2 & 1071661055;
  _4 = _3 | 65536;
  pBase_1(D)->STAT ={v} _4;
  # DEBUG BEGIN_STMT

  <bb 3> [local count: 1073741824]:
<L1>:
  return;

}


Lpuart_Uart_Ip_GetData (uint32 u32Instance)
{
  uint16 u16Data;
  struct LPUART_Type * pBase;
  const struct Lpuart_Uart_Ip_UserConfigType * pUartUserCfg;
  struct Lpuart_Uart_Ip_StateStructureType * pUartState;
  <unnamed type> _1;
  uint8 * _2;
  <unnamed type> _3;
  uint8 * _4;
  unsigned char _5;
  unsigned char _6;
  uint8 * _7;
  uint8 * _8;
  long unsigned int _9;
  long unsigned int _10;
  long unsigned int _11;
  uint8 * _12;
  unsigned char _13;
  uint8 * _14;
  uint8 * _15;
  long unsigned int _16;
  long unsigned int _17;
  uint8 * _18;
  unsigned char _19;
  uint8 * _20;
  uint8 * _21;
  short unsigned int _22;
  unsigned char _23;
  uint8 * _24;
  uint8 * _25;
  long unsigned int _26;
  long unsigned int _27;
  long unsigned int _53;
  unsigned char _54;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pBase_34 = Lpuart_Uart_Ip_apBases[u32Instance_33(D)];
  # DEBUG pBase => pBase_34
  # DEBUG BEGIN_STMT
  pUartState_35 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_33(D)];
  # DEBUG pUartState => pUartState_35
  # DEBUG BEGIN_STMT
  pUartUserCfg_36 = Lpuart_Uart_Ip_apUserConfig[u32Instance_33(D)];
  # DEBUG pUartUserCfg => pUartUserCfg_36
  # DEBUG BEGIN_STMT
  _1 = pUartUserCfg_36->eBitCountPerChar;
  if (_1 <= 1)
    goto <bb 3>; [41.00%]
  else
    goto <bb 6>; [59.00%]

  <bb 3> [local count: 440234148]:
  # DEBUG BEGIN_STMT
  _2 = pUartState_35->pRxBuff;
  # DEBUG pBase => pBase_34
  # DEBUG INLINE_ENTRY LPUART_Uart_Getchar
  # DEBUG BEGIN_STMT
  _53 ={v} MEM[(const struct LPUART_Type *)pBase_34].DATA;
  _54 = (unsigned char) _53;
  # DEBUG pBase => NULL
  *_2 = _54;
  # DEBUG BEGIN_STMT
  _3 = pUartUserCfg_36->eBitCountPerChar;
  if (_3 == 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 4> [local count: 220117074]:
  # DEBUG BEGIN_STMT
  _4 = pUartState_35->pRxBuff;
  _5 = *_4;
  _6 = _5 & 127;
  *_4 = _6;

  <bb 5> [local count: 440234148]:
  # DEBUG BEGIN_STMT
  _7 = pUartState_35->pRxBuff;
  _8 = _7 + 1;
  pUartState_35->pRxBuff = _8;
  # DEBUG BEGIN_STMT
  _9 ={v} pUartState_35->u32RxSize;
  _10 = _9 + 4294967295;
  pUartState_35->u32RxSize ={v} _10;
  goto <bb 12>; [100.00%]

  <bb 6> [local count: 633507677]:
  # DEBUG BEGIN_STMT
  if (_1 == 2)
    goto <bb 7>; [34.00%]
  else
    goto <bb 8>; [66.00%]

  <bb 7> [local count: 215392610]:
  # DEBUG BEGIN_STMT
  u16Data_40 = LPUART_Uart_Getchar9 (pBase_34);
  # DEBUG u16Data => u16Data_40
  goto <bb 9>; [100.00%]

  <bb 8> [local count: 418115066]:
  # DEBUG BEGIN_STMT
  u16Data_38 = LPUART_Uart_Getchar10 (pBase_34);
  # DEBUG u16Data => u16Data_38

  <bb 9> [local count: 633507677]:
  # u16Data_28 = PHI <u16Data_40(7), u16Data_38(8)>
  # DEBUG u16Data => u16Data_28
  # DEBUG BEGIN_STMT
  _11 ={v} pUartState_35->u32RxSize;
  if (_11 == 1)
    goto <bb 10>; [34.00%]
  else
    goto <bb 11>; [66.00%]

  <bb 10> [local count: 215392610]:
  # DEBUG BEGIN_STMT
  _12 = pUartState_35->pRxBuff;
  _13 = (unsigned char) u16Data_28;
  *_12 = _13;
  # DEBUG BEGIN_STMT
  _14 = pUartState_35->pRxBuff;
  _15 = _14 + 1;
  pUartState_35->pRxBuff = _15;
  # DEBUG BEGIN_STMT
  _16 ={v} pUartState_35->u32RxSize;
  _17 = _16 + 4294967295;
  pUartState_35->u32RxSize ={v} _17;
  goto <bb 12>; [100.00%]

  <bb 11> [local count: 418115066]:
  # DEBUG BEGIN_STMT
  _18 = pUartState_35->pRxBuff;
  _19 = (unsigned char) u16Data_28;
  *_18 = _19;
  # DEBUG BEGIN_STMT
  _20 = pUartState_35->pRxBuff;
  _21 = _20 + 1;
  pUartState_35->pRxBuff = _21;
  # DEBUG BEGIN_STMT
  _22 = u16Data_28 >> 8;
  _23 = (unsigned char) _22;
  *_21 = _23;
  # DEBUG BEGIN_STMT
  _24 = pUartState_35->pRxBuff;
  _25 = _24 + 1;
  pUartState_35->pRxBuff = _25;
  # DEBUG BEGIN_STMT
  _26 ={v} pUartState_35->u32RxSize;
  _27 = _26 + 4294967294;
  pUartState_35->u32RxSize ={v} _27;

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

}


Lpuart_Uart_Ip_PutData (uint32 u32Instance)
{
  uint8 u8Data;
  uint16 u16Data;
  struct LPUART_Type * pBase;
  const struct Lpuart_Uart_Ip_UserConfigType * pUartUserCfg;
  struct Lpuart_Uart_Ip_StateStructureType * pUartState;
  <unnamed type> _1;
  const uint8 * _2;
  const uint8 * _3;
  long unsigned int _4;
  long unsigned int _5;
  const uint8 * _6;
  unsigned char _7;
  long unsigned int _8;
  const uint8 * _9;
  long unsigned int _10;
  long unsigned int _11;
  const uint8 * _12;
  unsigned char _13;
  short unsigned int _14;
  short unsigned int _15;
  const uint8 * _16;
  long unsigned int _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 BEGIN_STMT
  pBase_24 = Lpuart_Uart_Ip_apBases[u32Instance_23(D)];
  # DEBUG pBase => pBase_24
  # DEBUG BEGIN_STMT
  pUartState_25 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_23(D)];
  # DEBUG pUartState => pUartState_25
  # DEBUG BEGIN_STMT
  pUartUserCfg_26 = Lpuart_Uart_Ip_apUserConfig[u32Instance_23(D)];
  # DEBUG pUartUserCfg => pUartUserCfg_26
  # DEBUG BEGIN_STMT
  _1 = pUartUserCfg_26->eBitCountPerChar;
  if (_1 <= 1)
    goto <bb 3>; [41.00%]
  else
    goto <bb 4>; [59.00%]

  <bb 3> [local count: 440234148]:
  # DEBUG BEGIN_STMT
  _2 = pUartState_25->pTxBuff;
  u8Data_36 = *_2;
  # DEBUG u8Data => u8Data_36
  # DEBUG BEGIN_STMT
  _3 = _2 + 1;
  pUartState_25->pTxBuff = _3;
  # DEBUG BEGIN_STMT
  _4 ={v} pUartState_25->u32TxSize;
  _5 = _4 + 4294967295;
  pUartState_25->u32TxSize ={v} _5;
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_24
  # DEBUG data => u8Data_36
  # DEBUG INLINE_ENTRY LPUART_Uart_Putchar
  # DEBUG BEGIN_STMT
  # DEBUG D#1 => &pBase_24->DATA
  # DEBUG dataRegBytes => D#1
  # DEBUG BEGIN_STMT
  MEM[(volatile uint8 *)pBase_24 + 28B] ={v} u8Data_36;
  goto <bb 10>; [100.00%]

  <bb 4> [local count: 633507677]:
  # DEBUG BEGIN_STMT
  _6 = pUartState_25->pTxBuff;
  _7 = *_6;
  u16Data_27 = (uint16) _7;
  # DEBUG u16Data => u16Data_27
  # DEBUG BEGIN_STMT
  _8 ={v} pUartState_25->u32TxSize;
  if (_8 == 1)
    goto <bb 5>; [34.00%]
  else
    goto <bb 6>; [66.00%]

  <bb 5> [local count: 215392610]:
  # DEBUG BEGIN_STMT
  _9 = _6 + 1;
  pUartState_25->pTxBuff = _9;
  # DEBUG BEGIN_STMT
  _10 ={v} pUartState_25->u32TxSize;
  _11 = _10 + 4294967295;
  pUartState_25->u32TxSize ={v} _11;
  goto <bb 7>; [100.00%]

  <bb 6> [local count: 418115066]:
  # DEBUG BEGIN_STMT
  _12 = _6 + 1;
  pUartState_25->pTxBuff = _12;
  # DEBUG BEGIN_STMT
  _13 = *_12;
  _14 = (short unsigned int) _13;
  _15 = _14 << 8;
  u16Data_29 = _15 | u16Data_27;
  # DEBUG u16Data => u16Data_29
  # DEBUG BEGIN_STMT
  _16 = _12 + 1;
  pUartState_25->pTxBuff = _16;
  # DEBUG BEGIN_STMT
  _17 ={v} pUartState_25->u32TxSize;
  _18 = _17 + 4294967294;
  pUartState_25->u32TxSize ={v} _18;

  <bb 7> [local count: 633507677]:
  # u16Data_19 = PHI <u16Data_27(5), u16Data_29(6)>
  # DEBUG u16Data => u16Data_19
  # DEBUG BEGIN_STMT
  if (_1 == 2)
    goto <bb 8>; [34.00%]
  else
    goto <bb 9>; [66.00%]

  <bb 8> [local count: 215392610]:
  # DEBUG BEGIN_STMT
  LPUART_Uart_Putchar9 (pBase_24, u16Data_19);
  goto <bb 10>; [100.00%]

  <bb 9> [local count: 418115066]:
  # DEBUG BEGIN_STMT
  LPUART_Uart_Putchar10 (pBase_24, u16Data_19);

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

}


Lpuart_Uart_Ip_CompleteReceiveDataUsingInt (uint32 u32Instance)
{
  struct Lpuart_Uart_Ip_StateStructureType * pUartState;
  struct LPUART_Type * pBase;
  <unnamed type> _1;
  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;
  long unsigned int _17;
  long unsigned int _18;
  long unsigned int _19;
  long unsigned int _20;
  long unsigned int _21;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pBase_5 = Lpuart_Uart_Ip_apBases[u32Instance_4(D)];
  # DEBUG pBase => pBase_5
  # DEBUG BEGIN_STMT
  pUartState_6 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_4(D)];
  # DEBUG pUartState => pUartState_6
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_5
  # DEBUG enable => 0
  # DEBUG INLINE_ENTRY LPUART_Uart_SetReceiverCmd
  # DEBUG BEGIN_STMT
  _20 ={v} pBase_5->CTRL;
  _21 = _20 & 4294705151;
  pBase_5->CTRL ={v} _21;
  # DEBUG pBase => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_5
  # DEBUG intSrc => 27
  # DEBUG enable => 0
  # DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
  # DEBUG BEGIN_STMT
  _18 ={v} pBase_5->CTRL;
  _19 = _18 & 4160749567;
  pBase_5->CTRL ={v} _19;
  # DEBUG pBase => NULL
  # DEBUG intSrc => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_5
  # DEBUG intSrc => 24
  # DEBUG enable => 0
  # DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
  # DEBUG BEGIN_STMT
  _16 ={v} pBase_5->CTRL;
  _17 = _16 & 4278190079;
  pBase_5->CTRL ={v} _17;
  # DEBUG pBase => NULL
  # DEBUG intSrc => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_5
  # DEBUG intSrc => 26
  # DEBUG enable => 0
  # DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
  # DEBUG BEGIN_STMT
  _14 ={v} pBase_5->CTRL;
  _15 = _14 & 4227858431;
  pBase_5->CTRL ={v} _15;
  # DEBUG pBase => NULL
  # DEBUG intSrc => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_5
  # DEBUG intSrc => 25
  # DEBUG enable => 0
  # DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
  # DEBUG BEGIN_STMT
  _12 ={v} pBase_5->CTRL;
  _13 = _12 & 4261412863;
  pBase_5->CTRL ={v} _13;
  # DEBUG pBase => NULL
  # DEBUG intSrc => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_5
  # DEBUG intSrc => 21
  # DEBUG enable => 0
  # DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
  # DEBUG BEGIN_STMT
  _10 ={v} pBase_5->CTRL;
  _11 = _10 & 4292870143;
  pBase_5->CTRL ={v} _11;
  # DEBUG pBase => NULL
  # DEBUG intSrc => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_5
  # DEBUG INLINE_ENTRY LPUART_Uart_Getchar
  # DEBUG BEGIN_STMT
  _9 ={v} MEM[(const struct LPUART_Type *)pBase_5].DATA;
  # DEBUG pBase => NULL
  # DEBUG BEGIN_STMT
  pUartState_6->bIsRxBusy ={v} 0;
  # DEBUG BEGIN_STMT
  _1 ={v} pUartState_6->eReceiveStatus;
  if (_1 == 2)
    goto <bb 3>; [34.00%]
  else
    goto <bb 4>; [66.00%]

  <bb 3> [local count: 365072220]:
  # DEBUG BEGIN_STMT
  pUartState_6->eReceiveStatus ={v} 0;

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

}


Lpuart_Uart_Ip_StartReceiveDataUsingInt (uint32 u32Instance, uint8 * pRxBuff, uint32 u32RxSize)
{
  struct Lpuart_Uart_Ip_StateStructureType * pUartState;
  struct LPUART_Type * pBase;
  long unsigned int _12;
  long unsigned int _13;
  long unsigned int _14;
  long unsigned int _15;
  long unsigned int _16;
  long unsigned int _17;
  long unsigned int _18;
  long unsigned int _19;
  long unsigned int _20;
  long unsigned int _21;
  long unsigned int _22;
  long unsigned int _23;
  long unsigned int _24;
  long unsigned int _25;
  long unsigned int _26;
  long unsigned int _27;
  long unsigned int _28;
  long unsigned int _29;
  long unsigned int _30;
  long unsigned int _31;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pBase_3 = Lpuart_Uart_Ip_apBases[u32Instance_2(D)];
  # DEBUG pBase => pBase_3
  # DEBUG BEGIN_STMT
  pUartState_4 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_2(D)];
  # DEBUG pUartState => pUartState_4
  # DEBUG BEGIN_STMT
  pUartState_4->bIsRxBusy ={v} 1;
  # DEBUG BEGIN_STMT
  pUartState_4->pRxBuff = pRxBuff_6(D);
  # DEBUG BEGIN_STMT
  pUartState_4->u32RxSize ={v} u32RxSize_8(D);
  # DEBUG BEGIN_STMT
  pUartState_4->eReceiveStatus ={v} 2;
  # DEBUG BEGIN_STMT
  LPUART_Uart_ClearErrorFlags (pBase_3);
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_3
  # DEBUG INLINE_ENTRY LPUART_Uart_FlushRxBuffer
  # DEBUG BEGIN_STMT
  _30 ={v} pBase_3->FIFO;
  _31 = _30 | 16384;
  pBase_3->FIFO ={v} _31;
  # DEBUG pBase => NULL
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_3
  # DEBUG enable => 1
  # DEBUG INLINE_ENTRY LPUART_Uart_SetReceiverCmd
  # DEBUG BEGIN_STMT
  _27 ={v} pBase_3->CTRL;
  _28 = _27 & 4294705151;
  _29 = _28 | 262144;
  pBase_3->CTRL ={v} _29;
  # DEBUG pBase => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_3
  # DEBUG intSrc => 27
  # DEBUG enable => 1
  # DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
  # DEBUG BEGIN_STMT
  _24 ={v} pBase_3->CTRL;
  _25 = _24 & 4160749567;
  _26 = _25 | 134217728;
  pBase_3->CTRL ={v} _26;
  # DEBUG pBase => NULL
  # DEBUG intSrc => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_3
  # DEBUG intSrc => 24
  # DEBUG enable => 1
  # DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
  # DEBUG BEGIN_STMT
  _21 ={v} pBase_3->CTRL;
  _22 = _21 & 4278190079;
  _23 = _22 | 16777216;
  pBase_3->CTRL ={v} _23;
  # DEBUG pBase => NULL
  # DEBUG intSrc => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_3
  # DEBUG intSrc => 26
  # DEBUG enable => 1
  # DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
  # DEBUG BEGIN_STMT
  _18 ={v} pBase_3->CTRL;
  _19 = _18 & 4227858431;
  _20 = _19 | 67108864;
  pBase_3->CTRL ={v} _20;
  # DEBUG pBase => NULL
  # DEBUG intSrc => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_3
  # DEBUG intSrc => 25
  # DEBUG enable => 1
  # DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
  # DEBUG BEGIN_STMT
  _15 ={v} pBase_3->CTRL;
  _16 = _15 & 4261412863;
  _17 = _16 | 33554432;
  pBase_3->CTRL ={v} _17;
  # DEBUG pBase => NULL
  # DEBUG intSrc => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_3
  # DEBUG intSrc => 21
  # DEBUG enable => 1
  # DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
  # DEBUG BEGIN_STMT
  _12 ={v} pBase_3->CTRL;
  _13 = _12 & 4292870143;
  _14 = _13 | 2097152;
  pBase_3->CTRL ={v} _14;
  # DEBUG pBase => NULL
  # DEBUG intSrc => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  return 0;

}


Lpuart_Uart_Ip_CompleteSendDataUsingInt (uint32 u32Instance)
{
  struct LPUART_Type * pBase;
  struct Lpuart_Uart_Ip_StateStructureType * pUartState;
  <unnamed type> _1;
  long unsigned int _9;
  long unsigned int _10;
  long unsigned int _11;
  long unsigned int _12;
  long unsigned int _13;
  long unsigned int _14;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pBase_5 = Lpuart_Uart_Ip_apBases[u32Instance_4(D)];
  # DEBUG pBase => pBase_5
  # DEBUG BEGIN_STMT
  pUartState_6 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_4(D)];
  # DEBUG pUartState => pUartState_6
  # DEBUG BEGIN_STMT
  _1 ={v} pUartState_6->eTransmitStatus;
  if (_1 == 2)
    goto <bb 3>; [34.00%]
  else
    goto <bb 4>; [66.00%]

  <bb 3> [local count: 365072220]:
  # DEBUG BEGIN_STMT
  pUartState_6->eTransmitStatus ={v} 0;
  goto <bb 5>; [100.00%]

  <bb 4> [local count: 708669605]:
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_5
  # DEBUG intSrc => 23
  # DEBUG enable => 0
  # DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
  # DEBUG BEGIN_STMT
  _9 ={v} pBase_5->CTRL;
  _10 = _9 & 4286578687;
  pBase_5->CTRL ={v} _10;

  <bb 5> [local count: 1073741824]:
  # DEBUG pBase => NULL
  # DEBUG intSrc => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_5
  # DEBUG intSrc => 22
  # DEBUG enable => 0
  # DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
  # DEBUG BEGIN_STMT
  _13 ={v} pBase_5->CTRL;
  _14 = _13 & 4290772991;
  pBase_5->CTRL ={v} _14;
  # DEBUG pBase => NULL
  # DEBUG intSrc => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_5
  # DEBUG enable => 0
  # DEBUG INLINE_ENTRY LPUART_Uart_SetTransmitterCmd
  # DEBUG BEGIN_STMT
  _11 ={v} pBase_5->CTRL;
  _12 = _11 & 4294443007;
  pBase_5->CTRL ={v} _12;
  # DEBUG pBase => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  pUartState_6->bIsTxBusy ={v} 0;
  return;

}


Lpuart_Uart_Ip_StartSendDataUsingInt (uint32 u32Instance, const uint8 * pTxBuff, uint32 u32TxSize)
{
  struct Lpuart_Uart_Ip_StateStructureType * pUartState;
  struct LPUART_Type * pBase;
  long unsigned int _10;
  long unsigned int _11;
  long unsigned int _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
  pBase_3 = Lpuart_Uart_Ip_apBases[u32Instance_2(D)];
  # DEBUG pBase => pBase_3
  # DEBUG BEGIN_STMT
  pUartState_4 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_2(D)];
  # DEBUG pUartState => pUartState_4
  # DEBUG BEGIN_STMT
  pUartState_4->pTxBuff = pTxBuff_5(D);
  # DEBUG BEGIN_STMT
  pUartState_4->u32TxSize ={v} u32TxSize_7(D);
  # DEBUG BEGIN_STMT
  pUartState_4->eTransmitStatus ={v} 2;
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_3
  # DEBUG enable => 1
  # DEBUG INLINE_ENTRY LPUART_Uart_SetTransmitterCmd
  # DEBUG BEGIN_STMT
  _13 ={v} pBase_3->CTRL;
  _14 = _13 & 4294443007;
  _15 = _14 | 524288;
  pBase_3->CTRL ={v} _15;
  # DEBUG pBase => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_3
  # DEBUG intSrc => 23
  # DEBUG enable => 1
  # DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
  # DEBUG BEGIN_STMT
  _10 ={v} pBase_3->CTRL;
  _11 = _10 & 4286578687;
  _12 = _11 | 8388608;
  pBase_3->CTRL ={v} _12;
  # DEBUG pBase => NULL
  # DEBUG intSrc => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  return 0;

}


Lpuart_Uart_Ip_ErrIrqHandler (uint32 u32Instance)
{
  boolean retVal;
  boolean retVal;
  boolean retVal;
  boolean retVal;
  boolean retVal;
  boolean retVal;
  boolean retVal;
  boolean retVal;
  boolean bIsReturn;
  boolean bIsError;
  struct LPUART_Type * pBase;
  const struct Lpuart_Uart_Ip_UserConfigType * pUartUserCfg;
  struct Lpuart_Uart_Ip_StateStructureType * pUartState;
  <unnamed type> _1;
  void (*<T31c>) (uint32, void *, Lpuart_Uart_Ip_EventType, void *) _2;
  void * _3;
  long unsigned int _29;
  long unsigned int _30;
  long unsigned int _32;
  long unsigned int _33;
  long unsigned int _35;
  long unsigned int _36;
  long unsigned int _37;
  long unsigned int _38;
  long unsigned int _39;
  long unsigned int _41;
  long unsigned int _42;
  long unsigned int _44;
  long unsigned int _45;
  long unsigned int _46;
  long unsigned int _47;
  long unsigned int _48;
  long unsigned int _50;
  long unsigned int _51;
  long unsigned int _53;
  long unsigned int _54;
  long unsigned int _56;
  long unsigned int _57;
  long unsigned int _59;
  long unsigned int _60;
  long unsigned int _61;

  <bb 2> [local count: 1073741823]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG bIsError => 0
  # DEBUG BEGIN_STMT
  # DEBUG bIsReturn => 0
  # DEBUG BEGIN_STMT
  pBase_20 = Lpuart_Uart_Ip_apBases[u32Instance_19(D)];
  # DEBUG pBase => pBase_20
  # DEBUG BEGIN_STMT
  pUartState_21 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_19(D)];
  # DEBUG pUartState => pUartState_21
  # DEBUG BEGIN_STMT
  pUartUserCfg_22 = Lpuart_Uart_Ip_apUserConfig[u32Instance_19(D)];
  # DEBUG pUartUserCfg => pUartUserCfg_22
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_20
  # DEBUG eStatusFlag => 19
  # DEBUG INLINE_ENTRY LPUART_Uart_GetStatusFlag
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  _29 ={v} MEM[(const struct LPUART_Type *)pBase_20].STAT;
  _30 = _29 >> 19;
  retVal_31 = (boolean) _30;
  # DEBUG retVal => retVal_31
  # DEBUG BEGIN_STMT
  # DEBUG pBase => NULL
  # DEBUG eStatusFlag => NULL
  # DEBUG retVal => NULL
  if (retVal_31 != 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 3> [local count: 536870911]:
<L34>:
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_20
  # DEBUG statusFlag => 19
  # DEBUG INLINE_ENTRY LPUART_Uart_ClearStatusFlag
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _35 ={v} pBase_20->STAT;
  _36 = _35 & 1071661055;
  _37 = _36 | 524288;
  pBase_20->STAT ={v} _37;
  # DEBUG BEGIN_STMT
  # DEBUG pBase => NULL
  # DEBUG statusFlag => NULL
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_20
  # DEBUG intSrc => 27
  # DEBUG INLINE_ENTRY LPUART_Uart_GetIntMode
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  _32 ={v} MEM[(const struct LPUART_Type *)pBase_20].CTRL;
  _33 = _32 >> 27;
  retVal_34 = (boolean) _33;
  # DEBUG retVal => retVal_34
  # DEBUG BEGIN_STMT
  # DEBUG pBase => NULL
  # DEBUG intSrc => NULL
  # DEBUG retVal => NULL
  if (retVal_34 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 4> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  # DEBUG bIsError => 1
  # DEBUG BEGIN_STMT
  pUartState_21->eReceiveStatus ={v} 5;

  <bb 5> [local count: 1073741823]:
  # bIsError_4 = PHI <0(2), 0(3), 1(4)>
  # bIsReturn_8 = PHI <0(2), 1(3), 0(4)>
  # DEBUG bIsReturn => bIsReturn_8
  # DEBUG bIsError => bIsError_4
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_20
  # DEBUG eStatusFlag => 17
  # DEBUG INLINE_ENTRY LPUART_Uart_GetStatusFlag
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  _38 ={v} MEM[(const struct LPUART_Type *)pBase_20].STAT;
  _39 = _38 >> 17;
  retVal_40 = (boolean) _39;
  # DEBUG retVal => retVal_40
  # DEBUG BEGIN_STMT
  # DEBUG pBase => NULL
  # DEBUG eStatusFlag => NULL
  # DEBUG retVal => NULL
  if (retVal_40 != 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 9>; [50.00%]

  <bb 6> [local count: 536870911]:
  if (bIsReturn_8 != 0)
    goto <bb 9>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 7> [local count: 268435456]:
<L41>:
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_20
  # DEBUG statusFlag => 17
  # DEBUG INLINE_ENTRY LPUART_Uart_ClearStatusFlag
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _44 ={v} pBase_20->STAT;
  _45 = _44 & 1071661055;
  _46 = _45 | 131072;
  pBase_20->STAT ={v} _46;
  # DEBUG BEGIN_STMT
  # DEBUG pBase => NULL
  # DEBUG statusFlag => NULL
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_20
  # DEBUG intSrc => 25
  # DEBUG INLINE_ENTRY LPUART_Uart_GetIntMode
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  _41 ={v} MEM[(const struct LPUART_Type *)pBase_20].CTRL;
  _42 = _41 >> 25;
  retVal_43 = (boolean) _42;
  # DEBUG retVal => retVal_43
  # DEBUG BEGIN_STMT
  # DEBUG pBase => NULL
  # DEBUG intSrc => NULL
  # DEBUG retVal => NULL
  if (retVal_43 != 0)
    goto <bb 8>; [50.00%]
  else
    goto <bb 9>; [50.00%]

  <bb 8> [local count: 134217728]:
  # DEBUG BEGIN_STMT
  # DEBUG bIsError => 1
  # DEBUG BEGIN_STMT
  pUartState_21->eReceiveStatus ={v} 7;

  <bb 9> [local count: 1073741823]:
  # bIsError_5 = PHI <bIsError_4(5), bIsError_4(6), bIsError_4(7), 1(8)>
  # bIsReturn_9 = PHI <bIsReturn_8(5), bIsReturn_8(6), 1(7), 0(8)>
  # DEBUG bIsReturn => bIsReturn_9
  # DEBUG bIsError => bIsError_5
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_20
  # DEBUG eStatusFlag => 16
  # DEBUG INLINE_ENTRY LPUART_Uart_GetStatusFlag
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  _47 ={v} MEM[(const struct LPUART_Type *)pBase_20].STAT;
  _48 = _47 >> 16;
  retVal_49 = (boolean) _48;
  # DEBUG retVal => retVal_49
  # DEBUG BEGIN_STMT
  # DEBUG pBase => NULL
  # DEBUG eStatusFlag => NULL
  # DEBUG retVal => NULL
  if (retVal_49 != 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 13>; [50.00%]

  <bb 10> [local count: 536870911]:
  if (bIsReturn_9 != 0)
    goto <bb 13>; [67.00%]
  else
    goto <bb 11>; [33.00%]

  <bb 11> [local count: 177167401]:
<L47>:
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_20
  # DEBUG statusFlag => 16
  # DEBUG INLINE_ENTRY LPUART_Uart_ClearStatusFlag
  # DEBUG BEGIN_STMT
  # DEBUG D#4 => 16
  LPUART_Uart_ClearStatusFlag.part.0 (pBase_20);
  # DEBUG pBase => NULL
  # DEBUG statusFlag => NULL
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_20
  # DEBUG intSrc => 24
  # DEBUG INLINE_ENTRY LPUART_Uart_GetIntMode
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  _50 ={v} MEM[(const struct LPUART_Type *)pBase_20].CTRL;
  _51 = _50 >> 24;
  retVal_52 = (boolean) _51;
  # DEBUG retVal => retVal_52
  # DEBUG BEGIN_STMT
  # DEBUG pBase => NULL
  # DEBUG intSrc => NULL
  # DEBUG retVal => NULL
  if (retVal_52 != 0)
    goto <bb 12>; [50.00%]
  else
    goto <bb 13>; [50.00%]

  <bb 12> [local count: 88583700]:
  # DEBUG BEGIN_STMT
  # DEBUG bIsError => 1
  # DEBUG BEGIN_STMT
  pUartState_21->eReceiveStatus ={v} 8;

  <bb 13> [local count: 1073741824]:
  # bIsError_6 = PHI <bIsError_5(9), bIsError_5(10), bIsError_5(11), 1(12)>
  # bIsReturn_10 = PHI <bIsReturn_9(9), bIsReturn_9(10), 1(11), 0(12)>
  # DEBUG bIsReturn => bIsReturn_10
  # DEBUG bIsError => bIsError_6
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_20
  # DEBUG eStatusFlag => 18
  # DEBUG INLINE_ENTRY LPUART_Uart_GetStatusFlag
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  _53 ={v} MEM[(const struct LPUART_Type *)pBase_20].STAT;
  _54 = _53 >> 18;
  retVal_55 = (boolean) _54;
  # DEBUG retVal => retVal_55
  # DEBUG BEGIN_STMT
  # DEBUG pBase => NULL
  # DEBUG eStatusFlag => NULL
  # DEBUG retVal => NULL
  if (retVal_55 != 0)
    goto <bb 14>; [50.00%]
  else
    goto <bb 17>; [50.00%]

  <bb 14> [local count: 536870913]:
  if (bIsReturn_10 != 0)
    goto <bb 17>; [50.00%]
  else
    goto <bb 15>; [50.00%]

  <bb 15> [local count: 268435456]:
<L50>:
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_20
  # DEBUG statusFlag => 18
  # DEBUG INLINE_ENTRY LPUART_Uart_ClearStatusFlag
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _59 ={v} pBase_20->STAT;
  _60 = _59 & 1071661055;
  _61 = _60 | 262144;
  pBase_20->STAT ={v} _61;
  # DEBUG BEGIN_STMT
  # DEBUG pBase => NULL
  # DEBUG statusFlag => NULL
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_20
  # DEBUG intSrc => 26
  # DEBUG INLINE_ENTRY LPUART_Uart_GetIntMode
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  _56 ={v} MEM[(const struct LPUART_Type *)pBase_20].CTRL;
  _57 = _56 >> 26;
  retVal_58 = (boolean) _57;
  # DEBUG retVal => retVal_58
  # DEBUG BEGIN_STMT
  # DEBUG pBase => NULL
  # DEBUG intSrc => NULL
  # DEBUG retVal => NULL
  if (retVal_58 != 0)
    goto <bb 16>; [50.00%]
  else
    goto <bb 17>; [50.00%]

  <bb 16> [local count: 134217728]:
  # DEBUG BEGIN_STMT
  # DEBUG bIsError => 1
  # DEBUG BEGIN_STMT
  pUartState_21->eReceiveStatus ={v} 9;

  <bb 17> [local count: 1073741824]:
  # bIsError_7 = PHI <bIsError_6(13), bIsError_6(14), bIsError_6(15), 1(16)>
  # bIsReturn_11 = PHI <bIsReturn_10(13), bIsReturn_10(14), 1(15), 0(16)>
  # DEBUG bIsReturn => bIsReturn_11
  # DEBUG bIsError => bIsError_7
  # DEBUG BEGIN_STMT
  if (bIsReturn_11 != 0)
    goto <bb 23>; [50.00%]
  else
    goto <bb 18>; [50.00%]

  <bb 18> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  if (bIsError_7 != 0)
    goto <bb 19>; [50.00%]
  else
    goto <bb 23>; [50.00%]

  <bb 19> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  _1 = pUartUserCfg_22->eTransferType;
  if (_1 == 1)
    goto <bb 20>; [20.24%]
  else
    goto <bb 21>; [79.76%]

  <bb 20> [local count: 54331336]:
  # DEBUG BEGIN_STMT
  Lpuart_Uart_Ip_CompleteReceiveDataUsingInt (u32Instance_19(D));

  <bb 21> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  _2 = pUartUserCfg_22->pfErrorCallback;
  if (_2 != 0B)
    goto <bb 22>; [70.00%]
  else
    goto <bb 23>; [30.00%]

  <bb 22> [local count: 187904819]:
  # DEBUG BEGIN_STMT
  _3 = pUartUserCfg_22->pErrorCallbackParam;
  _2 (u32Instance_19(D), pUartState_21, 3, _3);

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

}


Lpuart_Uart_Ip_TxCompleteIrqHandler (uint32 u32Instance)
{
  const struct Lpuart_Uart_Ip_UserConfigType * pUartUserCfg;
  struct Lpuart_Uart_Ip_StateStructureType * pUartState;
  long unsigned int _1;
  <unnamed type> _2;
  void (*<T31c>) (uint32, void *, Lpuart_Uart_Ip_EventType, void *) _3;
  void * _4;

  <bb 2> [local count: 1073741823]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pUartState_9 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_8(D)];
  # DEBUG pUartState => pUartState_9
  # DEBUG BEGIN_STMT
  pUartUserCfg_10 = Lpuart_Uart_Ip_apUserConfig[u32Instance_8(D)];
  # DEBUG pUartUserCfg => pUartUserCfg_10
  # DEBUG BEGIN_STMT
  _1 ={v} pUartState_9->u32TxSize;
  if (_1 == 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 3> [local count: 536870911]:
  # DEBUG BEGIN_STMT
  _2 = pUartUserCfg_10->eTransferType;
  if (_2 == 1)
    goto <bb 4>; [20.24%]
  else
    goto <bb 5>; [79.76%]

  <bb 4> [local count: 108662672]:
  # DEBUG BEGIN_STMT
  Lpuart_Uart_Ip_CompleteSendDataUsingInt (u32Instance_8(D));

  <bb 5> [local count: 536870911]:
  # DEBUG BEGIN_STMT
  _3 = pUartUserCfg_10->pfTxCallback;
  if (_3 != 0B)
    goto <bb 6>; [70.00%]
  else
    goto <bb 7>; [30.00%]

  <bb 6> [local count: 375809638]:
  # DEBUG BEGIN_STMT
  _4 = pUartUserCfg_10->pTxCallbackParam;
  _3 (u32Instance_8(D), pUartState_9, 2, _4);

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

}


Lpuart_Uart_Ip_TxEmptyIrqHandler (uint32 u32Instance)
{
  struct LPUART_Type * pBase;
  const struct Lpuart_Uart_Ip_UserConfigType * pUartUserCfg;
  struct Lpuart_Uart_Ip_StateStructureType * pUartState;
  long unsigned int _1;
  long unsigned int _2;
  void (*<T31c>) (uint32, void *, Lpuart_Uart_Ip_EventType, void *) _3;
  void * _4;
  long unsigned int _5;
  long unsigned int _15;
  long unsigned int _16;
  long unsigned int _17;
  long unsigned int _18;
  long unsigned int _19;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pBase_10 = Lpuart_Uart_Ip_apBases[u32Instance_9(D)];
  # DEBUG pBase => pBase_10
  # DEBUG BEGIN_STMT
  pUartState_11 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_9(D)];
  # DEBUG pUartState => pUartState_11
  # DEBUG BEGIN_STMT
  pUartUserCfg_12 = Lpuart_Uart_Ip_apUserConfig[u32Instance_9(D)];
  # DEBUG pUartUserCfg => pUartUserCfg_12
  # DEBUG BEGIN_STMT
  _1 ={v} pUartState_11->u32TxSize;
  if (_1 != 0)
    goto <bb 3>; [33.00%]
  else
    goto <bb 8>; [67.00%]

  <bb 3> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  Lpuart_Uart_Ip_PutData (u32Instance_9(D));
  # DEBUG BEGIN_STMT
  _2 ={v} pUartState_11->u32TxSize;
  if (_2 == 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 4> [local count: 177167401]:
  _3 = pUartUserCfg_12->pfTxCallback;
  if (_3 != 0B)
    goto <bb 5>; [70.00%]
  else
    goto <bb 6>; [30.00%]

  <bb 5> [local count: 124017181]:
  # DEBUG BEGIN_STMT
  _4 = pUartUserCfg_12->pTxCallbackParam;
  _3 (u32Instance_9(D), pUartState_11, 1, _4);

  <bb 6> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  _5 ={v} pUartState_11->u32TxSize;
  if (_5 == 0)
    goto <bb 7>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 7> [local count: 177167401]:
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_10
  # DEBUG intSrc => 23
  # DEBUG enable => 0
  # DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
  # DEBUG BEGIN_STMT
  _18 ={v} pBase_10->CTRL;
  _19 = _18 & 4286578687;
  pBase_10->CTRL ={v} _19;
  # DEBUG pBase => NULL
  # DEBUG intSrc => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_10
  # DEBUG intSrc => 22
  # DEBUG enable => 1
  # DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
  # DEBUG BEGIN_STMT
  _15 ={v} pBase_10->CTRL;
  _16 = _15 & 4290772991;
  _17 = _16 | 4194304;
  pBase_10->CTRL ={v} _17;

  <bb 8> [local count: 1073741824]:
  # DEBUG pBase => NULL
  # DEBUG intSrc => NULL
  # DEBUG enable => NULL
  return;

}


Lpuart_Uart_Ip_RxIrqHandler (uint32 u32Instance)
{
  const struct Lpuart_Uart_Ip_UserConfigType * pUartUserCfg;
  struct Lpuart_Uart_Ip_StateStructureType * pUartState;
  long unsigned int _1;
  void (*<T31c>) (uint32, void *, Lpuart_Uart_Ip_EventType, void *) _2;
  void * _3;
  long unsigned int _4;
  void (*<T31c>) (uint32, void *, Lpuart_Uart_Ip_EventType, void *) _5;
  void * _6;

  <bb 2> [local count: 1073741821]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pUartState_11 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_10(D)];
  # DEBUG pUartState => pUartState_11
  # DEBUG BEGIN_STMT
  pUartUserCfg_12 = Lpuart_Uart_Ip_apUserConfig[u32Instance_10(D)];
  # DEBUG pUartUserCfg => pUartUserCfg_12
  # DEBUG BEGIN_STMT
  Lpuart_Uart_Ip_GetData (u32Instance_10(D));
  # DEBUG BEGIN_STMT
  _1 ={v} pUartState_11->u32RxSize;
  if (_1 == 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 3> [local count: 536870910]:
  # DEBUG BEGIN_STMT
  _2 = pUartUserCfg_12->pfRxCallback;
  if (_2 != 0B)
    goto <bb 4>; [70.00%]
  else
    goto <bb 5>; [30.00%]

  <bb 4> [local count: 375809637]:
  # DEBUG BEGIN_STMT
  _3 = pUartUserCfg_12->pRxCallbackParam;
  _2 (u32Instance_10(D), pUartState_11, 0, _3);

  <bb 5> [local count: 1073741823]:
  # DEBUG BEGIN_STMT
  _4 ={v} pUartState_11->u32RxSize;
  if (_4 == 0)
    goto <bb 6>; [33.00%]
  else
    goto <bb 8>; [67.00%]

  <bb 6> [local count: 354334801]:
  # DEBUG BEGIN_STMT
  Lpuart_Uart_Ip_CompleteReceiveDataUsingInt (u32Instance_10(D));
  # DEBUG BEGIN_STMT
  _5 = pUartUserCfg_12->pfRxCallback;
  if (_5 != 0B)
    goto <bb 7>; [70.00%]
  else
    goto <bb 8>; [30.00%]

  <bb 7> [local count: 248034361]:
  # DEBUG BEGIN_STMT
  _6 = pUartUserCfg_12->pRxCallbackParam;
  _5 (u32Instance_10(D), pUartState_11, 2, _6);

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

}


Lpuart_Uart_Ip_IRQHandler (uint32 u32Instance)
{
  boolean retVal;
  boolean retVal;
  boolean retVal;
  boolean retVal;
  boolean retVal;
  boolean retVal;
  volatile boolean x;
  boolean bIsReturn;
  struct Lpuart_Uart_Ip_StateStructureType * pUartState;
  struct LPUART_Type * pBase;
  _Bool _1;
  _Bool x.1_16;
  long unsigned int _17;
  long unsigned int _18;
  long unsigned int _19;
  long unsigned int _21;
  long unsigned int _22;
  long unsigned int _24;
  long unsigned int _25;
  long unsigned int _26;
  long unsigned int _28;
  long unsigned int _29;
  long unsigned int _31;
  long unsigned int _32;
  long unsigned int _34;
  long unsigned int _35;

  <bb 2> [local count: 214748]:
  # DEBUG BEGIN_STMT
  _1 = u32Instance_7(D) <= 15;
  x ={v} _1;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_16 ={v} x;
  if (x.1_16 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 19>; [50.00%]

  <bb 19> [local count: 107374]:

  <bb 3> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 20> [local count: 1073741824]:
  goto <bb 3>; [100.00%]

  <bb 4> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pBase_9 = Lpuart_Uart_Ip_apBases[u32Instance_7(D)];
  # DEBUG pBase => pBase_9
  # DEBUG BEGIN_STMT
  pUartState_10 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_7(D)];
  # DEBUG pUartState => pUartState_10
  # DEBUG BEGIN_STMT
  # DEBUG bIsReturn => 0
  # DEBUG BEGIN_STMT
  if (pUartState_10 == 0B)
    goto <bb 5>; [30.00%]
  else
    goto <bb 6>; [70.00%]

  <bb 5> [local count: 32212]:
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_9
  # DEBUG INLINE_ENTRY LPUART_Uart_Getchar
  # DEBUG BEGIN_STMT
  _17 ={v} MEM[(const struct LPUART_Type *)pBase_9].DATA;
  # DEBUG pBase => NULL
  # DEBUG BEGIN_STMT
  LPUART_Uart_ClearErrorFlags (pBase_9);
  goto <bb 18>; [100.00%]

  <bb 6> [local count: 75162]:
  # DEBUG BEGIN_STMT
  Lpuart_Uart_Ip_ErrIrqHandler (u32Instance_7(D));
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_9
  # DEBUG eStatusFlag => 21
  # DEBUG INLINE_ENTRY LPUART_Uart_GetStatusFlag
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  _18 ={v} MEM[(const struct LPUART_Type *)pBase_9].STAT;
  _19 = _18 >> 21;
  retVal_20 = (boolean) _19;
  # DEBUG retVal => retVal_20
  # DEBUG BEGIN_STMT
  # DEBUG pBase => NULL
  # DEBUG eStatusFlag => NULL
  # DEBUG retVal => NULL
  if (retVal_20 != 0)
    goto <bb 7>; [50.00%]
  else
    goto <bb 10>; [50.00%]

  <bb 7> [local count: 37581]:
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_9
  # DEBUG intSrc => 21
  # DEBUG INLINE_ENTRY LPUART_Uart_GetIntMode
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  _21 ={v} MEM[(const struct LPUART_Type *)pBase_9].CTRL;
  _22 = _21 >> 21;
  retVal_23 = (boolean) _22;
  # DEBUG retVal => retVal_23
  # DEBUG BEGIN_STMT
  # DEBUG pBase => NULL
  # DEBUG intSrc => NULL
  # DEBUG retVal => NULL
  if (retVal_23 != 0)
    goto <bb 8>; [33.00%]
  else
    goto <bb 9>; [67.00%]

  <bb 8> [local count: 12402]:
  # DEBUG BEGIN_STMT
  Lpuart_Uart_Ip_RxIrqHandler (u32Instance_7(D));
  goto <bb 10>; [100.00%]

  <bb 9> [local count: 25179]:
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_9
  # DEBUG INLINE_ENTRY LPUART_Uart_Getchar
  # DEBUG BEGIN_STMT
  _24 ={v} MEM[(const struct LPUART_Type *)pBase_9].DATA;

  <bb 10> [local count: 75162]:
  # bIsReturn_2 = PHI <0(6), 1(9), 1(8)>
  # DEBUG pBase => NULL
  # DEBUG bIsReturn => bIsReturn_2
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_9
  # DEBUG eStatusFlag => 23
  # DEBUG INLINE_ENTRY LPUART_Uart_GetStatusFlag
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  _25 ={v} MEM[(const struct LPUART_Type *)pBase_9].STAT;
  _26 = _25 >> 23;
  retVal_27 = (boolean) _26;
  # DEBUG retVal => retVal_27
  # DEBUG BEGIN_STMT
  # DEBUG pBase => NULL
  # DEBUG eStatusFlag => NULL
  # DEBUG retVal => NULL
  if (retVal_27 != 0)
    goto <bb 11>; [50.00%]
  else
    goto <bb 14>; [50.00%]

  <bb 11> [local count: 37581]:
  if (bIsReturn_2 != 0)
    goto <bb 14>; [50.00%]
  else
    goto <bb 12>; [50.00%]

  <bb 12> [local count: 18790]:
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_9
  # DEBUG intSrc => 23
  # DEBUG INLINE_ENTRY LPUART_Uart_GetIntMode
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  _28 ={v} MEM[(const struct LPUART_Type *)pBase_9].CTRL;
  _29 = _28 >> 23;
  retVal_30 = (boolean) _29;
  # DEBUG retVal => retVal_30
  # DEBUG BEGIN_STMT
  # DEBUG pBase => NULL
  # DEBUG intSrc => NULL
  # DEBUG retVal => NULL
  if (retVal_30 != 0)
    goto <bb 13>; [33.00%]
  else
    goto <bb 14>; [67.00%]

  <bb 13> [local count: 6201]:
  # DEBUG BEGIN_STMT
  Lpuart_Uart_Ip_TxEmptyIrqHandler (u32Instance_7(D));
  # DEBUG BEGIN_STMT
  # DEBUG bIsReturn => 1

  <bb 14> [local count: 75162]:
  # bIsReturn_3 = PHI <bIsReturn_2(10), bIsReturn_2(11), 0(12), 1(13)>
  # DEBUG bIsReturn => bIsReturn_3
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_9
  # DEBUG eStatusFlag => 22
  # DEBUG INLINE_ENTRY LPUART_Uart_GetStatusFlag
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  _31 ={v} MEM[(const struct LPUART_Type *)pBase_9].STAT;
  _32 = _31 >> 22;
  retVal_33 = (boolean) _32;
  # DEBUG retVal => retVal_33
  # DEBUG BEGIN_STMT
  # DEBUG pBase => NULL
  # DEBUG eStatusFlag => NULL
  # DEBUG retVal => NULL
  if (retVal_33 != 0)
    goto <bb 15>; [50.00%]
  else
    goto <bb 18>; [50.00%]

  <bb 15> [local count: 37581]:
  if (bIsReturn_3 != 0)
    goto <bb 18>; [50.00%]
  else
    goto <bb 16>; [50.00%]

  <bb 16> [local count: 18790]:
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_9
  # DEBUG intSrc => 22
  # DEBUG INLINE_ENTRY LPUART_Uart_GetIntMode
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  _34 ={v} MEM[(const struct LPUART_Type *)pBase_9].CTRL;
  _35 = _34 >> 22;
  retVal_36 = (boolean) _35;
  # DEBUG retVal => retVal_36
  # DEBUG BEGIN_STMT
  # DEBUG pBase => NULL
  # DEBUG intSrc => NULL
  # DEBUG retVal => NULL
  if (retVal_36 != 0)
    goto <bb 17>; [33.00%]
  else
    goto <bb 18>; [67.00%]

  <bb 17> [local count: 6201]:
  # DEBUG BEGIN_STMT
  Lpuart_Uart_Ip_TxCompleteIrqHandler (u32Instance_7(D));

  <bb 18> [local count: 107374]:
  # DEBUG BEGIN_STMT
  return;

}


Lpuart_Uart_Ip_SetRxBuffer (uint32 u32Instance, uint8 * pRxBuff, uint32 u32RxSize)
{
  volatile boolean x;
  volatile boolean x;
  volatile boolean x;
  struct Lpuart_Uart_Ip_StateStructureType * pUartState;
  _Bool _1;
  _Bool _2;
  _Bool _3;
  _Bool x.1_11;
  _Bool x.1_12;
  _Bool x.1_13;

  <bb 2> [local count: 214748]:
  # DEBUG BEGIN_STMT
  _1 = u32Instance_4(D) <= 15;
  x ={v} _1;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_13 ={v} x;
  if (x.1_13 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 11> [local count: 107374]:

  <bb 3> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 14> [local count: 1073741824]:
  goto <bb 3>; [100.00%]

  <bb 4> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  _2 = pRxBuff_6(D) != 0B;
  x ={v} _2;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_12 ={v} x;
  if (x.1_12 != 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 10>; [50.00%]

  <bb 10> [local count: 53687]:

  <bb 5> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 13> [local count: 536870913]:
  goto <bb 5>; [100.00%]

  <bb 6> [local count: 53687]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  _3 = u32RxSize_7(D) != 0;
  x ={v} _3;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_11 ={v} x;
  if (x.1_11 != 0)
    goto <bb 8>; [50.00%]
  else
    goto <bb 9>; [50.00%]

  <bb 9> [local count: 26844]:

  <bb 7> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 12> [local count: 268435456]:
  goto <bb 7>; [100.00%]

  <bb 8> [local count: 26844]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pUartState_8 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_4(D)];
  # DEBUG pUartState => pUartState_8
  # DEBUG BEGIN_STMT
  pUartState_8->pRxBuff = pRxBuff_6(D);
  # DEBUG BEGIN_STMT
  pUartState_8->u32RxSize ={v} u32RxSize_7(D);
  # DEBUG BEGIN_STMT
  return 0;

}


Lpuart_Uart_Ip_SetTxBuffer (uint32 u32Instance, const uint8 * pTxBuff, uint32 u32TxSize)
{
  volatile boolean x;
  volatile boolean x;
  volatile boolean x;
  struct Lpuart_Uart_Ip_StateStructureType * pUartState;
  _Bool _1;
  _Bool _2;
  _Bool _3;
  _Bool x.1_11;
  _Bool x.1_12;
  _Bool x.1_13;

  <bb 2> [local count: 214748]:
  # DEBUG BEGIN_STMT
  _1 = u32Instance_4(D) <= 15;
  x ={v} _1;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_13 ={v} x;
  if (x.1_13 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 11> [local count: 107374]:

  <bb 3> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 14> [local count: 1073741824]:
  goto <bb 3>; [100.00%]

  <bb 4> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  _2 = pTxBuff_6(D) != 0B;
  x ={v} _2;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_12 ={v} x;
  if (x.1_12 != 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 10>; [50.00%]

  <bb 10> [local count: 53687]:

  <bb 5> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 13> [local count: 536870913]:
  goto <bb 5>; [100.00%]

  <bb 6> [local count: 53687]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  _3 = u32TxSize_7(D) != 0;
  x ={v} _3;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_11 ={v} x;
  if (x.1_11 != 0)
    goto <bb 8>; [50.00%]
  else
    goto <bb 9>; [50.00%]

  <bb 9> [local count: 26844]:

  <bb 7> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 12> [local count: 268435456]:
  goto <bb 7>; [100.00%]

  <bb 8> [local count: 26844]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pUartState_8 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_4(D)];
  # DEBUG pUartState => pUartState_8
  # DEBUG BEGIN_STMT
  pUartState_8->pTxBuff = pTxBuff_6(D);
  # DEBUG BEGIN_STMT
  pUartState_8->u32TxSize ={v} u32TxSize_7(D);
  # DEBUG BEGIN_STMT
  return 0;

}


Lpuart_Uart_Ip_GetBaudRate (uint32 u32Instance, uint32 * pConfiguredBaudRate)
{
  volatile boolean x;
  volatile boolean x;
  struct Lpuart_Uart_Ip_StateStructureType * pUartState;
  _Bool _1;
  _Bool _2;
  long unsigned int _3;
  _Bool x.1_9;
  _Bool x.1_10;

  <bb 2> [local count: 214748]:
  # DEBUG BEGIN_STMT
  _1 = u32Instance_4(D) <= 15;
  x ={v} _1;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_10 ={v} x;
  if (x.1_10 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 8> [local count: 107374]:

  <bb 3> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 10> [local count: 1073741824]:
  goto <bb 3>; [100.00%]

  <bb 4> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  _2 = pConfiguredBaudRate_6(D) != 0B;
  x ={v} _2;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_9 ={v} x;
  if (x.1_9 != 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 7> [local count: 53687]:

  <bb 5> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

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

  <bb 6> [local count: 53687]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pUartState_7 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_4(D)];
  # DEBUG pUartState => pUartState_7
  # DEBUG BEGIN_STMT
  _3 = pUartState_7->u32BaudRate;
  *pConfiguredBaudRate_6(D) = _3;
  return;

}


Lpuart_Uart_Ip_SetBaudRate (uint32 u32Instance, Lpuart_Uart_Ip_BaudrateType u32DesiredBaudrate, uint32 u32ClockFrequency)
{
  volatile boolean x;
  volatile boolean x;
  volatile boolean x;
  Lpuart_Uart_Ip_StatusType retVal;
  boolean bIsReturn;
  struct Lpuart_Uart_Ip_StateStructureType * pUartState;
  struct LPUART_Type * pBase;
  uint32 maxOsr;
  uint32 baudDiff;
  uint32 calculatedBaud;
  uint32 tempDiff;
  uint32 osr;
  uint16 i;
  uint16 sbrTemp;
  uint16 sbr;
  _Bool _1;
  _Bool _2;
  _Bool _3;
  _Bool _4;
  unsigned int _5;
  _Bool _6;
  long unsigned int _7;
  long unsigned int _8;
  long unsigned int _9;
  unsigned int _10;
  long unsigned int _11;
  int _12;
  int _13;
  int _14;
  long unsigned int _15;
  long unsigned int _16;
  long unsigned int _17;
  long unsigned int _18;
  long unsigned int _43;
  long unsigned int _44;
  _Bool x.1_61;
  _Bool x.1_62;
  _Bool x.1_63;
  long unsigned int _64;
  long unsigned int _65;

  <bb 2> [local count: 214748]:
  # DEBUG BEGIN_STMT
  _1 = u32Instance_39(D) <= 15;
  x ={v} _1;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_61 ={v} x;
  if (x.1_61 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 34>; [50.00%]

  <bb 34> [local count: 107374]:

  <bb 3> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 37> [local count: 1073741824]:
  goto <bb 3>; [100.00%]

  <bb 4> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pBase_41 = Lpuart_Uart_Ip_apBases[u32Instance_39(D)];
  # DEBUG pBase => pBase_41
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pUartState_42 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_39(D)];
  # DEBUG pUartState => pUartState_42
  # DEBUG BEGIN_STMT
  # DEBUG bIsReturn => 0
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 1
  # DEBUG BEGIN_STMT
  if (pUartState_42 != 0B)
    goto <bb 5>; [70.00%]
  else
    goto <bb 10>; [30.00%]

  <bb 5> [local count: 75162]:
  # DEBUG BEGIN_STMT
  _2 ={v} pUartState_42->bIsTxBusy;
  if (_2 != 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 6> [local count: 37581]:
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 2
  # DEBUG BEGIN_STMT
  # DEBUG bIsReturn => 1

  <bb 7> [local count: 75162]:
  # bIsReturn_32 = PHI <0(5), 1(6)>
  # retVal_34 = PHI <1(5), 2(6)>
  # DEBUG retVal => retVal_34
  # DEBUG bIsReturn => bIsReturn_32
  # DEBUG BEGIN_STMT
  _3 ={v} pUartState_42->bIsRxBusy;
  if (_3 != 0)
    goto <bb 8>; [50.00%]
  else
    goto <bb 10>; [50.00%]

  <bb 8> [local count: 37581]:
  if (bIsReturn_32 != 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 9>; [50.00%]

  <bb 9> [local count: 18790]:
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 2
  # DEBUG BEGIN_STMT
  # DEBUG bIsReturn => 1

  <bb 10> [local count: 107374]:
  # bIsReturn_33 = PHI <0(4), bIsReturn_32(7), bIsReturn_32(8), 1(9)>
  # retVal_35 = PHI <1(4), retVal_34(7), retVal_34(8), 2(9)>
  # DEBUG retVal => retVal_35
  # DEBUG bIsReturn => bIsReturn_33
  # DEBUG BEGIN_STMT
  if (bIsReturn_33 != 0)
    goto <bb 31>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 11> [local count: 53687]:
  # DEBUG BEGIN_STMT
  _4 = u32ClockFrequency_45(D) != 0;
  x ={v} _4;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_63 ={v} x;
  if (x.1_63 != 0)
    goto <bb 13>; [50.00%]
  else
    goto <bb 33>; [50.00%]

  <bb 33> [local count: 26844]:

  <bb 12> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 36> [local count: 268435456]:
  goto <bb 12>; [100.00%]

  <bb 13> [local count: 26844]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  _5 = u32DesiredBaudrate_46(D) * 5;
  _6 = _5 <= u32ClockFrequency_45(D);
  x ={v} _6;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_62 ={v} x;
  if (x.1_62 != 0)
    goto <bb 15>; [50.00%]
  else
    goto <bb 32>; [50.00%]

  <bb 32> [local count: 13422]:

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

  <bb 35> [local count: 134217728]:
  goto <bb 14>; [100.00%]

  <bb 15> [local count: 13422]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  # DEBUG osr => 4
  # DEBUG BEGIN_STMT
  _7 = u32DesiredBaudrate_46(D) * 4;
  _8 = u32ClockFrequency_45(D) / _7;
  sbr_47 = (uint16) _8;
  # DEBUG sbr => sbr_47
  # DEBUG BEGIN_STMT
  _43 = _8 & 65535;
  _9 = _43 * 4;
  calculatedBaud_48 = u32ClockFrequency_45(D) / _9;
  # DEBUG calculatedBaud => calculatedBaud_48
  # DEBUG BEGIN_STMT
  if (u32DesiredBaudrate_46(D) < calculatedBaud_48)
    goto <bb 16>; [50.00%]
  else
    goto <bb 17>; [50.00%]

  <bb 16> [local count: 6711]:
  # DEBUG BEGIN_STMT
  baudDiff_50 = calculatedBaud_48 - u32DesiredBaudrate_46(D);
  # DEBUG baudDiff => baudDiff_50
  goto <bb 18>; [100.00%]

  <bb 17> [local count: 6711]:
  # DEBUG BEGIN_STMT
  baudDiff_49 = u32DesiredBaudrate_46(D) - calculatedBaud_48;
  # DEBUG baudDiff => baudDiff_49

  <bb 18> [local count: 13422]:
  # baudDiff_29 = PHI <baudDiff_50(16), baudDiff_49(17)>
  # DEBUG baudDiff => baudDiff_29
  # DEBUG BEGIN_STMT
  maxOsr_51 = u32ClockFrequency_45(D) / u32DesiredBaudrate_46(D);
  # DEBUG maxOsr => maxOsr_51
  # DEBUG BEGIN_STMT
  if (maxOsr_51 > 32)
    goto <bb 26>; [50.00%]
  else
    goto <bb 19>; [50.00%]

  <bb 19> [local count: 6711]:
  # DEBUG maxOsr => maxOsr_51
  # DEBUG BEGIN_STMT
  if (maxOsr_51 > 4)
    goto <bb 26>; [50.00%]
  else
    goto <bb 28>; [50.00%]

  <bb 20> [local count: 81446]:
  # DEBUG BEGIN_STMT
  _10 = _16 * u32DesiredBaudrate_46(D);
  _11 = u32ClockFrequency_45(D) / _10;
  sbrTemp_53 = (uint16) _11;
  # DEBUG sbrTemp => sbrTemp_53
  # DEBUG BEGIN_STMT
  _12 = (int) i_22;
  _44 = _11 & 65535;
  _13 = (int) _44;
  _14 = _12 * _13;
  _15 = (long unsigned int) _14;
  calculatedBaud_54 = u32ClockFrequency_45(D) / _15;
  # DEBUG calculatedBaud => calculatedBaud_54
  # DEBUG BEGIN_STMT
  if (u32DesiredBaudrate_46(D) < calculatedBaud_54)
    goto <bb 21>; [50.00%]
  else
    goto <bb 22>; [50.00%]

  <bb 21> [local count: 40723]:
  # DEBUG BEGIN_STMT
  tempDiff_56 = calculatedBaud_54 - u32DesiredBaudrate_46(D);
  # DEBUG tempDiff => tempDiff_56
  goto <bb 23>; [100.00%]

  <bb 22> [local count: 40723]:
  # DEBUG BEGIN_STMT
  tempDiff_55 = u32DesiredBaudrate_46(D) - calculatedBaud_54;
  # DEBUG tempDiff => tempDiff_55

  <bb 23> [local count: 81446]:
  # tempDiff_26 = PHI <tempDiff_56(21), tempDiff_55(22)>
  # DEBUG tempDiff => tempDiff_26
  # DEBUG BEGIN_STMT
  if (tempDiff_26 <= baudDiff_31)
    goto <bb 24>; [50.00%]
  else
    goto <bb 25>; [50.00%]

  <bb 24> [local count: 40723]:
  # DEBUG BEGIN_STMT
  # DEBUG baudDiff => tempDiff_26
  # DEBUG BEGIN_STMT
  # DEBUG osr => _16
  # DEBUG BEGIN_STMT
  # DEBUG sbr => sbrTemp_53

  <bb 25> [local count: 81446]:
  # sbr_19 = PHI <sbr_20(23), sbrTemp_53(24)>
  # osr_23 = PHI <osr_24(23), _16(24)>
  # baudDiff_30 = PHI <baudDiff_31(23), tempDiff_26(24)>
  # DEBUG baudDiff => baudDiff_30
  # DEBUG osr => osr_23
  # DEBUG sbr => sbr_19
  # DEBUG BEGIN_STMT
  i_57 = i_22 + 1;
  # DEBUG i => i_57
  goto <bb 27>; [100.00%]

  <bb 26> [local count: 10066]:
  # maxOsr_52 = PHI <maxOsr_51(19), 32(18)>
  # DEBUG maxOsr => NULL

  <bb 27> [local count: 91512]:
  # sbr_20 = PHI <sbr_47(26), sbr_19(25)>
  # i_22 = PHI <5(26), i_57(25)>
  # osr_24 = PHI <4(26), osr_23(25)>
  # calculatedBaud_27 = PHI <calculatedBaud_48(26), calculatedBaud_54(25)>
  # baudDiff_31 = PHI <baudDiff_29(26), baudDiff_30(25)>
  # DEBUG baudDiff => baudDiff_31
  # DEBUG calculatedBaud => calculatedBaud_27
  # DEBUG osr => osr_24
  # DEBUG i => i_22
  # DEBUG sbr => sbr_20
  # DEBUG BEGIN_STMT
  _16 = (long unsigned int) i_22;
  if (_16 <= maxOsr_52)
    goto <bb 20>; [89.00%]
  else
    goto <bb 28>; [11.00%]

  <bb 28> [local count: 13422]:
  # sbr_21 = PHI <sbr_47(19), sbr_20(27)>
  # osr_25 = PHI <4(19), osr_24(27)>
  # calculatedBaud_28 = PHI <calculatedBaud_48(19), calculatedBaud_27(27)>
  # DEBUG calculatedBaud => calculatedBaud_28
  # DEBUG osr => osr_25
  # DEBUG sbr => sbr_21
  # DEBUG BEGIN_STMT
  if (osr_25 <= 7)
    goto <bb 29>; [50.00%]
  else
    goto <bb 30>; [50.00%]

  <bb 29> [local count: 6711]:
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_41
  # DEBUG INLINE_ENTRY LPUART_Uart_EnableBothEdgeSamplingCmd
  # DEBUG BEGIN_STMT
  _64 ={v} pBase_41->BAUD;
  _65 = _64 | 131072;
  pBase_41->BAUD ={v} _65;

  <bb 30> [local count: 13422]:
  # DEBUG pBase => NULL
  # DEBUG BEGIN_STMT
  _17 = osr_25 + 4294967295;
  LPUART_Uart_SetOversamplingRatio (pBase_41, _17);
  # DEBUG BEGIN_STMT
  _18 = (long unsigned int) sbr_21;
  LPUART_Uart_SetBaudRateDivisor (pBase_41, _18);
  # DEBUG BEGIN_STMT
  pUartState_42->u32BaudRate = calculatedBaud_28;
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0

  <bb 31> [local count: 67109]:
  # retVal_36 = PHI <retVal_35(10), 0(30)>
  # DEBUG retVal => retVal_36
  # DEBUG BEGIN_STMT
  return retVal_36;

}


Lpuart_Uart_Ip_AbortReceivingData (uint32 u32Instance)
{
  volatile boolean x;
  volatile boolean x;
  volatile boolean x;
  Lpuart_Uart_Ip_StatusType retVal;
  boolean bIsReturn;
  struct LPUART_Type * pBase;
  const struct Lpuart_Uart_Ip_UserConfigType * pUartUserCfg;
  struct Lpuart_Uart_Ip_StateStructureType * pUartState;
  _Bool _1;
  _Bool _2;
  _Bool _3;
  _Bool _4;
  <unnamed type> _5;
  _Bool x.1_19;
  _Bool x.1_20;
  _Bool x.1_21;
  long unsigned int _22;
  long unsigned int _23;

  <bb 2> [local count: 214748]:
  # DEBUG BEGIN_STMT
  _1 = u32Instance_11(D) <= 15;
  x ={v} _1;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_21 ={v} x;
  if (x.1_21 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 17>; [50.00%]

  <bb 17> [local count: 107374]:

  <bb 3> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 20> [local count: 1073741824]:
  goto <bb 3>; [100.00%]

  <bb 4> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pBase_13 = Lpuart_Uart_Ip_apBases[u32Instance_11(D)];
  # DEBUG pBase => pBase_13
  # DEBUG BEGIN_STMT
  pUartState_14 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_11(D)];
  # DEBUG pUartState => pUartState_14
  # DEBUG BEGIN_STMT
  pUartUserCfg_15 = Lpuart_Uart_Ip_apUserConfig[u32Instance_11(D)];
  # DEBUG pUartUserCfg => pUartUserCfg_15
  # DEBUG BEGIN_STMT
  _2 = pUartState_14 != 0B;
  x ={v} _2;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_20 ={v} x;
  if (x.1_20 != 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 16>; [50.00%]

  <bb 16> [local count: 53687]:

  <bb 5> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 19> [local count: 536870913]:
  goto <bb 5>; [100.00%]

  <bb 6> [local count: 53687]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  _3 = pUartUserCfg_15 != 0B;
  x ={v} _3;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_19 ={v} x;
  if (x.1_19 != 0)
    goto <bb 8>; [50.00%]
  else
    goto <bb 15>; [50.00%]

  <bb 15> [local count: 26844]:

  <bb 7> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 18> [local count: 268435456]:
  goto <bb 7>; [100.00%]

  <bb 8> [local count: 26844]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  # DEBUG bIsReturn => 0
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 1
  # DEBUG BEGIN_STMT
  _4 ={v} pUartState_14->bIsRxBusy;
  if (_4 != 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 9>; [50.00%]

  <bb 9> [local count: 13422]:
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  # DEBUG bIsReturn => 1

  <bb 10> [local count: 26844]:
  # bIsReturn_6 = PHI <0(8), 1(9)>
  # retVal_7 = PHI <1(8), 0(9)>
  # DEBUG retVal => retVal_7
  # DEBUG bIsReturn => bIsReturn_6
  # DEBUG BEGIN_STMT
  if (bIsReturn_6 != 0)
    goto <bb 14>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 11> [local count: 13422]:
  # DEBUG BEGIN_STMT
  pUartState_14->eReceiveStatus ={v} 6;
  # DEBUG BEGIN_STMT
  _5 = pUartUserCfg_15->eTransferType;
  if (_5 == 1)
    goto <bb 12>; [20.24%]
  else
    goto <bb 13>; [79.76%]

  <bb 12> [local count: 2717]:
  # DEBUG BEGIN_STMT
  Lpuart_Uart_Ip_CompleteReceiveDataUsingInt (u32Instance_11(D));

  <bb 13> [local count: 13422]:
  # DEBUG BEGIN_STMT
  LPUART_Uart_ClearErrorFlags (pBase_13);
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_13
  # DEBUG INLINE_ENTRY LPUART_Uart_FlushRxBuffer
  # DEBUG BEGIN_STMT
  _22 ={v} pBase_13->FIFO;
  _23 = _22 | 16384;
  pBase_13->FIFO ={v} _23;
  # DEBUG pBase => NULL
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0

  <bb 14> [local count: 26844]:
  # retVal_8 = PHI <retVal_7(10), 0(13)>
  # DEBUG retVal => retVal_8
  # DEBUG BEGIN_STMT
  return retVal_8;

}


Lpuart_Uart_Ip_GetReceiveStatus (uint32 u32Instance, uint32 * pBytesRemaining)
{
  volatile boolean x;
  volatile boolean x;
  volatile boolean x;
  const struct Lpuart_Uart_Ip_UserConfigType * pUartUserCfg;
  struct Lpuart_Uart_Ip_StateStructureType * pUartState;
  _Bool _1;
  _Bool _2;
  _Bool _3;
  _Bool _4;
  <unnamed type> _5;
  long unsigned int _6;
  Lpuart_Uart_Ip_StatusType _15;
  _Bool x.1_16;
  _Bool x.1_17;
  _Bool x.1_18;

  <bb 2> [local count: 214748]:
  # DEBUG BEGIN_STMT
  _1 = u32Instance_8(D) <= 15;
  x ={v} _1;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_18 ={v} x;
  if (x.1_18 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 16>; [50.00%]

  <bb 16> [local count: 107374]:

  <bb 3> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 19> [local count: 1073741824]:
  goto <bb 3>; [100.00%]

  <bb 4> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pUartState_10 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_8(D)];
  # DEBUG pUartState => pUartState_10
  # DEBUG BEGIN_STMT
  pUartUserCfg_11 = Lpuart_Uart_Ip_apUserConfig[u32Instance_8(D)];
  # DEBUG pUartUserCfg => pUartUserCfg_11
  # DEBUG BEGIN_STMT
  _2 = pUartState_10 != 0B;
  x ={v} _2;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_17 ={v} x;
  if (x.1_17 != 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 15>; [50.00%]

  <bb 15> [local count: 53687]:

  <bb 5> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 18> [local count: 536870913]:
  goto <bb 5>; [100.00%]

  <bb 6> [local count: 53687]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  _3 = pUartUserCfg_11 != 0B;
  x ={v} _3;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_16 ={v} x;
  if (x.1_16 != 0)
    goto <bb 8>; [50.00%]
  else
    goto <bb 14>; [50.00%]

  <bb 14> [local count: 26844]:

  <bb 7> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 17> [local count: 268435456]:
  goto <bb 7>; [100.00%]

  <bb 8> [local count: 26844]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  if (pBytesRemaining_12(D) != 0B)
    goto <bb 9>; [70.00%]
  else
    goto <bb 13>; [30.00%]

  <bb 9> [local count: 18790]:
  # DEBUG BEGIN_STMT
  _4 ={v} pUartState_10->bIsRxBusy;
  if (_4 != 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 12>; [50.00%]

  <bb 10> [local count: 9395]:
  # DEBUG BEGIN_STMT
  _5 = pUartUserCfg_11->eTransferType;
  if (_5 == 1)
    goto <bb 11>; [34.00%]
  else
    goto <bb 13>; [66.00%]

  <bb 11> [local count: 3194]:
  # DEBUG BEGIN_STMT
  _6 ={v} pUartState_10->u32RxSize;
  *pBytesRemaining_12(D) = _6;
  goto <bb 13>; [100.00%]

  <bb 12> [local count: 9395]:
  # DEBUG BEGIN_STMT
  *pBytesRemaining_12(D) = 0;

  <bb 13> [local count: 26844]:
  # DEBUG BEGIN_STMT
  _15 ={v} pUartState_10->eReceiveStatus;
  return _15;

}


Lpuart_Uart_Ip_AsyncReceive (uint32 u32Instance, uint8 * pRxBuff, uint32 u32RxSize)
{
  volatile boolean x;
  volatile boolean x;
  volatile boolean x;
  volatile boolean x;
  volatile boolean x;
  volatile boolean x;
  boolean bIsReturn;
  Lpuart_Uart_Ip_StatusType retVal;
  struct Lpuart_Uart_Ip_StateStructureType * pUartState;
  const struct Lpuart_Uart_Ip_UserConfigType * pUartUserCfg;
  _Bool _1;
  _Bool _2;
  _Bool _3;
  _Bool _4;
  _Bool _5;
  _Bool _6;
  <unnamed type> _7;
  _Bool _8;
  _Bool x.1_26;
  _Bool x.1_27;
  _Bool x.1_28;
  _Bool x.1_29;
  _Bool x.1_30;
  _Bool x.1_31;

  <bb 2> [local count: 214748]:
  # DEBUG BEGIN_STMT
  _1 = u32Instance_14(D) <= 15;
  x ={v} _1;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_29 ={v} x;
  if (x.1_29 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 25>; [50.00%]

  <bb 25> [local count: 107374]:

  <bb 3> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 31> [local count: 1073741824]:
  goto <bb 3>; [100.00%]

  <bb 4> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  _2 = pRxBuff_16(D) != 0B;
  x ={v} _2;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_28 ={v} x;
  if (x.1_28 != 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 24>; [50.00%]

  <bb 24> [local count: 53687]:

  <bb 5> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 30> [local count: 536870913]:
  goto <bb 5>; [100.00%]

  <bb 6> [local count: 53687]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  _3 = u32RxSize_17(D) != 0;
  x ={v} _3;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_27 ={v} x;
  if (x.1_27 != 0)
    goto <bb 8>; [50.00%]
  else
    goto <bb 23>; [50.00%]

  <bb 23> [local count: 26844]:

  <bb 7> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 29> [local count: 268435456]:
  goto <bb 7>; [100.00%]

  <bb 8> [local count: 26844]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  pUartUserCfg_18 = Lpuart_Uart_Ip_apUserConfig[u32Instance_14(D)];
  # DEBUG pUartUserCfg => pUartUserCfg_18
  # DEBUG BEGIN_STMT
  pUartState_19 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_14(D)];
  # DEBUG pUartState => pUartState_19
  # DEBUG BEGIN_STMT
  # DEBUG bIsReturn => 0
  # DEBUG BEGIN_STMT
  _4 = pUartState_19 != 0B;
  x ={v} _4;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_26 ={v} x;
  if (x.1_26 != 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 22>; [50.00%]

  <bb 22> [local count: 13422]:

  <bb 9> [local count: 134217728]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 28> [local count: 134217728]:
  goto <bb 9>; [100.00%]

  <bb 10> [local count: 13422]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  SchM_Enter_Uart_UART_EXCLUSIVE_AREA_03 ();
  # DEBUG BEGIN_STMT
  _5 ={v} pUartState_19->bIsRxBusy;
  if (_5 != 0)
    goto <bb 11>; [33.00%]
  else
    goto <bb 12>; [67.00%]

  <bb 11> [local count: 4429]:
  # DEBUG BEGIN_STMT
  SchM_Exit_Uart_UART_EXCLUSIVE_AREA_03 ();
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 2
  # DEBUG BEGIN_STMT
  # DEBUG bIsReturn => 1

  <bb 12> [local count: 13422]:
  # retVal_9 = PHI <0(10), 2(11)>
  # bIsReturn_11 = PHI <0(10), 1(11)>
  # DEBUG bIsReturn => bIsReturn_11
  # DEBUG retVal => retVal_9
  # DEBUG BEGIN_STMT
  if (bIsReturn_11 != 0)
    goto <bb 19>; [67.00%]
  else
    goto <bb 13>; [33.00%]

  <bb 13> [local count: 4429]:
  # DEBUG BEGIN_STMT
  pUartState_19->bIsRxBusy ={v} 1;
  # DEBUG BEGIN_STMT
  SchM_Exit_Uart_UART_EXCLUSIVE_AREA_03 ();
  # DEBUG BEGIN_STMT
  _6 = pUartUserCfg_18 != 0B;
  x ={v} _6;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_31 ={v} x;
  if (x.1_31 != 0)
    goto <bb 15>; [50.00%]
  else
    goto <bb 21>; [50.00%]

  <bb 21> [local count: 2215]:

  <bb 14> [local count: 22145925]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 27> [local count: 22145925]:
  goto <bb 14>; [100.00%]

  <bb 15> [local count: 2215]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  _7 = pUartUserCfg_18->eTransferType;
  _8 = _7 <= 1;
  x ={v} _8;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_30 ={v} x;
  if (x.1_30 != 0)
    goto <bb 17>; [50.00%]
  else
    goto <bb 20>; [50.00%]

  <bb 20> [local count: 1107]:

  <bb 16> [local count: 11072963]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 26> [local count: 11072963]:
  goto <bb 16>; [100.00%]

  <bb 17> [local count: 1107]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  if (_7 == 1)
    goto <bb 18>; [20.24%]
  else
    goto <bb 19>; [79.76%]

  <bb 18> [local count: 224]:
  # DEBUG BEGIN_STMT
  retVal_25 = Lpuart_Uart_Ip_StartReceiveDataUsingInt (u32Instance_14(D), pRxBuff_16(D), u32RxSize_17(D));
  # DEBUG retVal => retVal_25

  <bb 19> [local count: 10100]:
  # retVal_10 = PHI <retVal_9(12), retVal_9(17), retVal_25(18)>
  # DEBUG retVal => retVal_10
  # DEBUG BEGIN_STMT
  return retVal_10;

}


Lpuart_Uart_Ip_StartGetData (struct LPUART_Type * pBase, uint32 u32Instance, uint32 u32StartTime)
{
  boolean retVal;
  boolean retVal;
  boolean retVal;
  boolean retVal;
  boolean retVal;
  struct Lpuart_Uart_Ip_StateStructureType * pUartState;
  _Bool _1;
  long unsigned int _2;
  _Bool _3;
  long unsigned int _20;
  long unsigned int _21;
  long unsigned int _23;
  long unsigned int _24;
  long unsigned int _26;
  long unsigned int _27;
  long unsigned int _28;
  long unsigned int _29;
  long unsigned int _30;
  long unsigned int _31;
  long unsigned int _32;
  long unsigned int _34;
  long unsigned int _35;
  long unsigned int _36;
  long unsigned int _37;
  long unsigned int _38;
  long unsigned int _39;
  long unsigned int _40;
  long unsigned int _42;
  long unsigned int _43;
  long unsigned int _44;
  long unsigned int _45;
  long unsigned int _46;
  long unsigned int _47;
  long unsigned int _48;
  long unsigned int _50;
  long unsigned int _51;

  <bb 2> [local count: 13653215]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pUartState_10 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_9(D)];
  # DEBUG pUartState => pUartState_10
  # DEBUG BEGIN_STMT
  goto <bb 14>; [100.00%]

  <bb 17> [local count: 114863532]:

  <bb 3> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_13(D)
  # DEBUG eStatusFlag => 21
  # DEBUG INLINE_ENTRY LPUART_Uart_GetStatusFlag
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  _20 ={v} MEM[(const struct LPUART_Type *)pBase_13(D)].STAT;
  _21 = _20 >> 21;
  retVal_22 = (boolean) _21;
  # DEBUG retVal => retVal_22
  # DEBUG BEGIN_STMT
  # DEBUG pBase => NULL
  # DEBUG eStatusFlag => NULL
  # DEBUG retVal => NULL
  if (retVal_22 != 0)
    goto <bb 5>; [5.50%]
  else
    goto <bb 4>; [94.50%]

  <bb 4> [local count: 1014686024]:
  _1 = LPUART_Uart_CheckTimeout (u32StartTime_11(D), 0);
  if (_1 != 0)
    goto <bb 5>; [5.50%]
  else
    goto <bb 18>; [94.50%]

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

  <bb 5> [local count: 114863532]:
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_13(D)
  # DEBUG eStatusFlag => 19
  # DEBUG INLINE_ENTRY LPUART_Uart_GetStatusFlag
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  _23 ={v} MEM[(const struct LPUART_Type *)pBase_13(D)].STAT;
  _24 = _23 >> 19;
  retVal_25 = (boolean) _24;
  # DEBUG retVal => retVal_25
  # DEBUG BEGIN_STMT
  # DEBUG pBase => NULL
  # DEBUG eStatusFlag => NULL
  # DEBUG retVal => NULL
  if (retVal_25 != 0)
    goto <bb 6>; [2.00%]
  else
    goto <bb 7>; [98.00%]

  <bb 6> [local count: 2297271]:
  # DEBUG BEGIN_STMT
  pUartState_10->eReceiveStatus ={v} 5;
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_13(D)
  # DEBUG enable => 0
  # DEBUG INLINE_ENTRY LPUART_Uart_SetReceiverCmd
  # DEBUG BEGIN_STMT
  _29 ={v} pBase_13(D)->CTRL;
  _30 = _29 & 4294705151;
  pBase_13(D)->CTRL ={v} _30;
  # DEBUG pBase => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_13(D)
  # DEBUG statusFlag => 19
  # DEBUG INLINE_ENTRY LPUART_Uart_ClearStatusFlag
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _26 ={v} pBase_13(D)->STAT;
  _27 = _26 & 1071661055;
  _28 = _27 | 524288;
  pBase_13(D)->STAT ={v} _28;
  # DEBUG BEGIN_STMT
  goto <bb 16>; [100.00%]

  <bb 7> [local count: 112566261]:
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_13(D)
  # DEBUG eStatusFlag => 17
  # DEBUG INLINE_ENTRY LPUART_Uart_GetStatusFlag
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  _31 ={v} MEM[(const struct LPUART_Type *)pBase_13(D)].STAT;
  _32 = _31 >> 17;
  retVal_33 = (boolean) _32;
  # DEBUG retVal => retVal_33
  # DEBUG BEGIN_STMT
  # DEBUG pBase => NULL
  # DEBUG eStatusFlag => NULL
  # DEBUG retVal => NULL
  if (retVal_33 != 0)
    goto <bb 8>; [2.00%]
  else
    goto <bb 9>; [98.00%]

  <bb 8> [local count: 2251325]:
  # DEBUG BEGIN_STMT
  pUartState_10->eReceiveStatus ={v} 7;
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_13(D)
  # DEBUG enable => 0
  # DEBUG INLINE_ENTRY LPUART_Uart_SetReceiverCmd
  # DEBUG BEGIN_STMT
  _37 ={v} pBase_13(D)->CTRL;
  _38 = _37 & 4294705151;
  pBase_13(D)->CTRL ={v} _38;
  # DEBUG pBase => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_13(D)
  # DEBUG statusFlag => 17
  # DEBUG INLINE_ENTRY LPUART_Uart_ClearStatusFlag
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _34 ={v} pBase_13(D)->STAT;
  _35 = _34 & 1071661055;
  _36 = _35 | 131072;
  pBase_13(D)->STAT ={v} _36;
  # DEBUG BEGIN_STMT
  goto <bb 16>; [100.00%]

  <bb 9> [local count: 110314936]:
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_13(D)
  # DEBUG eStatusFlag => 18
  # DEBUG INLINE_ENTRY LPUART_Uart_GetStatusFlag
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  _39 ={v} MEM[(const struct LPUART_Type *)pBase_13(D)].STAT;
  _40 = _39 >> 18;
  retVal_41 = (boolean) _40;
  # DEBUG retVal => retVal_41
  # DEBUG BEGIN_STMT
  # DEBUG pBase => NULL
  # DEBUG eStatusFlag => NULL
  # DEBUG retVal => NULL
  if (retVal_41 != 0)
    goto <bb 10>; [2.00%]
  else
    goto <bb 11>; [98.00%]

  <bb 10> [local count: 2206299]:
  # DEBUG BEGIN_STMT
  pUartState_10->eReceiveStatus ={v} 9;
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_13(D)
  # DEBUG enable => 0
  # DEBUG INLINE_ENTRY LPUART_Uart_SetReceiverCmd
  # DEBUG BEGIN_STMT
  _45 ={v} pBase_13(D)->CTRL;
  _46 = _45 & 4294705151;
  pBase_13(D)->CTRL ={v} _46;
  # DEBUG pBase => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_13(D)
  # DEBUG statusFlag => 18
  # DEBUG INLINE_ENTRY LPUART_Uart_ClearStatusFlag
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _42 ={v} pBase_13(D)->STAT;
  _43 = _42 & 1071661055;
  _44 = _43 | 262144;
  pBase_13(D)->STAT ={v} _44;
  # DEBUG BEGIN_STMT
  goto <bb 16>; [100.00%]

  <bb 11> [local count: 108108637]:
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_13(D)
  # DEBUG eStatusFlag => 16
  # DEBUG INLINE_ENTRY LPUART_Uart_GetStatusFlag
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  _47 ={v} MEM[(const struct LPUART_Type *)pBase_13(D)].STAT;
  _48 = _47 >> 16;
  retVal_49 = (boolean) _48;
  # DEBUG retVal => retVal_49
  # DEBUG BEGIN_STMT
  # DEBUG pBase => NULL
  # DEBUG eStatusFlag => NULL
  # DEBUG retVal => NULL
  if (retVal_49 != 0)
    goto <bb 12>; [2.00%]
  else
    goto <bb 13>; [98.00%]

  <bb 12> [local count: 2162173]:
  # DEBUG BEGIN_STMT
  pUartState_10->eReceiveStatus ={v} 8;
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_13(D)
  # DEBUG enable => 0
  # DEBUG INLINE_ENTRY LPUART_Uart_SetReceiverCmd
  # DEBUG BEGIN_STMT
  _50 ={v} pBase_13(D)->CTRL;
  _51 = _50 & 4294705151;
  pBase_13(D)->CTRL ={v} _51;
  # DEBUG pBase => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_13(D)
  # DEBUG statusFlag => 16
  # DEBUG INLINE_ENTRY LPUART_Uart_ClearStatusFlag
  # DEBUG BEGIN_STMT
  # DEBUG D#4 => 16
  LPUART_Uart_ClearStatusFlag.part.0 (pBase_13(D));
  goto <bb 16>; [100.00%]

  <bb 13> [local count: 105946464]:
  # DEBUG BEGIN_STMT
  Lpuart_Uart_Ip_GetData (u32Instance_9(D));

  <bb 14> [local count: 119599679]:
  # DEBUG BEGIN_STMT
  _2 ={v} pUartState_10->u32RxSize;
  if (_2 != 0)
    goto <bb 15>; [98.00%]
  else
    goto <bb 16>; [2.00%]

  <bb 15> [local count: 117207686]:
  _3 = LPUART_Uart_CheckTimeout (u32StartTime_11(D), 0);
  if (_3 != 0)
    goto <bb 16>; [2.00%]
  else
    goto <bb 17>; [98.00%]

  <bb 16> [local count: 13653215]:
  # DEBUG pBase => NULL
  # DEBUG statusFlag => NULL
  # DEBUG pBase => NULL
  # DEBUG statusFlag => NULL
  # DEBUG pBase => NULL
  # DEBUG statusFlag => NULL
  # DEBUG pBase => NULL
  # DEBUG statusFlag => NULL
  return;

}


Lpuart_Uart_Ip_SyncReceive (uint32 u32Instance, uint8 * pRxBuff, uint32 u32RxSize)
{
  volatile boolean x;
  volatile boolean x;
  volatile boolean x;
  volatile boolean x;
  Lpuart_Uart_Ip_StatusType retVal;
  boolean bIsReturn;
  uint32 u32TimeoutTicks;
  uint32 u32ElapsedTime;
  uint32 u32StartTime;
  struct Lpuart_Uart_Ip_StateStructureType * pUartState;
  struct LPUART_Type * pBase;
  _Bool _1;
  _Bool _2;
  _Bool _3;
  _Bool _4;
  _Bool _5;
  long unsigned int _6;
  <unnamed type> _7;
  long unsigned int _8;
  <unnamed type> _9;
  _Bool x.1_44;
  _Bool x.1_45;
  _Bool x.1_46;
  _Bool x.1_47;
  long unsigned int _48;
  long unsigned int _49;
  long unsigned int _50;
  long unsigned int _51;
  long unsigned int _52;
  long unsigned int _53;
  long unsigned int _54;
  long unsigned int _55;

  <bb 2> [local count: 214748]:
  # DEBUG BEGIN_STMT
  _1 = u32Instance_18(D) <= 15;
  x ={v} _1;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_47 ={v} x;
  if (x.1_47 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 25>; [50.00%]

  <bb 25> [local count: 107374]:

  <bb 3> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 29> [local count: 1073741824]:
  goto <bb 3>; [100.00%]

  <bb 4> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  _2 = pRxBuff_20(D) != 0B;
  x ={v} _2;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_46 ={v} x;
  if (x.1_46 != 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 24>; [50.00%]

  <bb 24> [local count: 53687]:

  <bb 5> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 28> [local count: 536870913]:
  goto <bb 5>; [100.00%]

  <bb 6> [local count: 53687]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  _3 = u32RxSize_21(D) != 0;
  x ={v} _3;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_45 ={v} x;
  if (x.1_45 != 0)
    goto <bb 8>; [50.00%]
  else
    goto <bb 23>; [50.00%]

  <bb 23> [local count: 26844]:

  <bb 7> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 27> [local count: 268435456]:
  goto <bb 7>; [100.00%]

  <bb 8> [local count: 26844]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  pBase_22 = Lpuart_Uart_Ip_apBases[u32Instance_18(D)];
  # DEBUG pBase => pBase_22
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG bIsReturn => 0
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  pUartState_23 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_18(D)];
  # DEBUG pUartState => pUartState_23
  # DEBUG BEGIN_STMT
  _4 = pUartState_23 != 0B;
  x ={v} _4;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_44 ={v} x;
  if (x.1_44 != 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 22>; [50.00%]

  <bb 22> [local count: 13422]:

  <bb 9> [local count: 134217728]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 26> [local count: 134217728]:
  goto <bb 9>; [100.00%]

  <bb 10> [local count: 13422]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  SchM_Enter_Uart_UART_EXCLUSIVE_AREA_02 ();
  # DEBUG BEGIN_STMT
  _5 ={v} pUartState_23->bIsRxBusy;
  if (_5 != 0)
    goto <bb 11>; [33.00%]
  else
    goto <bb 12>; [67.00%]

  <bb 11> [local count: 4429]:
  # DEBUG BEGIN_STMT
  SchM_Exit_Uart_UART_EXCLUSIVE_AREA_02 ();
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 2
  # DEBUG BEGIN_STMT
  # DEBUG bIsReturn => 1

  <bb 12> [local count: 13422]:
  # bIsReturn_10 = PHI <0(10), 1(11)>
  # retVal_11 = PHI <0(10), 2(11)>
  # DEBUG retVal => retVal_11
  # DEBUG bIsReturn => bIsReturn_10
  # DEBUG BEGIN_STMT
  if (bIsReturn_10 != 0)
    goto <bb 21>; [67.00%]
  else
    goto <bb 13>; [33.00%]

  <bb 13> [local count: 4429]:
  # DEBUG BEGIN_STMT
  pUartState_23->bIsRxBusy ={v} 1;
  # DEBUG BEGIN_STMT
  SchM_Exit_Uart_UART_EXCLUSIVE_AREA_02 ();
  # DEBUG BEGIN_STMT
  pUartState_23->pRxBuff = pRxBuff_20(D);
  # DEBUG BEGIN_STMT
  pUartState_23->u32RxSize ={v} u32RxSize_21(D);
  # DEBUG BEGIN_STMT
  pUartState_23->eReceiveStatus ={v} 2;
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_22
  # DEBUG intSrc => 21
  # DEBUG enable => 0
  # DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
  # DEBUG BEGIN_STMT
  _51 ={v} pBase_22->CTRL;
  _52 = _51 & 4292870143;
  pBase_22->CTRL ={v} _52;
  # DEBUG pBase => NULL
  # DEBUG intSrc => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_22
  # DEBUG enable => 1
  # DEBUG INLINE_ENTRY LPUART_Uart_SetReceiverCmd
  # DEBUG BEGIN_STMT
  _48 ={v} pBase_22->CTRL;
  _49 = _48 & 4294705151;
  _50 = _49 | 262144;
  pBase_22->CTRL ={v} _50;
  # DEBUG pBase => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  _6 = OsIf_GetCounter (0);
  u32StartTime = _6;
  # DEBUG BEGIN_STMT
  Lpuart_Uart_Ip_StartGetData (pBase_22, u32Instance_18(D), _6);
  # DEBUG BEGIN_STMT
  u32ElapsedTime_35 = OsIf_GetElapsed (&u32StartTime, 0);
  # DEBUG u32ElapsedTime => u32ElapsedTime_35
  # DEBUG BEGIN_STMT
  u32TimeoutTicks_37 = OsIf_MicrosToTicks (0, 0);
  # DEBUG u32TimeoutTicks => u32TimeoutTicks_37
  # DEBUG BEGIN_STMT
  if (u32ElapsedTime_35 >= u32TimeoutTicks_37)
    goto <bb 14>; [50.00%]
  else
    goto <bb 15>; [50.00%]

  <bb 14> [local count: 2215]:
  # DEBUG BEGIN_STMT
  pUartState_23->eReceiveStatus ={v} 3;

  <bb 15> [local count: 4429]:
  # DEBUG BEGIN_STMT
  _7 ={v} pUartState_23->eReceiveStatus;
  if (_7 == 2)
    goto <bb 16>; [34.00%]
  else
    goto <bb 17>; [66.00%]

  <bb 16> [local count: 1506]:
  # DEBUG BEGIN_STMT
  pUartState_23->eReceiveStatus ={v} 0;

  <bb 17> [local count: 4429]:
  # DEBUG BEGIN_STMT
  _8 ={v} pUartState_23->u32RxSize;
  if (_8 == 0)
    goto <bb 18>; [50.00%]
  else
    goto <bb 20>; [50.00%]

  <bb 18> [local count: 2215]:
  _9 ={v} pUartState_23->eReceiveStatus;
  if (_9 == 5)
    goto <bb 19>; [34.00%]
  else
    goto <bb 20>; [66.00%]

  <bb 19> [local count: 753]:
  # DEBUG BEGIN_STMT
  pUartState_23->eReceiveStatus ={v} 0;

  <bb 20> [local count: 4429]:
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_22
  # DEBUG enable => 0
  # DEBUG INLINE_ENTRY LPUART_Uart_SetReceiverCmd
  # DEBUG BEGIN_STMT
  _54 ={v} pBase_22->CTRL;
  _55 = _54 & 4294705151;
  pBase_22->CTRL ={v} _55;
  # DEBUG pBase => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  pUartState_23->bIsRxBusy ={v} 0;
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_22
  # DEBUG INLINE_ENTRY LPUART_Uart_Getchar
  # DEBUG BEGIN_STMT
  _53 ={v} MEM[(const struct LPUART_Type *)pBase_22].DATA;
  # DEBUG pBase => NULL
  # DEBUG BEGIN_STMT
  retVal_42 ={v} pUartState_23->eReceiveStatus;
  # DEBUG retVal => retVal_42

  <bb 21> [local count: 13422]:
  # retVal_12 = PHI <retVal_11(12), retVal_42(20)>
  # DEBUG retVal => retVal_12
  # DEBUG BEGIN_STMT
  u32StartTime ={v} {CLOBBER};
  return retVal_12;

}


Lpuart_Uart_Ip_AbortSendingData (uint32 u32Instance)
{
  volatile boolean x;
  volatile boolean x;
  volatile boolean x;
  struct LPUART_Type * pBase;
  const struct Lpuart_Uart_Ip_UserConfigType * pUartUserCfg;
  struct Lpuart_Uart_Ip_StateStructureType * pUartState;
  _Bool _1;
  _Bool _2;
  _Bool _3;
  _Bool _4;
  <unnamed type> _5;
  _Bool x.1_15;
  _Bool x.1_16;
  _Bool x.1_17;
  long unsigned int _18;
  long unsigned int _19;

  <bb 2> [local count: 214748]:
  # DEBUG BEGIN_STMT
  _1 = u32Instance_8(D) <= 15;
  x ={v} _1;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_17 ={v} x;
  if (x.1_17 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 15>; [50.00%]

  <bb 15> [local count: 107374]:

  <bb 3> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 18> [local count: 1073741824]:
  goto <bb 3>; [100.00%]

  <bb 4> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pBase_10 = Lpuart_Uart_Ip_apBases[u32Instance_8(D)];
  # DEBUG pBase => pBase_10
  # DEBUG BEGIN_STMT
  # DEBUG bIsReturn => 0
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  pUartState_11 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_8(D)];
  # DEBUG pUartState => pUartState_11
  # DEBUG BEGIN_STMT
  pUartUserCfg_12 = Lpuart_Uart_Ip_apUserConfig[u32Instance_8(D)];
  # DEBUG pUartUserCfg => pUartUserCfg_12
  # DEBUG BEGIN_STMT
  _2 = pUartState_11 != 0B;
  x ={v} _2;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_16 ={v} x;
  if (x.1_16 != 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 14>; [50.00%]

  <bb 14> [local count: 53687]:

  <bb 5> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 17> [local count: 536870913]:
  goto <bb 5>; [100.00%]

  <bb 6> [local count: 53687]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  _3 = pUartUserCfg_12 != 0B;
  x ={v} _3;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_15 ={v} x;
  if (x.1_15 != 0)
    goto <bb 8>; [50.00%]
  else
    goto <bb 13>; [50.00%]

  <bb 13> [local count: 26844]:

  <bb 7> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 16> [local count: 268435456]:
  goto <bb 7>; [100.00%]

  <bb 8> [local count: 26844]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  _4 ={v} pUartState_11->bIsTxBusy;
  if (_4 != 0)
    goto <bb 9>; [50.00%]
  else
    goto <bb 12>; [50.00%]

  <bb 9> [local count: 13422]:
  # DEBUG retVal => 0
  # DEBUG bIsReturn => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pUartState_11->eTransmitStatus ={v} 6;
  # DEBUG BEGIN_STMT
  _5 = pUartUserCfg_12->eTransferType;
  if (_5 == 1)
    goto <bb 10>; [20.24%]
  else
    goto <bb 11>; [79.76%]

  <bb 10> [local count: 2717]:
  # DEBUG BEGIN_STMT
  Lpuart_Uart_Ip_CompleteSendDataUsingInt (u32Instance_8(D));

  <bb 11> [local count: 13422]:
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_10
  # DEBUG INLINE_ENTRY LPUART_Uart_FlushTxBuffer
  # DEBUG BEGIN_STMT
  _18 ={v} pBase_10->FIFO;
  _19 = _18 | 32768;
  pBase_10->FIFO ={v} _19;
  # DEBUG pBase => NULL
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0

  <bb 12> [local count: 26844]:
  # DEBUG bIsReturn => NULL
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  return 0;

}


Lpuart_Uart_Ip_GetTransmitStatus (uint32 u32Instance, uint32 * pBytesRemaining)
{
  volatile boolean x;
  volatile boolean x;
  volatile boolean x;
  const struct Lpuart_Uart_Ip_UserConfigType * pUartUserCfg;
  struct Lpuart_Uart_Ip_StateStructureType * pUartState;
  _Bool _1;
  _Bool _2;
  _Bool _3;
  _Bool _4;
  <unnamed type> _5;
  long unsigned int _6;
  Lpuart_Uart_Ip_StatusType _15;
  _Bool x.1_16;
  _Bool x.1_17;
  _Bool x.1_18;

  <bb 2> [local count: 214748]:
  # DEBUG BEGIN_STMT
  _1 = u32Instance_8(D) <= 15;
  x ={v} _1;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_18 ={v} x;
  if (x.1_18 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 16>; [50.00%]

  <bb 16> [local count: 107374]:

  <bb 3> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 19> [local count: 1073741824]:
  goto <bb 3>; [100.00%]

  <bb 4> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pUartState_10 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_8(D)];
  # DEBUG pUartState => pUartState_10
  # DEBUG BEGIN_STMT
  pUartUserCfg_11 = Lpuart_Uart_Ip_apUserConfig[u32Instance_8(D)];
  # DEBUG pUartUserCfg => pUartUserCfg_11
  # DEBUG BEGIN_STMT
  _2 = pUartState_10 != 0B;
  x ={v} _2;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_17 ={v} x;
  if (x.1_17 != 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 15>; [50.00%]

  <bb 15> [local count: 53687]:

  <bb 5> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 18> [local count: 536870913]:
  goto <bb 5>; [100.00%]

  <bb 6> [local count: 53687]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  _3 = pUartUserCfg_11 != 0B;
  x ={v} _3;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_16 ={v} x;
  if (x.1_16 != 0)
    goto <bb 8>; [50.00%]
  else
    goto <bb 14>; [50.00%]

  <bb 14> [local count: 26844]:

  <bb 7> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 17> [local count: 268435456]:
  goto <bb 7>; [100.00%]

  <bb 8> [local count: 26844]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  if (pBytesRemaining_12(D) != 0B)
    goto <bb 9>; [70.00%]
  else
    goto <bb 13>; [30.00%]

  <bb 9> [local count: 18790]:
  # DEBUG BEGIN_STMT
  _4 ={v} pUartState_10->bIsTxBusy;
  if (_4 != 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 12>; [50.00%]

  <bb 10> [local count: 9395]:
  # DEBUG BEGIN_STMT
  _5 = pUartUserCfg_11->eTransferType;
  if (_5 == 1)
    goto <bb 11>; [34.00%]
  else
    goto <bb 13>; [66.00%]

  <bb 11> [local count: 3194]:
  # DEBUG BEGIN_STMT
  _6 ={v} pUartState_10->u32TxSize;
  *pBytesRemaining_12(D) = _6;
  goto <bb 13>; [100.00%]

  <bb 12> [local count: 9395]:
  # DEBUG BEGIN_STMT
  *pBytesRemaining_12(D) = 0;

  <bb 13> [local count: 26844]:
  # DEBUG BEGIN_STMT
  _15 ={v} pUartState_10->eTransmitStatus;
  return _15;

}


Lpuart_Uart_Ip_AsyncSend (uint32 u32Instance, const uint8 * pTxBuff, uint32 u32TxSize)
{
  volatile boolean x;
  volatile boolean x;
  volatile boolean x;
  volatile boolean x;
  volatile boolean x;
  volatile boolean x;
  boolean bIsReturn;
  Lpuart_Uart_Ip_StatusType retVal;
  struct Lpuart_Uart_Ip_StateStructureType * pUartState;
  const struct Lpuart_Uart_Ip_UserConfigType * pUartUserCfg;
  _Bool _1;
  _Bool _2;
  _Bool _3;
  _Bool _4;
  _Bool _5;
  _Bool _6;
  <unnamed type> _7;
  _Bool _8;
  _Bool x.1_26;
  _Bool x.1_27;
  _Bool x.1_28;
  _Bool x.1_29;
  _Bool x.1_30;
  _Bool x.1_31;

  <bb 2> [local count: 214748]:
  # DEBUG BEGIN_STMT
  _1 = u32Instance_14(D) <= 15;
  x ={v} _1;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_29 ={v} x;
  if (x.1_29 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 25>; [50.00%]

  <bb 25> [local count: 107374]:

  <bb 3> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 31> [local count: 1073741824]:
  goto <bb 3>; [100.00%]

  <bb 4> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  _2 = pTxBuff_16(D) != 0B;
  x ={v} _2;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_28 ={v} x;
  if (x.1_28 != 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 24>; [50.00%]

  <bb 24> [local count: 53687]:

  <bb 5> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 30> [local count: 536870913]:
  goto <bb 5>; [100.00%]

  <bb 6> [local count: 53687]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  _3 = u32TxSize_17(D) != 0;
  x ={v} _3;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_27 ={v} x;
  if (x.1_27 != 0)
    goto <bb 8>; [50.00%]
  else
    goto <bb 23>; [50.00%]

  <bb 23> [local count: 26844]:

  <bb 7> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 29> [local count: 268435456]:
  goto <bb 7>; [100.00%]

  <bb 8> [local count: 26844]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  pUartUserCfg_18 = Lpuart_Uart_Ip_apUserConfig[u32Instance_14(D)];
  # DEBUG pUartUserCfg => pUartUserCfg_18
  # DEBUG BEGIN_STMT
  pUartState_19 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_14(D)];
  # DEBUG pUartState => pUartState_19
  # DEBUG BEGIN_STMT
  # DEBUG bIsReturn => 0
  # DEBUG BEGIN_STMT
  _4 = pUartState_19 != 0B;
  x ={v} _4;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_26 ={v} x;
  if (x.1_26 != 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 22>; [50.00%]

  <bb 22> [local count: 13422]:

  <bb 9> [local count: 134217728]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 28> [local count: 134217728]:
  goto <bb 9>; [100.00%]

  <bb 10> [local count: 13422]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  SchM_Enter_Uart_UART_EXCLUSIVE_AREA_01 ();
  # DEBUG BEGIN_STMT
  _5 ={v} pUartState_19->bIsTxBusy;
  if (_5 != 0)
    goto <bb 11>; [33.00%]
  else
    goto <bb 12>; [67.00%]

  <bb 11> [local count: 4429]:
  # DEBUG BEGIN_STMT
  SchM_Exit_Uart_UART_EXCLUSIVE_AREA_01 ();
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 2
  # DEBUG BEGIN_STMT
  # DEBUG bIsReturn => 1

  <bb 12> [local count: 13422]:
  # retVal_9 = PHI <0(10), 2(11)>
  # bIsReturn_11 = PHI <0(10), 1(11)>
  # DEBUG bIsReturn => bIsReturn_11
  # DEBUG retVal => retVal_9
  # DEBUG BEGIN_STMT
  if (bIsReturn_11 != 0)
    goto <bb 19>; [67.00%]
  else
    goto <bb 13>; [33.00%]

  <bb 13> [local count: 4429]:
  # DEBUG BEGIN_STMT
  pUartState_19->bIsTxBusy ={v} 1;
  # DEBUG BEGIN_STMT
  SchM_Exit_Uart_UART_EXCLUSIVE_AREA_01 ();
  # DEBUG BEGIN_STMT
  _6 = pUartUserCfg_18 != 0B;
  x ={v} _6;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_31 ={v} x;
  if (x.1_31 != 0)
    goto <bb 15>; [50.00%]
  else
    goto <bb 21>; [50.00%]

  <bb 21> [local count: 2215]:

  <bb 14> [local count: 22145925]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 27> [local count: 22145925]:
  goto <bb 14>; [100.00%]

  <bb 15> [local count: 2215]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  _7 = pUartUserCfg_18->eTransferType;
  _8 = _7 <= 1;
  x ={v} _8;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_30 ={v} x;
  if (x.1_30 != 0)
    goto <bb 17>; [50.00%]
  else
    goto <bb 20>; [50.00%]

  <bb 20> [local count: 1107]:

  <bb 16> [local count: 11072963]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 26> [local count: 11072963]:
  goto <bb 16>; [100.00%]

  <bb 17> [local count: 1107]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  if (_7 == 1)
    goto <bb 18>; [20.24%]
  else
    goto <bb 19>; [79.76%]

  <bb 18> [local count: 224]:
  # DEBUG BEGIN_STMT
  retVal_25 = Lpuart_Uart_Ip_StartSendDataUsingInt (u32Instance_14(D), pTxBuff_16(D), u32TxSize_17(D));
  # DEBUG retVal => retVal_25

  <bb 19> [local count: 10100]:
  # retVal_10 = PHI <retVal_9(12), retVal_9(17), retVal_25(18)>
  # DEBUG retVal => retVal_10
  # DEBUG BEGIN_STMT
  return retVal_10;

}


Lpuart_Uart_Ip_SyncSend (uint32 u32Instance, const uint8 * pTxBuff, uint32 u32TxSize)
{
  boolean retVal;
  volatile boolean x;
  volatile boolean x;
  volatile boolean x;
  volatile boolean x;
  Lpuart_Uart_Ip_StatusType retVal;
  boolean bIsReturn;
  uint32 u32StartTime;
  struct Lpuart_Uart_Ip_StateStructureType * pUartState;
  struct LPUART_Type * pBase;
  _Bool _1;
  _Bool _2;
  _Bool _3;
  _Bool _4;
  _Bool _5;
  _Bool _6;
  long unsigned int _7;
  _Bool _8;
  long unsigned int _9;
  _Bool x.1_41;
  _Bool x.1_42;
  _Bool x.1_43;
  _Bool x.1_44;
  long unsigned int _45;
  long unsigned int _46;
  long unsigned int _47;
  long unsigned int _48;
  long unsigned int _49;
  long unsigned int _50;
  long unsigned int _51;
  long unsigned int _53;
  long unsigned int _54;
  long unsigned int _56;
  long unsigned int _57;

  <bb 2> [local count: 214748]:
  # DEBUG BEGIN_STMT
  _1 = u32Instance_19(D) <= 15;
  x ={v} _1;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_44 ={v} x;
  if (x.1_44 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 28>; [50.00%]

  <bb 28> [local count: 107374]:

  <bb 3> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 35> [local count: 1073741824]:
  goto <bb 3>; [100.00%]

  <bb 4> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  _2 = pTxBuff_21(D) != 0B;
  x ={v} _2;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_43 ={v} x;
  if (x.1_43 != 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 27>; [50.00%]

  <bb 27> [local count: 53687]:

  <bb 5> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 34> [local count: 536870913]:
  goto <bb 5>; [100.00%]

  <bb 6> [local count: 53687]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  _3 = u32TxSize_22(D) != 0;
  x ={v} _3;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_42 ={v} x;
  if (x.1_42 != 0)
    goto <bb 8>; [50.00%]
  else
    goto <bb 26>; [50.00%]

  <bb 26> [local count: 26844]:

  <bb 7> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 33> [local count: 268435456]:
  goto <bb 7>; [100.00%]

  <bb 8> [local count: 26844]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG bIsReturn => 0
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  pBase_23 = Lpuart_Uart_Ip_apBases[u32Instance_19(D)];
  # DEBUG pBase => pBase_23
  # DEBUG BEGIN_STMT
  pUartState_24 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_19(D)];
  # DEBUG pUartState => pUartState_24
  # DEBUG BEGIN_STMT
  _4 = pUartState_24 != 0B;
  x ={v} _4;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_41 ={v} x;
  if (x.1_41 != 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 25>; [50.00%]

  <bb 25> [local count: 13422]:

  <bb 9> [local count: 134217728]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 32> [local count: 134217728]:
  goto <bb 9>; [100.00%]

  <bb 10> [local count: 13422]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  SchM_Enter_Uart_UART_EXCLUSIVE_AREA_00 ();
  # DEBUG BEGIN_STMT
  _5 ={v} pUartState_24->bIsTxBusy;
  if (_5 != 0)
    goto <bb 11>; [33.00%]
  else
    goto <bb 12>; [67.00%]

  <bb 11> [local count: 4429]:
  # DEBUG BEGIN_STMT
  SchM_Exit_Uart_UART_EXCLUSIVE_AREA_00 ();
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 2
  # DEBUG BEGIN_STMT
  # DEBUG bIsReturn => 1

  <bb 12> [local count: 13422]:
  # bIsReturn_10 = PHI <0(10), 1(11)>
  # retVal_11 = PHI <0(10), 2(11)>
  # DEBUG retVal => retVal_11
  # DEBUG bIsReturn => bIsReturn_10
  # DEBUG BEGIN_STMT
  if (bIsReturn_10 != 0)
    goto <bb 24>; [67.00%]
  else
    goto <bb 13>; [33.00%]

  <bb 13> [local count: 4429]:
  # DEBUG BEGIN_STMT
  pUartState_24->bIsTxBusy ={v} 1;
  # DEBUG BEGIN_STMT
  SchM_Exit_Uart_UART_EXCLUSIVE_AREA_00 ();
  # DEBUG BEGIN_STMT
  pUartState_24->pTxBuff = pTxBuff_21(D);
  # DEBUG BEGIN_STMT
  pUartState_24->u32TxSize ={v} u32TxSize_22(D);
  # DEBUG BEGIN_STMT
  pUartState_24->eTransmitStatus ={v} 2;
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_23
  # DEBUG intSrc => 23
  # DEBUG enable => 0
  # DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
  # DEBUG BEGIN_STMT
  _50 ={v} pBase_23->CTRL;
  _51 = _50 & 4286578687;
  pBase_23->CTRL ={v} _51;
  # DEBUG pBase => NULL
  # DEBUG intSrc => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_23
  # DEBUG intSrc => 22
  # DEBUG enable => 0
  # DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
  # DEBUG BEGIN_STMT
  _48 ={v} pBase_23->CTRL;
  _49 = _48 & 4290772991;
  pBase_23->CTRL ={v} _49;
  # DEBUG pBase => NULL
  # DEBUG intSrc => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_23
  # DEBUG enable => 1
  # DEBUG INLINE_ENTRY LPUART_Uart_SetTransmitterCmd
  # DEBUG BEGIN_STMT
  _45 ={v} pBase_23->CTRL;
  _46 = _45 & 4294443007;
  _47 = _46 | 524288;
  pBase_23->CTRL ={v} _47;
  # DEBUG pBase => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  u32StartTime_33 = OsIf_GetCounter (0);
  # DEBUG u32StartTime => u32StartTime_33
  # DEBUG BEGIN_STMT
  goto <bb 17>; [100.00%]

  <bb 14> [local count: 57207]:
  # DEBUG BEGIN_STMT
  Lpuart_Uart_Ip_PutData (u32Instance_19(D));
  # DEBUG BEGIN_STMT

  <bb 15> [local count: 534766]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_23
  # DEBUG eStatusFlag => 23
  # DEBUG INLINE_ENTRY LPUART_Uart_GetStatusFlag
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  _53 ={v} MEM[(const struct LPUART_Type *)pBase_23].STAT;
  _54 = _53 >> 23;
  retVal_55 = (boolean) _54;
  # DEBUG retVal => retVal_55
  # DEBUG BEGIN_STMT
  # DEBUG pBase => NULL
  # DEBUG eStatusFlag => NULL
  # DEBUG retVal => NULL
  if (retVal_55 != 0)
    goto <bb 30>; [5.50%]
  else
    goto <bb 16>; [94.50%]

  <bb 30> [local count: 29412]:
  goto <bb 18>; [100.00%]

  <bb 16> [local count: 505354]:
  _6 = LPUART_Uart_CheckTimeout (u32StartTime_33, 0);
  if (_6 != 0)
    goto <bb 29>; [5.50%]
  else
    goto <bb 31>; [94.50%]

  <bb 31> [local count: 477560]:
  goto <bb 15>; [100.00%]

  <bb 29> [local count: 27794]:

  <bb 17> [local count: 32224]:

  <bb 18> [local count: 61636]:
  # DEBUG BEGIN_STMT
  _7 ={v} pUartState_24->u32TxSize;
  if (_7 != 0)
    goto <bb 19>; [96.34%]
  else
    goto <bb 20>; [3.66%]

  <bb 19> [local count: 59380]:
  _8 = LPUART_Uart_CheckTimeout (u32StartTime_33, 0);
  if (_8 != 0)
    goto <bb 20>; [3.66%]
  else
    goto <bb 14>; [96.34%]

  <bb 20> [local count: 4429]:
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_23
  # DEBUG enable => 0
  # DEBUG INLINE_ENTRY LPUART_Uart_SetTransmitterCmd
  # DEBUG BEGIN_STMT
  _56 ={v} pBase_23->CTRL;
  _57 = _56 & 4294443007;
  pBase_23->CTRL ={v} _57;
  # DEBUG pBase => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  _9 ={v} pUartState_24->u32TxSize;
  if (_9 != 0)
    goto <bb 21>; [50.00%]
  else
    goto <bb 22>; [50.00%]

  <bb 21> [local count: 2215]:
  # DEBUG BEGIN_STMT
  pUartState_24->eTransmitStatus ={v} 3;
  goto <bb 23>; [100.00%]

  <bb 22> [local count: 2215]:
  # DEBUG BEGIN_STMT
  pUartState_24->eTransmitStatus ={v} 0;

  <bb 23> [local count: 4429]:
  # DEBUG BEGIN_STMT
  pUartState_24->bIsTxBusy ={v} 0;
  # DEBUG BEGIN_STMT
  retVal_40 ={v} pUartState_24->eTransmitStatus;
  # DEBUG retVal => retVal_40

  <bb 24> [local count: 13422]:
  # retVal_12 = PHI <retVal_11(12), retVal_40(23)>
  # DEBUG retVal => retVal_12
  # DEBUG BEGIN_STMT
  return retVal_12;

}


Lpuart_Uart_Ip_Deinit (uint32 u32Instance)
{
  boolean retVal;
  volatile boolean x;
  volatile boolean x;
  struct LPUART_Type * pBase;
  uint32 u32StartTime;
  _Bool _1;
  struct Lpuart_Uart_Ip_StateStructureType * _2;
  _Bool _3;
  _Bool _4;
  _Bool x.1_14;
  _Bool x.1_15;
  long unsigned int _16;
  long unsigned int _17;
  long unsigned int _19;
  long unsigned int _20;
  long unsigned int _21;
  long unsigned int _22;
  long unsigned int _23;
  long unsigned int _24;
  long unsigned int _25;
  long unsigned int _26;
  long unsigned int _27;
  long unsigned int _28;
  long unsigned int _29;
  long unsigned int _30;
  long unsigned int _31;
  long unsigned int _32;

  <bb 2> [local count: 214748]:
  # DEBUG BEGIN_STMT
  _1 = u32Instance_7(D) <= 15;
  x ={v} _1;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_15 ={v} x;
  if (x.1_15 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 11> [local count: 107374]:

  <bb 3> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 14> [local count: 1073741824]:
  goto <bb 3>; [100.00%]

  <bb 4> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pBase_9 = Lpuart_Uart_Ip_apBases[u32Instance_7(D)];
  # DEBUG pBase => pBase_9
  # DEBUG BEGIN_STMT
  _2 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_7(D)];
  _3 = _2 != 0B;
  x ={v} _3;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_14 ={v} x;
  if (x.1_14 != 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 10>; [50.00%]

  <bb 10> [local count: 53687]:

  <bb 5> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 13> [local count: 536870913]:
  goto <bb 5>; [100.00%]

  <bb 6> [local count: 53687]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  u32StartTime_11 = OsIf_GetCounter (0);
  # DEBUG u32StartTime => u32StartTime_11
  # DEBUG BEGIN_STMT

  <bb 7> [local count: 501865]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_9
  # DEBUG eStatusFlag => 22
  # DEBUG INLINE_ENTRY LPUART_Uart_GetStatusFlag
  # DEBUG BEGIN_STMT
  # DEBUG retVal => 0
  # DEBUG BEGIN_STMT
  _16 ={v} MEM[(const struct LPUART_Type *)pBase_9].STAT;
  _17 = _16 >> 22;
  retVal_18 = (boolean) _17;
  # DEBUG retVal => retVal_18
  # DEBUG BEGIN_STMT
  # DEBUG pBase => NULL
  # DEBUG eStatusFlag => NULL
  # DEBUG retVal => NULL
  if (retVal_18 != 0)
    goto <bb 9>; [5.50%]
  else
    goto <bb 8>; [94.50%]

  <bb 8> [local count: 474262]:
  _4 = LPUART_Uart_CheckTimeout (u32StartTime_11, 0);
  if (_4 != 0)
    goto <bb 9>; [5.50%]
  else
    goto <bb 12>; [94.50%]

  <bb 12> [local count: 448178]:
  goto <bb 7>; [100.00%]

  <bb 9> [local count: 53687]:
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_9
  # DEBUG intSrc => 23
  # DEBUG enable => 0
  # DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
  # DEBUG BEGIN_STMT
  _31 ={v} pBase_9->CTRL;
  _32 = _31 & 4286578687;
  pBase_9->CTRL ={v} _32;
  # DEBUG pBase => NULL
  # DEBUG intSrc => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_9
  # DEBUG intSrc => 22
  # DEBUG enable => 0
  # DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
  # DEBUG BEGIN_STMT
  _29 ={v} pBase_9->CTRL;
  _30 = _29 & 4290772991;
  pBase_9->CTRL ={v} _30;
  # DEBUG pBase => NULL
  # DEBUG intSrc => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_9
  # DEBUG intSrc => 21
  # DEBUG enable => 0
  # DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
  # DEBUG BEGIN_STMT
  _27 ={v} pBase_9->CTRL;
  _28 = _27 & 4292870143;
  pBase_9->CTRL ={v} _28;
  # DEBUG pBase => NULL
  # DEBUG intSrc => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_9
  # DEBUG intSrc => 27
  # DEBUG enable => 0
  # DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
  # DEBUG BEGIN_STMT
  _25 ={v} pBase_9->CTRL;
  _26 = _25 & 4160749567;
  pBase_9->CTRL ={v} _26;
  # DEBUG pBase => NULL
  # DEBUG intSrc => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_9
  # DEBUG intSrc => 24
  # DEBUG enable => 0
  # DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
  # DEBUG BEGIN_STMT
  _23 ={v} pBase_9->CTRL;
  _24 = _23 & 4278190079;
  pBase_9->CTRL ={v} _24;
  # DEBUG pBase => NULL
  # DEBUG intSrc => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_9
  # DEBUG intSrc => 26
  # DEBUG enable => 0
  # DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
  # DEBUG BEGIN_STMT
  _21 ={v} pBase_9->CTRL;
  _22 = _21 & 4227858431;
  pBase_9->CTRL ={v} _22;
  # DEBUG pBase => NULL
  # DEBUG intSrc => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_9
  # DEBUG intSrc => 25
  # DEBUG enable => 0
  # DEBUG INLINE_ENTRY LPUART_Uart_SetIntMode
  # DEBUG BEGIN_STMT
  _19 ={v} pBase_9->CTRL;
  _20 = _19 & 4261412863;
  pBase_9->CTRL ={v} _20;
  # DEBUG pBase => NULL
  # DEBUG intSrc => NULL
  # DEBUG enable => NULL
  # DEBUG BEGIN_STMT
  Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_7(D)] = 0B;
  return;

}


Lpuart_Uart_Ip_Init (uint32 u32Instance, const struct Lpuart_Uart_Ip_UserConfigType * pUserConfig)
{
  volatile boolean x;
  volatile boolean x;
  volatile boolean x;
  volatile boolean x;
  volatile boolean x;
  volatile boolean x;
  uint32 u32Index;
  struct LPUART_Type * pBase;
  _Bool _1;
  _Bool _2;
  struct Lpuart_Uart_Ip_StateStructureType * _3;
  _Bool _4;
  unsigned char _5;
  _Bool _6;
  long unsigned int _7;
  long unsigned int _8;
  _Bool _9;
  struct Lpuart_Uart_Ip_StateStructureType * _10;
  <unnamed type> _11;
  <unnamed type> _12;
  _Bool _13;
  uint8 * _14;
  unsigned char _15;
  unsigned int _16;
  unsigned int _17;
  long unsigned int _18;
  <unnamed type> _19;
  <unnamed type> _20;
  <unnamed type> _21;
  <unnamed type> _22;
  <unnamed type> _23;
  long unsigned int _24;
  int iftmp.0_26;
  _Bool x.1_47;
  _Bool x.1_48;
  _Bool x.1_49;
  _Bool x.1_50;
  _Bool x.1_51;
  _Bool x.1_52;
  long unsigned int _53;
  long unsigned int _54;

  <bb 2> [local count: 214748]:
  # DEBUG BEGIN_STMT
  _1 = u32Instance_30(D) <= 15;
  x ={v} _1;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_51 ={v} x;
  if (x.1_51 != 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 31>; [50.00%]

  <bb 31> [local count: 107374]:

  <bb 3> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 37> [local count: 1073741824]:
  goto <bb 3>; [100.00%]

  <bb 4> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  _2 = pUserConfig_32(D) != 0B;
  x ={v} _2;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_50 ={v} x;
  if (x.1_50 != 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 30>; [50.00%]

  <bb 30> [local count: 53687]:

  <bb 5> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 36> [local count: 536870913]:
  goto <bb 5>; [100.00%]

  <bb 6> [local count: 53687]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  _3 = Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_30(D)];
  _4 = _3 == 0B;
  x ={v} _4;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_49 ={v} x;
  if (x.1_49 != 0)
    goto <bb 8>; [50.00%]
  else
    goto <bb 29>; [50.00%]

  <bb 29> [local count: 26844]:

  <bb 7> [local count: 268435456]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 35> [local count: 268435456]:
  goto <bb 7>; [100.00%]

  <bb 8> [local count: 26844]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  _5 = pUserConfig_32(D)->u8BaudOverSamplingRatio;
  _6 = _5 <= 32;
  x ={v} _6;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_48 ={v} x;
  if (x.1_48 != 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 28>; [50.00%]

  <bb 28> [local count: 13422]:

  <bb 9> [local count: 134217728]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 34> [local count: 134217728]:
  goto <bb 9>; [100.00%]

  <bb 10> [local count: 13422]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  _7 = pUserConfig_32(D)->u32BaudRateDivisor;
  _8 = _7 + 4294967295;
  _9 = _8 <= 8190;
  x ={v} _9;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_47 ={v} x;
  if (x.1_47 != 0)
    goto <bb 12>; [50.00%]
  else
    goto <bb 27>; [50.00%]

  <bb 27> [local count: 6711]:

  <bb 11> [local count: 67108864]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 33> [local count: 67108864]:
  goto <bb 11>; [100.00%]

  <bb 12> [local count: 6711]:
  # DEBUG BEGIN_STMT
  # DEBUG x => NULL
  # DEBUG BEGIN_STMT
  pBase_33 = Lpuart_Uart_Ip_apBases[u32Instance_30(D)];
  # DEBUG pBase => pBase_33
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _10 = pUserConfig_32(D)->pStateStruct;
  Lpuart_Uart_Ip_apStateStructuresArray[u32Instance_30(D)] = _10;
  # DEBUG BEGIN_STMT
  # DEBUG pUartStatePtr => _10
  # DEBUG BEGIN_STMT
  Lpuart_Uart_Ip_apUserConfig[u32Instance_30(D)] = pUserConfig_32(D);
  # DEBUG BEGIN_STMT
  _11 = pUserConfig_32(D)->eBitCountPerChar;
  if (_11 != 3)
    goto <bb 15>; [66.00%]
  else
    goto <bb 13>; [34.00%]

  <bb 13> [local count: 2282]:
  _12 = pUserConfig_32(D)->eParityMode;
  if (_12 == 0)
    goto <bb 15>; [50.00%]
  else
    goto <bb 14>; [50.00%]

  <bb 14> [local count: 1141]:

  <bb 15> [local count: 6711]:
  # iftmp.0_26 = PHI <1(13), 0(14), 1(12)>
  _13 = (_Bool) iftmp.0_26;
  x ={v} _13;
  # DEBUG x => x
  # DEBUG INLINE_ENTRY DevAssert
  # DEBUG BEGIN_STMT
  x.1_52 ={v} x;
  if (x.1_52 != 0)
    goto <bb 25>; [50.00%]
  else
    goto <bb 26>; [50.00%]

  <bb 26> [local count: 3355]:
  goto <bb 16>; [100.00%]

  <bb 25> [local count: 3355]:
  goto <bb 18>; [100.00%]

  <bb 32> [local count: 33554432]:

  <bb 16> [local count: 33554432]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  goto <bb 32>; [100.00%]

  <bb 17> [local count: 80531]:
  # DEBUG BEGIN_STMT
  _14 = _10 + u32Index_25;
  *_14 = 0;
  # DEBUG BEGIN_STMT
  u32Index_46 = u32Index_25 + 1;
  # DEBUG u32Index => u32Index_46

  <bb 18> [local count: 83886]:
  # u32Index_25 = PHI <u32Index_46(17), 0(25)>
  # DEBUG x => NULL
  # DEBUG pClearStructPtr => NULL
  # DEBUG u32Index => u32Index_25
  # DEBUG BEGIN_STMT
  if (u32Index_25 != 24)
    goto <bb 17>; [96.00%]
  else
    goto <bb 19>; [4.00%]

  <bb 19> [local count: 3355]:
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_33
  # DEBUG INLINE_ENTRY LPUART_Uart_Init
  # DEBUG BEGIN_STMT
  pBase_33->BAUD ={v} 251658244;
  # DEBUG BEGIN_STMT
  pBase_33->STAT ={v} 3223306240;
  # DEBUG BEGIN_STMT
  pBase_33->CTRL ={v} 0;
  # DEBUG pBase => NULL
  # DEBUG BEGIN_STMT
  _15 = pUserConfig_32(D)->u8BaudOverSamplingRatio;
  if (_15 <= 7)
    goto <bb 20>; [50.00%]
  else
    goto <bb 21>; [50.00%]

  <bb 20> [local count: 1678]:
  # DEBUG BEGIN_STMT
  # DEBUG pBase => pBase_33
  # DEBUG INLINE_ENTRY LPUART_Uart_EnableBothEdgeSamplingCmd
  # DEBUG BEGIN_STMT
  _53 ={v} pBase_33->BAUD;
  _54 = _53 | 131072;
  pBase_33->BAUD ={v} _54;

  <bb 21> [local count: 3355]:
  # DEBUG pBase => NULL
  # DEBUG BEGIN_STMT
  _16 = (unsigned int) _15;
  _17 = _16 + 4294967295;
  LPUART_Uart_SetOversamplingRatio (pBase_33, _17);
  # DEBUG BEGIN_STMT
  _18 = pUserConfig_32(D)->u32BaudRateDivisor;
  LPUART_Uart_SetBaudRateDivisor (pBase_33, _18);
  # DEBUG BEGIN_STMT
  _19 = pUserConfig_32(D)->eParityMode;
  if (_19 != 0)
    goto <bb 22>; [50.00%]
  else
    goto <bb 23>; [50.00%]

  <bb 22> [local count: 1678]:
  # DEBUG BEGIN_STMT
  _20 = pUserConfig_32(D)->eBitCountPerChar;
  LPUART_Uart_SetBitCountPerChar (pBase_33, _20, 1);
  goto <bb 24>; [100.00%]

  <bb 23> [local count: 1678]:
  # DEBUG BEGIN_STMT
  _21 = pUserConfig_32(D)->eBitCountPerChar;
  LPUART_Uart_SetBitCountPerChar (pBase_33, _21, 0);

  <bb 24> [local count: 3355]:
  # DEBUG BEGIN_STMT
  _22 = pUserConfig_32(D)->eParityMode;
  LPUART_Uart_SetParityMode (pBase_33, _22);
  # DEBUG BEGIN_STMT
  _23 = pUserConfig_32(D)->eStopBitsCount;
  LPUART_Uart_SetStopBitCount (pBase_33, _23);
  # DEBUG BEGIN_STMT
  _10->eTransmitStatus ={v} 0;
  # DEBUG BEGIN_STMT
  _10->eReceiveStatus ={v} 0;
  # DEBUG BEGIN_STMT
  _24 = pUserConfig_32(D)->u32BaudRate;
  _10->u32BaudRate = _24;
  return;

}


LPUART_Uart_CheckTimeout (uint32 startTime, uint32 timeoutUs)
{
  boolean retVal;
  uint32 currentTime;
  uint32 timeoutTicks;
  long unsigned int _1;
  long unsigned int _2;
  long unsigned int _3;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  timeoutTicks_8 = OsIf_MicrosToTicks (timeoutUs_6(D), 0);
  # DEBUG timeoutTicks => timeoutTicks_8
  # DEBUG BEGIN_STMT
  currentTime_10 = OsIf_GetCounter (0);
  # DEBUG currentTime => currentTime_10
  # DEBUG BEGIN_STMT
  if (currentTime_10 <= startTime_11(D))
    goto <bb 3>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _1 = startTime_11(D) - currentTime_10;
  retVal_13 = _1 > timeoutTicks_8;
  # DEBUG retVal => retVal_13
  goto <bb 5>; [100.00%]

  <bb 4> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _2 = startTime_11(D) - currentTime_10;
  _3 = _2 + 16777215;
  retVal_12 = _3 > timeoutTicks_8;
  # DEBUG retVal => retVal_12

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

}


LPUART_Uart_ClearErrorFlags (struct LPUART_Type * pBase)
{
  long unsigned int _1;
  long unsigned int _2;
  long unsigned int _3;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG mask => 983040
  # DEBUG BEGIN_STMT
  _1 ={v} pBase_5(D)->STAT;
  _2 = _1 & 1071661055;
  _3 = _2 | 983040;
  pBase_5(D)->STAT ={v} _3;
  return;

}


LPUART_Uart_Getchar10 (const struct LPUART_Type * pBase)
{
  uint16 readData;
  long unsigned int _1;
  long unsigned int _2;
  short unsigned int _3;
  short unsigned int _4;
  long unsigned int _5;
  long unsigned int _6;
  short unsigned int _7;
  short unsigned int _8;
  long unsigned int _9;
  short unsigned int _10;
  unsigned char _15;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 ={v} pBase_12(D)->CTRL;
  _2 = _1 >> 30;
  _3 = (short unsigned int) _2;
  _4 = _3 << 9;
  readData_13 = _4 & 512;
  # DEBUG readData => readData_13
  # DEBUG BEGIN_STMT
  _5 ={v} pBase_12(D)->CTRL;
  _6 = _5 >> 31;
  _7 = (short unsigned int) _6;
  _8 = _7 << 8;
  readData_14 = _8 | readData_13;
  # DEBUG readData => readData_14
  # DEBUG BEGIN_STMT
  _9 ={v} pBase_12(D)->DATA;
  _15 = (unsigned char) _9;
  _10 = (short unsigned int) _15;
  readData_16 = _10 | readData_14;
  # DEBUG readData => readData_16
  # DEBUG BEGIN_STMT
  return readData_16;

}


LPUART_Uart_Getchar9 (const struct LPUART_Type * pBase)
{
  uint16 readData;
  long unsigned int _1;
  long unsigned int _2;
  short unsigned int _3;
  short unsigned int _4;
  long unsigned int _5;
  short unsigned int _6;
  unsigned char _9;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 ={v} pBase_8(D)->CTRL;
  _2 = _1 >> 31;
  _3 = (short unsigned int) _2;
  _4 = _3 << 8;
  # DEBUG readData => _4
  # DEBUG BEGIN_STMT
  _5 ={v} pBase_8(D)->DATA;
  _9 = (unsigned char) _5;
  _6 = (short unsigned int) _9;
  readData_10 = _4 | _6;
  # DEBUG readData => readData_10
  # DEBUG BEGIN_STMT
  return readData_10;

}


LPUART_Uart_Putchar10 (struct LPUART_Type * pBase, uint16 data)
{
  uint32 ctrlRegVal;
  uint8 tenthDataBit;
  uint8 ninthDataBit;
  short unsigned int _1;
  unsigned char _2;
  short unsigned int _3;
  unsigned char _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;
  unsigned char _11;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG D#3 => &pBase_12(D)->DATA
  # DEBUG dataRegBytes => D#3
  # DEBUG BEGIN_STMT
  _1 = data_13(D) >> 8;
  _2 = (unsigned char) _1;
  ninthDataBit_14 = _2 & 1;
  # DEBUG ninthDataBit => ninthDataBit_14
  # DEBUG BEGIN_STMT
  _3 = data_13(D) >> 9;
  _4 = (unsigned char) _3;
  tenthDataBit_15 = _4 & 1;
  # DEBUG tenthDataBit => tenthDataBit_15
  # DEBUG BEGIN_STMT
  ctrlRegVal_17 ={v} pBase_12(D)->CTRL;
  # DEBUG ctrlRegVal => ctrlRegVal_17
  # DEBUG BEGIN_STMT
  _5 = ctrlRegVal_17 & 3221225471;
  _6 = (long unsigned int) ninthDataBit_14;
  _7 = _6 << 30;
  ctrlRegVal_18 = _5 | _7;
  # DEBUG ctrlRegVal => ctrlRegVal_18
  # DEBUG BEGIN_STMT
  _8 = ctrlRegVal_18 & 2147483647;
  _9 = (long unsigned int) tenthDataBit_15;
  _10 = _9 << 31;
  ctrlRegVal_19 = _8 | _10;
  # DEBUG ctrlRegVal => ctrlRegVal_19
  # DEBUG BEGIN_STMT
  pBase_12(D)->CTRL ={v} ctrlRegVal_19;
  # DEBUG BEGIN_STMT
  _11 = (unsigned char) data_13(D);
  MEM[(volatile uint8 *)pBase_12(D) + 28B] ={v} _11;
  return;

}


LPUART_Uart_Putchar9 (struct LPUART_Type * pBase, uint16 data)
{
  uint8 ninthDataBit;
  short unsigned int _1;
  unsigned char _2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;
  long unsigned int _6;
  long unsigned int _7;
  unsigned char _8;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG D#2 => &pBase_9(D)->DATA
  # DEBUG dataRegBytes => D#2
  # DEBUG BEGIN_STMT
  _1 = data_10(D) >> 8;
  _2 = (unsigned char) _1;
  ninthDataBit_11 = _2 & 1;
  # DEBUG ninthDataBit => ninthDataBit_11
  # DEBUG BEGIN_STMT
  _3 ={v} pBase_9(D)->CTRL;
  _4 = _3 & 3221225471;
  _5 = (long unsigned int) ninthDataBit_11;
  _6 = _5 << 30;
  _7 = _4 | _6;
  pBase_9(D)->CTRL ={v} _7;
  # DEBUG BEGIN_STMT
  _8 = (unsigned char) data_10(D);
  MEM[(volatile uint8 *)pBase_9(D) + 28B] ={v} _8;
  return;

}


LPUART_Uart_SetStopBitCount (struct LPUART_Type * pBase, Lpuart_Uart_Ip_StopBitCountType stopBitCount)
{
  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} pBase_7(D)->BAUD;
  _2 = _1 & 4294959103;
  _3 = (long unsigned int) stopBitCount_8(D);
  _4 = _3 << 13;
  _5 = _2 | _4;
  pBase_7(D)->BAUD ={v} _5;
  return;

}


LPUART_Uart_SetParityMode (struct LPUART_Type * pBase, Lpuart_Uart_Ip_ParityModeType parityModeType)
{
  long unsigned int _1;
  long unsigned int _2;
  <unnamed type> _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;
  <unnamed type> _16;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 ={v} pBase_12(D)->CTRL;
  _2 = _1 & 4294967293;
  _3 = parityModeType_13(D) >> 1;
  _4 = (long unsigned int) _3;
  _5 = _4 << 1;
  _6 = _2 | _5;
  pBase_12(D)->CTRL ={v} _6;
  # DEBUG BEGIN_STMT
  _7 ={v} pBase_12(D)->CTRL;
  _8 = _7 & 4294967294;
  _16 = parityModeType_13(D) & 1;
  _9 = (long unsigned int) _16;
  _10 = _8 | _9;
  pBase_12(D)->CTRL ={v} _10;
  return;

}


LPUART_Uart_SetBitCountPerChar (struct LPUART_Type * pBase, Lpuart_Uart_Ip_BitCountPerCharType bitCountPerChar, boolean parity)
{
  uint32 tmpBitCountPerChar;
  long unsigned int _1;
  long unsigned int _2;
  long unsigned int _3;
  long unsigned int _4;
  long unsigned int _5;
  long unsigned int _6;
  long unsigned int _7;
  long unsigned int _8;
  long unsigned int _9;
  long unsigned int _10;
  long unsigned int _11;
  long unsigned int _12;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  tmpBitCountPerChar_17 = (uint32) bitCountPerChar_16(D);
  # DEBUG tmpBitCountPerChar => tmpBitCountPerChar_17
  # DEBUG BEGIN_STMT
  if (parity_18(D) != 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  tmpBitCountPerChar_19 = tmpBitCountPerChar_17 + 1;
  # DEBUG tmpBitCountPerChar => tmpBitCountPerChar_19

  <bb 4> [local count: 1073741824]:
  # tmpBitCountPerChar_13 = PHI <tmpBitCountPerChar_17(2), tmpBitCountPerChar_19(3)>
  # DEBUG tmpBitCountPerChar => tmpBitCountPerChar_13
  # DEBUG BEGIN_STMT
  if (tmpBitCountPerChar_13 == 3)
    goto <bb 5>; [34.00%]
  else
    goto <bb 6>; [66.00%]

  <bb 5> [local count: 365072220]:
  # DEBUG BEGIN_STMT
  _1 ={v} pBase_22(D)->BAUD;
  _2 = _1 | 536870912;
  pBase_22(D)->BAUD ={v} _2;
  goto <bb 12>; [100.00%]

  <bb 6> [local count: 708669605]:
  # DEBUG BEGIN_STMT
  if (bitCountPerChar_16(D) == 0)
    goto <bb 7>; [50.00%]
  else
    goto <bb 10>; [50.00%]

  <bb 7> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  if (parity_18(D) != 0)
    goto <bb 8>; [50.00%]
  else
    goto <bb 9>; [50.00%]

  <bb 8> [local count: 177167401]:
  # DEBUG BEGIN_STMT
  _3 ={v} pBase_22(D)->CTRL;
  _4 = _3 & 4294965231;
  pBase_22(D)->CTRL ={v} _4;
  goto <bb 11>; [100.00%]

  <bb 9> [local count: 177167401]:
  # DEBUG BEGIN_STMT
  _5 ={v} pBase_22(D)->CTRL;
  _6 = _5 | 2048;
  pBase_22(D)->CTRL ={v} _6;
  goto <bb 11>; [100.00%]

  <bb 10> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  tmpBitCountPerChar_20 = tmpBitCountPerChar_13 + 4294967295;
  # DEBUG tmpBitCountPerChar => tmpBitCountPerChar_20
  # DEBUG BEGIN_STMT
  _7 ={v} pBase_22(D)->CTRL;
  _8 = _7 & 4294967279;
  _9 = tmpBitCountPerChar_20 << 4;
  _10 = _8 | _9;
  pBase_22(D)->CTRL ={v} _10;

  <bb 11> [local count: 708669605]:
  # DEBUG BEGIN_STMT
  _11 ={v} pBase_22(D)->BAUD;
  _12 = _11 & 3758096383;
  pBase_22(D)->BAUD ={v} _12;

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

}


LPUART_Uart_SetOversamplingRatio (struct LPUART_Type * pBase, uint32 overSamplingRatio)
{
  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} pBase_7(D)->BAUD;
  _2 = _1 & 3774873599;
  _3 = overSamplingRatio_8(D) << 24;
  _4 = _3 & 520093696;
  _5 = _2 | _4;
  pBase_7(D)->BAUD ={v} _5;
  return;

}


LPUART_Uart_SetBaudRateDivisor (struct LPUART_Type * pBase, uint32 baudRateDivisor)
{
  long unsigned int _1;
  long unsigned int _2;
  long unsigned int _3;
  long unsigned int _4;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 ={v} pBase_6(D)->BAUD;
  _2 = _1 & 4294959104;
  _3 = baudRateDivisor_7(D) & 8191;
  _4 = _2 | _3;
  pBase_6(D)->BAUD ={v} _4;
  return;

}


