Histogram:
xStreamBufferSpacesAvailable.part.0 ()
{
  const struct StreamBuffer_t * const pxStreamBuffer;
  size_t xSpace;
  size_t xOriginalTail;
  uint32_t ulNewBASEPRI;
  struct StreamBufferDef_t * xStreamBuffer;

  <bb 5> [local count: 107374]:
  # DEBUG D#2 s=> xStreamBuffer
  # DEBUG xStreamBuffer => D#2

  <bb 2> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_1 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_1

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

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

}


prvReadBytesFromBuffer.part.0 (struct StreamBuffer_t * pxStreamBuffer, uint8_t * pucData, size_t xCount, size_t xTail)
{
  size_t xFirstLength;
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  unsigned int _2;
  unsigned int _4;
  unsigned int _8;
  uint8_t * _10;
  uint8_t * _11;
  uint8_t * _13;
  uint8_t * _14;
  unsigned int _15;
  unsigned int _17;

  <bb 15> [local count: 214748]:

  <bb 2> [local count: 214748]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _2 = pxStreamBuffer_1(D)->xLength;
  _4 = _2 - xTail_3(D);
  xFirstLength_6 = MIN_EXPR <_4, xCount_5(D)>;
  # DEBUG xFirstLength => xFirstLength_6
  # DEBUG BEGIN_STMT
  if (xCount_5(D) < xFirstLength_6)
    goto <bb 3>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 3> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_7 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_7

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 5> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 6> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _8 = xTail_3(D) + xFirstLength_6;
  if (_2 < _8)
    goto <bb 7>; [67.00%]
  else
    goto <bb 10>; [33.00%]

  <bb 7> [local count: 71941]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_9 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_9

  <bb 8> [local count: 719407023]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 9> [local count: 719407023]:
  goto <bb 8>; [100.00%]

  <bb 10> [local count: 35433]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _10 = pxStreamBuffer_1(D)->pucBuffer;
  _11 = _10 + xTail_3(D);
  memcpy (pucData_12(D), _11, xFirstLength_6);
  # DEBUG BEGIN_STMT
  if (xCount_5(D) > xFirstLength_6)
    goto <bb 11>; [33.00%]
  else
    goto <bb 12>; [67.00%]

  <bb 11> [local count: 11693]:
  # DEBUG BEGIN_STMT
  _13 = pucData_12(D) + xFirstLength_6;
  _14 = pxStreamBuffer_1(D)->pucBuffer;
  _15 = xCount_5(D) - xFirstLength_6;
  memcpy (_13, _14, _15);

  <bb 12> [local count: 35433]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  xTail_16 = xTail_3(D) + xCount_5(D);
  # DEBUG xTail => xTail_16
  # DEBUG BEGIN_STMT
  _17 = pxStreamBuffer_1(D)->xLength;
  if (xTail_16 >= _17)
    goto <bb 13>; [50.00%]
  else
    goto <bb 14>; [50.00%]

  <bb 13> [local count: 17717]:
  # DEBUG BEGIN_STMT
  xTail_18 = xTail_16 - _17;
  # DEBUG xTail => xTail_18

  <bb 14> [local count: 35433]:
  # xTail_19 = PHI <xTail_16(12), xTail_18(13)>
  # DEBUG xTail => xTail_19
  # DEBUG BEGIN_STMT
  return xTail_19;

}


prvWriteBytesToBuffer.part.0 (struct StreamBuffer_t * const pxStreamBuffer, const uint8_t * pucData, size_t xCount, size_t xHead)
{
  size_t xFirstLength;
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  unsigned int _2;
  unsigned int _4;
  unsigned int _7;
  uint8_t * _9;
  uint8_t * _10;
  unsigned int _12;
  unsigned int _13;
  uint8_t * _15;
  const uint8_t * _16;
  unsigned int _18;

  <bb 15> [local count: 160260]:

  <bb 2> [local count: 160260]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _2 = pxStreamBuffer_1(D)->xLength;
  _4 = _2 - xHead_3(D);
  xFirstLength_6 = MIN_EXPR <_4, xCount_5(D)>;
  # DEBUG xFirstLength => xFirstLength_6
  # DEBUG BEGIN_STMT
  _7 = xHead_3(D) + xFirstLength_6;
  if (_2 < _7)
    goto <bb 3>; [67.00%]
  else
    goto <bb 6>; [33.00%]

  <bb 3> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 5> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 6> [local count: 52886]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _9 = pxStreamBuffer_1(D)->pucBuffer;
  _10 = _9 + xHead_3(D);
  memcpy (_10, pucData_11(D), xFirstLength_6);
  # DEBUG BEGIN_STMT
  if (xCount_5(D) > xFirstLength_6)
    goto <bb 7>; [50.00%]
  else
    goto <bb 12>; [50.00%]

  <bb 7> [local count: 26443]:
  # DEBUG BEGIN_STMT
  _12 = xCount_5(D) - xFirstLength_6;
  _13 = pxStreamBuffer_1(D)->xLength;
  if (_12 > _13)
    goto <bb 8>; [67.00%]
  else
    goto <bb 11>; [33.00%]

  <bb 8> [local count: 17717]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_14 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_14

  <bb 9> [local count: 177167401]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 10> [local count: 177167401]:
  goto <bb 9>; [100.00%]

  <bb 11> [local count: 8726]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _15 = pxStreamBuffer_1(D)->pucBuffer;
  _16 = pucData_11(D) + xFirstLength_6;
  memcpy (_15, _16, _12);

  <bb 12> [local count: 35169]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  xHead_17 = xHead_3(D) + xCount_5(D);
  # DEBUG xHead => xHead_17
  # DEBUG BEGIN_STMT
  _18 = pxStreamBuffer_1(D)->xLength;
  if (xHead_17 >= _18)
    goto <bb 13>; [50.00%]
  else
    goto <bb 14>; [50.00%]

  <bb 13> [local count: 17584]:
  # DEBUG BEGIN_STMT
  xHead_19 = xHead_17 - _18;
  # DEBUG xHead => xHead_19

  <bb 14> [local count: 35169]:
  # xHead_20 = PHI <xHead_17(12), xHead_19(13)>
  # DEBUG xHead => xHead_20
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return xHead_20;

}


prvInitialiseNewStreamBuffer.part.0 (struct StreamBuffer_t * const pxStreamBuffer, uint8_t * const pucBuffer, size_t xBufferSizeBytes, size_t xTriggerLevelBytes, uint8_t ucFlags)
{
  const BaseType_t xWriteValue;
  uint32_t ulNewBASEPRI;

  <bb 3> [local count: 1073741824]:

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  memset (pxStreamBuffer_1(D), 0, 36);
  # DEBUG BEGIN_STMT
  pxStreamBuffer_1(D)->pucBuffer = pucBuffer_2(D);
  # DEBUG BEGIN_STMT
  pxStreamBuffer_1(D)->xLength = xBufferSizeBytes_3(D);
  # DEBUG BEGIN_STMT
  pxStreamBuffer_1(D)->xTriggerLevelBytes = xTriggerLevelBytes_4(D);
  # DEBUG BEGIN_STMT
  pxStreamBuffer_1(D)->ucFlags = ucFlags_5(D);
  return;

}


ucStreamBufferGetStreamBufferType (struct StreamBufferDef_t * xStreamBuffer)
{
  unsigned char _1;
  uint8_t _4;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _1 = xStreamBuffer_3(D)->ucFlags;
  _4 = _1 & 1;
  return _4;

}


vStreamBufferSetStreamBufferNumber (struct StreamBufferDef_t * xStreamBuffer, UBaseType_t uxStreamBufferNumber)
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  xStreamBuffer_2(D)->uxStreamBufferNumber = uxStreamBufferNumber_3(D);
  return;

}


uxStreamBufferGetStreamBufferNumber (struct StreamBufferDef_t * xStreamBuffer)
{
  UBaseType_t _3;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _3 = xStreamBuffer_2(D)->uxStreamBufferNumber;
  return _3;

}


prvInitialiseNewStreamBuffer (struct StreamBuffer_t * const pxStreamBuffer, uint8_t * const pucBuffer, size_t xBufferSizeBytes, size_t xTriggerLevelBytes, uint8_t ucFlags)
{
  uint32_t ulNewBASEPRI;
  void * _1;

  <bb 2> [local count: 130040]:
  # DEBUG BEGIN_STMT
  # DEBUG xWriteValue => 85
  # DEBUG BEGIN_STMT
  _1 = memset (pucBuffer_4(D), 85, xBufferSizeBytes_5(D));
  if (_1 != pucBuffer_4(D))
    goto <bb 3>; [82.57%]
  else
    goto <bb 5>; [17.43%]

  <bb 3> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_10 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_10

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 6> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 22666]:
  prvInitialiseNewStreamBuffer.part.0 (pxStreamBuffer_7(D), pucBuffer_4(D), xBufferSizeBytes_5(D), xTriggerLevelBytes_8(D), ucFlags_9(D));
  return;

}


prvBytesInBuffer (const struct StreamBuffer_t * const pxStreamBuffer)
{
  size_t xCount;
  unsigned int _1;
  unsigned int _2;
  unsigned int _7;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = pxStreamBuffer_5(D)->xLength;
  _2 ={v} pxStreamBuffer_5(D)->xHead;
  xCount_6 = _1 + _2;
  # DEBUG xCount => xCount_6
  # DEBUG BEGIN_STMT
  _7 ={v} pxStreamBuffer_5(D)->xTail;
  xCount_8 = xCount_6 - _7;
  # DEBUG xCount => xCount_8
  # DEBUG BEGIN_STMT
  if (_1 <= xCount_8)
    goto <bb 3>; [50.00%]
  else
    goto <bb 4>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  xCount_9 = xCount_8 - _1;
  # DEBUG xCount => xCount_9

  <bb 4> [local count: 1073741824]:
  # xCount_3 = PHI <xCount_8(2), xCount_9(3)>
  # DEBUG xCount => xCount_3
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return xCount_3;

}


prvReadBytesFromBuffer (struct StreamBuffer_t * pxStreamBuffer, uint8_t * pucData, size_t xCount, size_t xTail)
{
  uint32_t ulNewBASEPRI;

  <bb 2> [local count: 214748]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xCount_3(D) == 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 3> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 6> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 107374]:
  xTail_1 = prvReadBytesFromBuffer.part.0 (pxStreamBuffer_5(D), pucData_7(D), xCount_3(D), xTail_6(D));
  # DEBUG xTail => xTail_1
  # DEBUG BEGIN_STMT
  return xTail_1;

}


prvWriteBytesToBuffer (struct StreamBuffer_t * const pxStreamBuffer, const uint8_t * pucData, size_t xCount, size_t xHead)
{
  uint32_t ulNewBASEPRI;

  <bb 2> [local count: 214748]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xCount_3(D) == 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 3> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 6> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 107374]:
  xHead_1 = prvWriteBytesToBuffer.part.0 (pxStreamBuffer_5(D), pucData_7(D), xCount_3(D), xHead_6(D));
  # DEBUG xHead => xHead_1
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return xHead_1;

}


xStreamBufferReceiveCompletedFromISR (struct StreamBufferDef_t * xStreamBuffer, BaseType_t * pxHigherPriorityTaskWoken)
{
  uint32_t ulOriginalBASEPRI;
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  BaseType_t xReturn;
  struct tskTaskControlBlock * _1;
  struct tskTaskControlBlock * _2;

  <bb 2> [local count: 357913]:
  # DEBUG BEGIN_STMT
  # DEBUG pxStreamBuffer => xStreamBuffer_5(D)
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xStreamBuffer_5(D) == 0B)
    goto <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_10 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_10

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 8> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 250539]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mrs %0, basepri											
	mov %1, %2												
	msr basepri, %1											
	isb														
	dsb														
" : "=r" ulOriginalBASEPRI_11, "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
  # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_11
  # DEBUG BEGIN_STMT
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG ulOriginalBASEPRI => NULL
  # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_11
  # DEBUG BEGIN_STMT
  _1 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_5(D)].xTaskWaitingToSend;
  if (_1 != 0B)
    goto <bb 6>; [53.47%]
  else
    goto <bb 7>; [46.53%]

  <bb 6> [local count: 133963]:
  # DEBUG BEGIN_STMT
  _2 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_5(D)].xTaskWaitingToSend;
  xTaskGenericNotifyFromISR (_2, 0, 0, 0, 0B, pxHigherPriorityTaskWoken_7(D));
  # DEBUG BEGIN_STMT
  MEM[(struct StreamBuffer_t *)xStreamBuffer_5(D)].xTaskWaitingToSend ={v} 0B;
  # DEBUG BEGIN_STMT
  # DEBUG xReturn => 1

  <bb 7> [local count: 250539]:
  # xReturn_3 = PHI <1(6), 0(5)>
  # DEBUG xReturn => xReturn_3
  # DEBUG BEGIN_STMT
  # DEBUG ulNewMaskValue => ulOriginalBASEPRI_11
  # DEBUG INLINE_ENTRY vPortSetBASEPRI
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulOriginalBASEPRI_11 : "memory");
  # DEBUG ulNewMaskValue => NULL
  # DEBUG BEGIN_STMT
  return xReturn_3;

}


xStreamBufferSendCompletedFromISR (struct StreamBufferDef_t * xStreamBuffer, BaseType_t * pxHigherPriorityTaskWoken)
{
  uint32_t ulOriginalBASEPRI;
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  BaseType_t xReturn;
  struct tskTaskControlBlock * _1;
  struct tskTaskControlBlock * _2;

  <bb 2> [local count: 357913]:
  # DEBUG BEGIN_STMT
  # DEBUG pxStreamBuffer => xStreamBuffer_5(D)
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xStreamBuffer_5(D) == 0B)
    goto <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_10 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_10

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 8> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 250539]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mrs %0, basepri											
	mov %1, %2												
	msr basepri, %1											
	isb														
	dsb														
" : "=r" ulOriginalBASEPRI_11, "=r" ulNewBASEPRI_12 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_12
  # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_11
  # DEBUG BEGIN_STMT
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG ulOriginalBASEPRI => NULL
  # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_11
  # DEBUG BEGIN_STMT
  _1 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_5(D)].xTaskWaitingToReceive;
  if (_1 != 0B)
    goto <bb 6>; [53.47%]
  else
    goto <bb 7>; [46.53%]

  <bb 6> [local count: 133963]:
  # DEBUG BEGIN_STMT
  _2 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_5(D)].xTaskWaitingToReceive;
  xTaskGenericNotifyFromISR (_2, 0, 0, 0, 0B, pxHigherPriorityTaskWoken_7(D));
  # DEBUG BEGIN_STMT
  MEM[(struct StreamBuffer_t *)xStreamBuffer_5(D)].xTaskWaitingToReceive ={v} 0B;
  # DEBUG BEGIN_STMT
  # DEBUG xReturn => 1

  <bb 7> [local count: 250539]:
  # xReturn_3 = PHI <1(6), 0(5)>
  # DEBUG xReturn => xReturn_3
  # DEBUG BEGIN_STMT
  # DEBUG ulNewMaskValue => ulOriginalBASEPRI_11
  # DEBUG INLINE_ENTRY vPortSetBASEPRI
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulOriginalBASEPRI_11 : "memory");
  # DEBUG ulNewMaskValue => NULL
  # DEBUG BEGIN_STMT
  return xReturn_3;

}


xStreamBufferIsFull (struct StreamBufferDef_t * xStreamBuffer)
{
  uint32_t ulNewBASEPRI;
  size_t xBytesToStoreMessageLength;
  BaseType_t xReturn;
  unsigned char _1;
  unsigned int _2;
  unsigned char _6;

  <bb 2> [local count: 357913]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG pxStreamBuffer => xStreamBuffer_5(D)
  # DEBUG BEGIN_STMT
  if (xStreamBuffer_5(D) == 0B)
    goto <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_9 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_9

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

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

  <bb 5> [local count: 250539]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = MEM[(const struct StreamBuffer_t *)xStreamBuffer_5(D)].ucFlags;
  _6 = _1 & 1;
  if (_6 != 0)
    goto <bb 7>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 6> [local count: 125270]:
  # DEBUG BEGIN_STMT
  # DEBUG xBytesToStoreMessageLength => 0

  <bb 7> [local count: 250539]:
  # xBytesToStoreMessageLength_4 = PHI <4(5), 0(6)>
  # DEBUG xBytesToStoreMessageLength => xBytesToStoreMessageLength_4
  # DEBUG BEGIN_STMT
  _2 = xStreamBufferSpacesAvailable (xStreamBuffer_5(D));
  if (_2 <= xBytesToStoreMessageLength_4)
    goto <bb 9>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 8> [local count: 125270]:
  # DEBUG BEGIN_STMT
  # DEBUG xReturn => 0

  <bb 9> [local count: 250539]:
  # xReturn_3 = PHI <1(7), 0(8)>
  # DEBUG xReturn => xReturn_3
  # DEBUG BEGIN_STMT
  return xReturn_3;

}


xStreamBufferIsEmpty (struct StreamBufferDef_t * xStreamBuffer)
{
  uint32_t ulNewBASEPRI;
  size_t xTail;
  BaseType_t xReturn;
  unsigned int _1;

  <bb 2> [local count: 357913]:
  # DEBUG BEGIN_STMT
  # DEBUG pxStreamBuffer => xStreamBuffer_3(D)
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xStreamBuffer_3(D) == 0B)
    goto <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_6 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_6

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 8> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 250539]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  xTail_5 ={v} MEM[(const struct StreamBuffer_t *)xStreamBuffer_3(D)].xTail;
  # DEBUG xTail => xTail_5
  # DEBUG BEGIN_STMT
  _1 ={v} MEM[(const struct StreamBuffer_t *)xStreamBuffer_3(D)].xHead;
  if (_1 == xTail_5)
    goto <bb 7>; [34.00%]
  else
    goto <bb 6>; [66.00%]

  <bb 6> [local count: 165356]:
  # DEBUG BEGIN_STMT
  # DEBUG xReturn => 0

  <bb 7> [local count: 250539]:
  # xReturn_2 = PHI <1(5), 0(6)>
  # DEBUG xReturn => xReturn_2
  # DEBUG BEGIN_STMT
  return xReturn_2;

}


prvReadMessageFromBuffer (struct StreamBuffer_t * pxStreamBuffer, void * pvRxData, size_t xBufferLengthBytes, size_t xBytesAvailable)
{
  size_t xTail;
  size_t xNextTail;
  size_t xTempNextMessageLength;
  size_t xNextMessageLength;
  size_t xCount;
  unsigned char _1;
  unsigned int _2;
  unsigned char _12;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  xNextTail_10 ={v} pxStreamBuffer_9(D)->xTail;
  # DEBUG xNextTail => xNextTail_10
  # DEBUG BEGIN_STMT
  _1 = pxStreamBuffer_9(D)->ucFlags;
  _12 = _1 & 1;
  if (_12 != 0)
    goto <bb 3>; [33.00%]
  else
    goto <bb 5>; [67.00%]

  <bb 3> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  # DEBUG pxStreamBuffer => pxStreamBuffer_9(D)
  # DEBUG pucData => &xTempNextMessageLength
  # DEBUG xCount => 4
  # DEBUG xTail => xNextTail_10
  # DEBUG INLINE_ENTRY prvReadBytesFromBuffer
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  xTail_21 = prvReadBytesFromBuffer.part.0 (pxStreamBuffer_9(D), &xTempNextMessageLength, 4, xNextTail_10);
  # DEBUG xTail => xTail_21
  # DEBUG BEGIN_STMT
  # DEBUG pxStreamBuffer => NULL
  # DEBUG pucData => NULL
  # DEBUG xCount => NULL
  # DEBUG xTail => NULL
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG xNextTail => xTail_21
  # DEBUG BEGIN_STMT
  xNextMessageLength_14 = xTempNextMessageLength;
  # DEBUG xNextMessageLength => xNextMessageLength_14
  # DEBUG BEGIN_STMT
  xBytesAvailable_15 = xBytesAvailable_13(D) + 4294967292;
  # DEBUG xBytesAvailable => xBytesAvailable_15
  # DEBUG BEGIN_STMT
  if (xBufferLengthBytes_11(D) < xNextMessageLength_14)
    goto <bb 4>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 4> [local count: 177167401]:
  # DEBUG BEGIN_STMT
  # DEBUG xNextMessageLength => 0

  <bb 5> [local count: 1073741824]:
  # xBytesAvailable_3 = PHI <xBytesAvailable_15(4), xBytesAvailable_13(D)(2), xBytesAvailable_15(3)>
  # xNextMessageLength_4 = PHI <0(4), xBufferLengthBytes_11(D)(2), xNextMessageLength_14(3)>
  # xNextTail_5 = PHI <xTail_21(4), xNextTail_10(2), xTail_21(3)>
  # DEBUG xNextTail => xNextTail_5
  # DEBUG xNextMessageLength => xNextMessageLength_4
  # DEBUG xBytesAvailable => xBytesAvailable_3
  # DEBUG BEGIN_STMT
  xCount_16 = MIN_EXPR <xBytesAvailable_3, xNextMessageLength_4>;
  # DEBUG xCount => xCount_16
  # DEBUG BEGIN_STMT
  if (xCount_16 != 0)
    goto <bb 6>; [33.00%]
  else
    goto <bb 7>; [67.00%]

  <bb 6> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  _2 = prvReadBytesFromBuffer (pxStreamBuffer_9(D), pvRxData_17(D), xCount_16, xNextTail_5);
  pxStreamBuffer_9(D)->xTail ={v} _2;

  <bb 7> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  xTempNextMessageLength ={v} {CLOBBER};
  return xCount_16;

}


xStreamBufferReceiveFromISR (struct StreamBufferDef_t * xStreamBuffer, void * pvRxData, size_t xBufferLengthBytes, BaseType_t * const pxHigherPriorityTaskWoken)
{
  uint32_t ulOriginalBASEPRI;
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  size_t xBytesToStoreMessageLength;
  size_t xBytesAvailable;
  size_t xReceivedLength;
  unsigned char _1;
  struct tskTaskControlBlock * _2;
  struct tskTaskControlBlock * _3;
  unsigned char _9;

  <bb 2> [local count: 357913]:
  # DEBUG BEGIN_STMT
  # DEBUG pxStreamBuffer => xStreamBuffer_8(D)
  # DEBUG BEGIN_STMT
  # DEBUG xReceivedLength => 0
  # DEBUG BEGIN_STMT
  if (pvRxData_10(D) == 0B)
    goto <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_20 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_20

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 16> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 250539]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xStreamBuffer_8(D) == 0B)
    goto <bb 6>; [30.00%]
  else
    goto <bb 8>; [70.00%]

  <bb 6> [local count: 75162]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_21 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_21

  <bb 7> [local count: 751619279]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

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

  <bb 8> [local count: 175378]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = MEM[(struct StreamBuffer_t *)xStreamBuffer_8(D)].ucFlags;
  _9 = _1 & 1;
  if (_9 != 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 9>; [50.00%]

  <bb 9> [local count: 87689]:
  # DEBUG BEGIN_STMT
  # DEBUG xBytesToStoreMessageLength => 0

  <bb 10> [local count: 175378]:
  # xBytesToStoreMessageLength_5 = PHI <4(8), 0(9)>
  # DEBUG xBytesToStoreMessageLength => xBytesToStoreMessageLength_5
  # DEBUG BEGIN_STMT
  xBytesAvailable_13 = prvBytesInBuffer (xStreamBuffer_8(D));
  # DEBUG xBytesAvailable => xBytesAvailable_13
  # DEBUG BEGIN_STMT
  if (xBytesToStoreMessageLength_5 < xBytesAvailable_13)
    goto <bb 11>; [33.00%]
  else
    goto <bb 15>; [67.00%]

  <bb 11> [local count: 57875]:
  # DEBUG BEGIN_STMT
  xReceivedLength_16 = prvReadMessageFromBuffer (xStreamBuffer_8(D), pvRxData_10(D), xBufferLengthBytes_14(D), xBytesAvailable_13);
  # DEBUG xReceivedLength => xReceivedLength_16
  # DEBUG BEGIN_STMT
  if (xReceivedLength_16 != 0)
    goto <bb 12>; [50.00%]
  else
    goto <bb 15>; [50.00%]

  <bb 12> [local count: 28937]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mrs %0, basepri											
	mov %1, %2												
	msr basepri, %1											
	isb														
	dsb														
" : "=r" ulOriginalBASEPRI_22, "=r" ulNewBASEPRI_23 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_23
  # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_22
  # DEBUG BEGIN_STMT
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG ulOriginalBASEPRI => NULL
  # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_22
  # DEBUG BEGIN_STMT
  _2 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_8(D)].xTaskWaitingToSend;
  if (_2 != 0B)
    goto <bb 13>; [53.47%]
  else
    goto <bb 14>; [46.53%]

  <bb 13> [local count: 15473]:
  # DEBUG BEGIN_STMT
  _3 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_8(D)].xTaskWaitingToSend;
  xTaskGenericNotifyFromISR (_3, 0, 0, 0, 0B, pxHigherPriorityTaskWoken_17(D));
  # DEBUG BEGIN_STMT
  MEM[(struct StreamBuffer_t *)xStreamBuffer_8(D)].xTaskWaitingToSend ={v} 0B;

  <bb 14> [local count: 28937]:
  # DEBUG BEGIN_STMT
  # DEBUG ulNewMaskValue => ulOriginalBASEPRI_22
  # DEBUG INLINE_ENTRY vPortSetBASEPRI
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulOriginalBASEPRI_22 : "memory");

  <bb 15> [local count: 175378]:
  # xReceivedLength_4 = PHI <0(10), xReceivedLength_16(14), xReceivedLength_16(11)>
  # DEBUG ulNewMaskValue => NULL
  # DEBUG xReceivedLength => xReceivedLength_4
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return xReceivedLength_4;

}


xStreamBufferNextMessageLengthBytes (struct StreamBufferDef_t * xStreamBuffer)
{
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  size_t xTempReturn;
  size_t xBytesAvailable;
  size_t xReturn;
  unsigned char _1;
  unsigned int _2;
  unsigned char _6;

  <bb 2> [local count: 357913]:
  # DEBUG BEGIN_STMT
  # DEBUG pxStreamBuffer => xStreamBuffer_5(D)
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xStreamBuffer_5(D) == 0B)
    goto <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_13 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_13

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 12> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 250539]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = MEM[(struct StreamBuffer_t *)xStreamBuffer_5(D)].ucFlags;
  _6 = _1 & 1;
  if (_6 != 0)
    goto <bb 6>; [33.00%]
  else
    goto <bb 11>; [67.00%]

  <bb 6> [local count: 82678]:
  # DEBUG BEGIN_STMT
  xBytesAvailable_9 = prvBytesInBuffer (xStreamBuffer_5(D));
  # DEBUG xBytesAvailable => xBytesAvailable_9
  # DEBUG BEGIN_STMT
  if (xBytesAvailable_9 > 4)
    goto <bb 7>; [33.00%]
  else
    goto <bb 8>; [67.00%]

  <bb 7> [local count: 27284]:
  # DEBUG BEGIN_STMT
  _2 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_5(D)].xTail;
  prvReadBytesFromBuffer (xStreamBuffer_5(D), &xTempReturn, 4, _2);
  # DEBUG BEGIN_STMT
  xReturn_11 = xTempReturn;
  # DEBUG xReturn => xReturn_11
  goto <bb 11>; [100.00%]

  <bb 8> [local count: 55394]:
  # DEBUG BEGIN_STMT
  if (xBytesAvailable_9 != 0)
    goto <bb 9>; [50.00%]
  else
    goto <bb 11>; [50.00%]

  <bb 9> [local count: 27697]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_14 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_14

  <bb 10> [local count: 276971704]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

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

  <bb 11> [local count: 222842]:
  # xReturn_3 = PHI <0(8), 0(5), xReturn_11(7)>
  # DEBUG xReturn => xReturn_3
  # DEBUG BEGIN_STMT
  xTempReturn ={v} {CLOBBER};
  return xReturn_3;

}


xStreamBufferReceive (struct StreamBufferDef_t * xStreamBuffer, void * pvRxData, size_t xBufferLengthBytes, TickType_t xTicksToWait)
{
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  size_t xBytesToStoreMessageLength;
  size_t xBytesAvailable;
  size_t xReceivedLength;
  unsigned char _1;
  struct tskTaskControlBlock * _2;
  struct tskTaskControlBlock * _3;
  struct tskTaskControlBlock * _4;
  struct tskTaskControlBlock * _5;
  unsigned char _14;

  <bb 2> [local count: 357913]:
  # DEBUG BEGIN_STMT
  # DEBUG pxStreamBuffer => xStreamBuffer_13(D)
  # DEBUG BEGIN_STMT
  # DEBUG xReceivedLength => 0
  # DEBUG BEGIN_STMT
  if (pvRxData_15(D) == 0B)
    goto <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_38 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_38

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 25> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 250539]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xStreamBuffer_13(D) == 0B)
    goto <bb 6>; [30.00%]
  else
    goto <bb 8>; [70.00%]

  <bb 6> [local count: 75162]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_39 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_39

  <bb 7> [local count: 751619279]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 26> [local count: 751619279]:
  goto <bb 7>; [100.00%]

  <bb 8> [local count: 175378]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = MEM[(struct StreamBuffer_t *)xStreamBuffer_13(D)].ucFlags;
  _14 = _1 & 1;
  if (_14 != 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 9>; [50.00%]

  <bb 9> [local count: 87689]:
  # DEBUG BEGIN_STMT
  # DEBUG xBytesToStoreMessageLength => 0

  <bb 10> [local count: 175378]:
  # xBytesToStoreMessageLength_8 = PHI <4(8), 0(9)>
  # DEBUG xBytesToStoreMessageLength => xBytesToStoreMessageLength_8
  # DEBUG BEGIN_STMT
  if (xTicksToWait_17(D) != 0)
    goto <bb 11>; [50.00%]
  else
    goto <bb 18>; [50.00%]

  <bb 11> [local count: 87689]:
  # DEBUG BEGIN_STMT
  vPortEnterCritical ();
  # DEBUG BEGIN_STMT
  xBytesAvailable_22 = prvBytesInBuffer (xStreamBuffer_13(D));
  # DEBUG xBytesAvailable => xBytesAvailable_22
  # DEBUG BEGIN_STMT
  if (xBytesToStoreMessageLength_8 >= xBytesAvailable_22)
    goto <bb 12>; [50.00%]
  else
    goto <bb 16>; [50.00%]

  <bb 12> [local count: 43844]:
  # DEBUG BEGIN_STMT
  xTaskGenericNotifyStateClear (0B, 0);
  # DEBUG BEGIN_STMT
  _2 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_13(D)].xTaskWaitingToReceive;
  if (_2 != 0B)
    goto <bb 13>; [82.57%]
  else
    goto <bb 15>; [17.43%]

  <bb 13> [local count: 36202]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_40 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_40

  <bb 14> [local count: 362023689]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

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

  <bb 15> [local count: 7642]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _3 = xTaskGetCurrentTaskHandle ();
  MEM[(struct StreamBuffer_t *)xStreamBuffer_13(D)].xTaskWaitingToReceive ={v} _3;

  <bb 16> [local count: 51486]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  vPortExitCritical ();
  # DEBUG BEGIN_STMT
  if (xBytesToStoreMessageLength_8 >= xBytesAvailable_22)
    goto <bb 17>; [33.00%]
  else
    goto <bb 19>; [67.00%]

  <bb 17> [local count: 16991]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  xTaskGenericNotifyWait (0, 0, 0, 0B, xTicksToWait_17(D));
  # DEBUG BEGIN_STMT
  MEM[(struct StreamBuffer_t *)xStreamBuffer_13(D)].xTaskWaitingToReceive ={v} 0B;
  # DEBUG BEGIN_STMT
  xBytesAvailable_30 = prvBytesInBuffer (xStreamBuffer_13(D));
  # DEBUG xBytesAvailable => xBytesAvailable_30
  goto <bb 19>; [100.00%]

  <bb 18> [local count: 87689]:
  # DEBUG BEGIN_STMT
  xBytesAvailable_19 = prvBytesInBuffer (xStreamBuffer_13(D));
  # DEBUG xBytesAvailable => xBytesAvailable_19

  <bb 19> [local count: 139175]:
  # xBytesAvailable_7 = PHI <xBytesAvailable_30(17), xBytesAvailable_19(18), xBytesAvailable_22(16)>
  # DEBUG xBytesAvailable => xBytesAvailable_7
  # DEBUG BEGIN_STMT
  if (xBytesAvailable_7 > xBytesToStoreMessageLength_8)
    goto <bb 20>; [33.00%]
  else
    goto <bb 24>; [67.00%]

  <bb 20> [local count: 45928]:
  # DEBUG BEGIN_STMT
  xReceivedLength_33 = prvReadMessageFromBuffer (xStreamBuffer_13(D), pvRxData_15(D), xBufferLengthBytes_31(D), xBytesAvailable_7);
  # DEBUG xReceivedLength => xReceivedLength_33
  # DEBUG BEGIN_STMT
  if (xReceivedLength_33 != 0)
    goto <bb 21>; [33.00%]
  else
    goto <bb 24>; [67.00%]

  <bb 21> [local count: 15156]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  vTaskSuspendAll ();
  # DEBUG BEGIN_STMT
  _4 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_13(D)].xTaskWaitingToSend;
  if (_4 != 0B)
    goto <bb 22>; [53.47%]
  else
    goto <bb 23>; [46.53%]

  <bb 22> [local count: 8104]:
  # DEBUG BEGIN_STMT
  _5 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_13(D)].xTaskWaitingToSend;
  xTaskGenericNotify (_5, 0, 0, 0, 0B);
  # DEBUG BEGIN_STMT
  MEM[(struct StreamBuffer_t *)xStreamBuffer_13(D)].xTaskWaitingToSend ={v} 0B;

  <bb 23> [local count: 15156]:
  # DEBUG BEGIN_STMT
  xTaskResumeAll ();
  # DEBUG BEGIN_STMT

  <bb 24> [local count: 139175]:
  # xReceivedLength_6 = PHI <0(19), xReceivedLength_33(23), xReceivedLength_33(20)>
  # DEBUG xReceivedLength => xReceivedLength_6
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return xReceivedLength_6;

}


prvWriteMessageToBuffer (struct StreamBuffer_t * const pxStreamBuffer, const void * pvTxData, size_t xDataLengthBytes, size_t xSpace, size_t xRequiredSpace)
{
  size_t xHead;
  size_t xNextHead;
  unsigned char _1;
  unsigned int xDataLengthBytes.2_2;
  unsigned int _3;
  unsigned int xDataLengthBytes.3_4;
  unsigned int _5;
  size_t _19;
  unsigned char _22;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  xNextHead_11 ={v} pxStreamBuffer_10(D)->xHead;
  # DEBUG xNextHead => xNextHead_11
  # DEBUG BEGIN_STMT
  _1 = pxStreamBuffer_10(D)->ucFlags;
  _22 = _1 & 1;
  if (_22 != 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  if (xSpace_12(D) >= xRequiredSpace_14(D))
    goto <bb 4>; [33.00%]
  else
    goto <bb 5>; [67.00%]

  <bb 4> [local count: 177167401]:
  # DEBUG BEGIN_STMT
  # DEBUG pxStreamBuffer => pxStreamBuffer_10(D)
  # DEBUG pucData => &xDataLengthBytes
  # DEBUG xCount => 4
  # DEBUG xHead => xNextHead_11
  # DEBUG INLINE_ENTRY prvWriteBytesToBuffer
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  xHead_20 = prvWriteBytesToBuffer.part.0 (pxStreamBuffer_10(D), &xDataLengthBytes, 4, xNextHead_11);
  # DEBUG xHead => xHead_20
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG pxStreamBuffer => NULL
  # DEBUG pucData => NULL
  # DEBUG xCount => NULL
  # DEBUG xHead => NULL
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG xNextHead => xHead_20
  goto <bb 7>; [100.00%]

  <bb 5> [local count: 359703511]:
  # DEBUG BEGIN_STMT
  xDataLengthBytes = 0;
  goto <bb 7>; [100.00%]

  <bb 6> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  xDataLengthBytes.2_2 = xDataLengthBytes;
  _3 = MIN_EXPR <xDataLengthBytes.2_2, xSpace_12(D)>;
  xDataLengthBytes = _3;

  <bb 7> [local count: 1073741824]:
  # xNextHead_6 = PHI <xNextHead_11(5), xNextHead_11(6), xHead_20(4)>
  # DEBUG xNextHead => xNextHead_6
  # DEBUG BEGIN_STMT
  xDataLengthBytes.3_4 = xDataLengthBytes;
  if (xDataLengthBytes.3_4 != 0)
    goto <bb 8>; [33.00%]
  else
    goto <bb 9>; [67.00%]

  <bb 8> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  _5 = prvWriteBytesToBuffer (pxStreamBuffer_10(D), pvTxData_16(D), xDataLengthBytes.3_4, xNextHead_6);
  pxStreamBuffer_10(D)->xHead ={v} _5;

  <bb 9> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _19 = xDataLengthBytes;
  return _19;

}


xStreamBufferSendFromISR (struct StreamBufferDef_t * xStreamBuffer, const void * pvTxData, size_t xDataLengthBytes, BaseType_t * const pxHigherPriorityTaskWoken)
{
  uint32_t ulOriginalBASEPRI;
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  size_t xRequiredSpace;
  size_t xSpace;
  size_t xReturn;
  unsigned char _1;
  unsigned int _2;
  unsigned int _3;
  struct tskTaskControlBlock * _4;
  struct tskTaskControlBlock * _5;
  unsigned char _10;

  <bb 2> [local count: 357913]:
  # DEBUG BEGIN_STMT
  # DEBUG pxStreamBuffer => xStreamBuffer_9(D)
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG xRequiredSpace => xDataLengthBytes_11(D)
  # DEBUG BEGIN_STMT
  if (pvTxData_12(D) == 0B)
    goto <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_23 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_23

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 16> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 250539]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xStreamBuffer_9(D) == 0B)
    goto <bb 6>; [30.00%]
  else
    goto <bb 8>; [70.00%]

  <bb 6> [local count: 75162]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_24 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_24

  <bb 7> [local count: 751619279]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

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

  <bb 8> [local count: 175378]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].ucFlags;
  _10 = _1 & 1;
  if (_10 != 0)
    goto <bb 9>; [50.00%]
  else
    goto <bb 10>; [50.00%]

  <bb 9> [local count: 87689]:
  # DEBUG BEGIN_STMT
  xRequiredSpace_14 = xDataLengthBytes_11(D) + 4;
  # DEBUG xRequiredSpace => xRequiredSpace_14

  <bb 10> [local count: 175378]:
  # xRequiredSpace_6 = PHI <xDataLengthBytes_11(D)(8), xRequiredSpace_14(9)>
  # DEBUG xRequiredSpace => xRequiredSpace_6
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  xSpace_16 = xStreamBufferSpacesAvailable (xStreamBuffer_9(D));
  # DEBUG xSpace => xSpace_16
  # DEBUG BEGIN_STMT
  xReturn_18 = prvWriteMessageToBuffer (xStreamBuffer_9(D), pvTxData_12(D), xDataLengthBytes_11(D), xSpace_16, xRequiredSpace_6);
  # DEBUG xReturn => xReturn_18
  # DEBUG BEGIN_STMT
  if (xReturn_18 != 0)
    goto <bb 11>; [33.00%]
  else
    goto <bb 15>; [67.00%]

  <bb 11> [local count: 57875]:
  # DEBUG BEGIN_STMT
  _2 = prvBytesInBuffer (xStreamBuffer_9(D));
  _3 = MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].xTriggerLevelBytes;
  if (_2 >= _3)
    goto <bb 12>; [50.00%]
  else
    goto <bb 15>; [50.00%]

  <bb 12> [local count: 28937]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY ulPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mrs %0, basepri											
	mov %1, %2												
	msr basepri, %1											
	isb														
	dsb														
" : "=r" ulOriginalBASEPRI_25, "=r" ulNewBASEPRI_26 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_26
  # DEBUG ulOriginalBASEPRI => ulOriginalBASEPRI_25
  # DEBUG BEGIN_STMT
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG ulOriginalBASEPRI => NULL
  # DEBUG uxSavedInterruptStatus => ulOriginalBASEPRI_25
  # DEBUG BEGIN_STMT
  _4 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].xTaskWaitingToReceive;
  if (_4 != 0B)
    goto <bb 13>; [53.47%]
  else
    goto <bb 14>; [46.53%]

  <bb 13> [local count: 15473]:
  # DEBUG BEGIN_STMT
  _5 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].xTaskWaitingToReceive;
  xTaskGenericNotifyFromISR (_5, 0, 0, 0, 0B, pxHigherPriorityTaskWoken_20(D));
  # DEBUG BEGIN_STMT
  MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].xTaskWaitingToReceive ={v} 0B;

  <bb 14> [local count: 28937]:
  # DEBUG BEGIN_STMT
  # DEBUG ulNewMaskValue => ulOriginalBASEPRI_25
  # DEBUG INLINE_ENTRY vPortSetBASEPRI
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	msr basepri, %0	" :  : "r" ulOriginalBASEPRI_25 : "memory");

  <bb 15> [local count: 175378]:
  # DEBUG ulNewMaskValue => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return xReturn_18;

}


xStreamBufferSend (struct StreamBufferDef_t * xStreamBuffer, const void * pvTxData, size_t xDataLengthBytes, TickType_t xTicksToWait)
{
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  size_t xMaxReportedSpace;
  struct TimeOut_t xTimeOut;
  size_t xRequiredSpace;
  size_t xSpace;
  size_t xReturn;
  unsigned int _1;
  unsigned char _2;
  unsigned int _3;
  long unsigned int xTicksToWait.0_4;
  struct tskTaskControlBlock * _5;
  struct tskTaskControlBlock * _6;
  long unsigned int xTicksToWait.1_7;
  long int _8;
  unsigned int _9;
  unsigned int _10;
  struct tskTaskControlBlock * _11;
  struct tskTaskControlBlock * _12;
  unsigned char _23;

  <bb 2> [local count: 357913]:
  # DEBUG BEGIN_STMT
  # DEBUG pxStreamBuffer => xStreamBuffer_22(D)
  # DEBUG BEGIN_STMT
  # DEBUG xSpace => 0
  # DEBUG BEGIN_STMT
  # DEBUG xRequiredSpace => xDataLengthBytes_25(D)
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG xMaxReportedSpace => 0
  # DEBUG BEGIN_STMT
  if (pvTxData_27(D) == 0B)
    goto <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_54 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_54

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

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

  <bb 5> [local count: 250539]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xStreamBuffer_22(D) == 0B)
    goto <bb 6>; [30.00%]
  else
    goto <bb 8>; [70.00%]

  <bb 6> [local count: 75162]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_55 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_55

  <bb 7> [local count: 751619279]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 32> [local count: 751619279]:
  goto <bb 7>; [100.00%]

  <bb 8> [local count: 175378]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].xLength;
  xMaxReportedSpace_29 = _1 + 4294967295;
  # DEBUG xMaxReportedSpace => xMaxReportedSpace_29
  # DEBUG BEGIN_STMT
  _2 = MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].ucFlags;
  _23 = _2 & 1;
  if (_23 != 0)
    goto <bb 9>; [50.00%]
  else
    goto <bb 14>; [50.00%]

  <bb 9> [local count: 87689]:
  # DEBUG BEGIN_STMT
  xRequiredSpace_30 = xDataLengthBytes_25(D) + 4;
  # DEBUG xRequiredSpace => xRequiredSpace_30
  # DEBUG BEGIN_STMT
  if (xDataLengthBytes_25(D) >= xRequiredSpace_30)
    goto <bb 10>; [50.00%]
  else
    goto <bb 12>; [50.00%]

  <bb 10> [local count: 43844]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_56 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_56

  <bb 11> [local count: 438444579]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

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

  <bb 12> [local count: 43844]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xMaxReportedSpace_29 < xRequiredSpace_30)
    goto <bb 13>; [50.00%]
  else
    goto <bb 15>; [50.00%]

  <bb 13> [local count: 21922]:
  # DEBUG BEGIN_STMT
  xTicksToWait = 0;
  goto <bb 15>; [100.00%]

  <bb 14> [local count: 87689]:
  # DEBUG BEGIN_STMT
  _3 = MIN_EXPR <xMaxReportedSpace_29, xDataLengthBytes_25(D)>;

  <bb 15> [local count: 131533]:
  # xRequiredSpace_15 = PHI <xRequiredSpace_30(13), _3(14), xRequiredSpace_30(12)>
  # DEBUG xRequiredSpace => xRequiredSpace_15
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  xTicksToWait.0_4 = xTicksToWait;
  if (xTicksToWait.0_4 != 0)
    goto <bb 16>; [50.00%]
  else
    goto <bb 24>; [50.00%]

  <bb 16> [local count: 65767]:
  # DEBUG BEGIN_STMT
  vTaskSetTimeOutState (&xTimeOut);

  <bb 17> [local count: 621434]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  vPortEnterCritical ();
  # DEBUG BEGIN_STMT
  xSpace_35 = xStreamBufferSpacesAvailable (xStreamBuffer_22(D));
  # DEBUG xSpace => xSpace_35
  # DEBUG BEGIN_STMT
  if (xRequiredSpace_15 > xSpace_35)
    goto <bb 18>; [96.34%]
  else
    goto <bb 22>; [3.66%]

  <bb 18> [local count: 598690]:
  # DEBUG BEGIN_STMT
  xTaskGenericNotifyStateClear (0B, 0);
  # DEBUG BEGIN_STMT
  _5 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].xTaskWaitingToSend;
  if (_5 != 0B)
    goto <bb 19>; [3.66%]
  else
    goto <bb 21>; [96.34%]

  <bb 19> [local count: 21912]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_57 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_57

  <bb 20> [local count: 219120732]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 34> [local count: 219120732]:
  goto <bb 20>; [100.00%]

  <bb 21> [local count: 576777]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _6 = xTaskGetCurrentTaskHandle ();
  MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].xTaskWaitingToSend ={v} _6;
  # DEBUG BEGIN_STMT
  vPortExitCritical ();
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  xTicksToWait.1_7 = xTicksToWait;
  xTaskGenericNotifyWait (0, 0, 0, 0B, xTicksToWait.1_7);
  # DEBUG BEGIN_STMT
  MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].xTaskWaitingToSend ={v} 0B;
  # DEBUG BEGIN_STMT
  _8 = xTaskCheckForTimeOut (&xTimeOut, &xTicksToWait);
  if (_8 == 0)
    goto <bb 35>; [96.34%]
  else
    goto <bb 23>; [3.66%]

  <bb 35> [local count: 555667]:
  goto <bb 17>; [100.00%]

  <bb 22> [local count: 22744]:
  # xSpace_24 = PHI <xSpace_35(17)>
  # DEBUG BEGIN_STMT
  vPortExitCritical ();
  # DEBUG BEGIN_STMT

  <bb 23> [local count: 43855]:
  # xSpace_13 = PHI <xSpace_24(22), xSpace_35(21)>
  # DEBUG xSpace => xSpace_13
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xSpace_13 == 0)
    goto <bb 24>; [50.00%]
  else
    goto <bb 25>; [50.00%]

  <bb 24> [local count: 87694]:
  # DEBUG xSpace => NULL
  # DEBUG BEGIN_STMT
  xSpace_45 = xStreamBufferSpacesAvailable (xStreamBuffer_22(D));
  # DEBUG xSpace => xSpace_45

  <bb 25> [local count: 109621]:
  # xSpace_14 = PHI <xSpace_13(23), xSpace_45(24)>
  # DEBUG xSpace => xSpace_14
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  xReturn_47 = prvWriteMessageToBuffer (xStreamBuffer_22(D), pvTxData_27(D), xDataLengthBytes_25(D), xSpace_14, xRequiredSpace_15);
  # DEBUG xReturn => xReturn_47
  # DEBUG BEGIN_STMT
  if (xReturn_47 != 0)
    goto <bb 26>; [33.00%]
  else
    goto <bb 30>; [67.00%]

  <bb 26> [local count: 36175]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _9 = prvBytesInBuffer (xStreamBuffer_22(D));
  _10 = MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].xTriggerLevelBytes;
  if (_9 >= _10)
    goto <bb 27>; [33.00%]
  else
    goto <bb 30>; [67.00%]

  <bb 27> [local count: 11938]:
  # DEBUG BEGIN_STMT
  vTaskSuspendAll ();
  # DEBUG BEGIN_STMT
  _11 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].xTaskWaitingToReceive;
  if (_11 != 0B)
    goto <bb 28>; [53.47%]
  else
    goto <bb 29>; [46.53%]

  <bb 28> [local count: 6383]:
  # DEBUG BEGIN_STMT
  _12 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].xTaskWaitingToReceive;
  xTaskGenericNotify (_12, 0, 0, 0, 0B);
  # DEBUG BEGIN_STMT
  MEM[(struct StreamBuffer_t *)xStreamBuffer_22(D)].xTaskWaitingToReceive ={v} 0B;

  <bb 29> [local count: 11938]:
  # DEBUG BEGIN_STMT
  xTaskResumeAll ();
  # DEBUG BEGIN_STMT

  <bb 30> [local count: 109621]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  xTimeOut ={v} {CLOBBER};
  return xReturn_47;

}


xStreamBufferBytesAvailable (struct StreamBufferDef_t * xStreamBuffer)
{
  uint32_t ulNewBASEPRI;
  size_t xReturn;

  <bb 2> [local count: 230763]:
  # DEBUG BEGIN_STMT
  # DEBUG pxStreamBuffer => xStreamBuffer_1(D)
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xStreamBuffer_1(D) == 0B)
    goto <bb 3>; [46.53%]
  else
    goto <bb 5>; [53.47%]

  <bb 3> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_5 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_5

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 6> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 123389]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  xReturn_4 = prvBytesInBuffer (xStreamBuffer_1(D));
  # DEBUG xReturn => xReturn_4
  # DEBUG BEGIN_STMT
  return xReturn_4;

}


xStreamBufferSpacesAvailable (struct StreamBufferDef_t * xStreamBuffer)
{
  size_t xOriginalTail;
  size_t xSpace;
  unsigned int _1;
  unsigned int _2;
  unsigned int _3;
  unsigned int _4;
  unsigned int _12;

  <bb 2> [local count: 357913]:
  # DEBUG BEGIN_STMT
  # DEBUG pxStreamBuffer => xStreamBuffer_7(D)
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xStreamBuffer_7(D) == 0B)
    goto <bb 3>; [30.00%]
  else
    goto <bb 8>; [70.00%]

  <bb 3> [local count: 107374]:
  # DEBUG D#1 => xStreamBuffer_7(D)
  xStreamBufferSpacesAvailable.part.0 ();

  <bb 8> [local count: 250539]:

  <bb 4> [local count: 2277630]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  xOriginalTail_10 ={v} MEM[(const struct StreamBuffer_t *)xStreamBuffer_7(D)].xTail;
  # DEBUG xOriginalTail => xOriginalTail_10
  # DEBUG BEGIN_STMT
  _1 = MEM[(const struct StreamBuffer_t *)xStreamBuffer_7(D)].xLength;
  _2 ={v} MEM[(const struct StreamBuffer_t *)xStreamBuffer_7(D)].xTail;
  xSpace_11 = _1 + _2;
  # DEBUG xSpace => xSpace_11
  # DEBUG BEGIN_STMT
  _12 ={v} MEM[(const struct StreamBuffer_t *)xStreamBuffer_7(D)].xHead;
  xSpace_13 = xSpace_11 - _12;
  # DEBUG xSpace => xSpace_13
  # DEBUG BEGIN_STMT
  _3 ={v} MEM[(const struct StreamBuffer_t *)xStreamBuffer_7(D)].xTail;
  if (_3 != xOriginalTail_10)
    goto <bb 9>; [89.00%]
  else
    goto <bb 5>; [11.00%]

  <bb 9> [local count: 2027091]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 250539]:
  # _4 = PHI <_1(4)>
  # xSpace_5 = PHI <xSpace_13(4)>
  # DEBUG BEGIN_STMT
  xSpace_14 = xSpace_5 + 4294967295;
  # DEBUG xSpace => xSpace_14
  # DEBUG BEGIN_STMT
  if (_4 <= xSpace_14)
    goto <bb 6>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 6> [local count: 125270]:
  # DEBUG BEGIN_STMT
  xSpace_15 = xSpace_14 - _4;
  # DEBUG xSpace => xSpace_15

  <bb 7> [local count: 250539]:
  # xSpace_6 = PHI <xSpace_14(5), xSpace_15(6)>
  # DEBUG xSpace => xSpace_6
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return xSpace_6;

}


xStreamBufferSetTriggerLevel (struct StreamBufferDef_t * xStreamBuffer, size_t xTriggerLevel)
{
  uint32_t ulNewBASEPRI;
  BaseType_t xReturn;
  unsigned int _1;

  <bb 2> [local count: 357913]:
  # DEBUG BEGIN_STMT
  # DEBUG pxStreamBuffer => xStreamBuffer_4(D)
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xStreamBuffer_4(D) == 0B)
    goto <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_9 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_9

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 8> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 250539]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  xTriggerLevel_8 = MAX_EXPR <1, xTriggerLevel_5(D)>;
  # DEBUG xTriggerLevel => xTriggerLevel_8
  # DEBUG BEGIN_STMT
  _1 = MEM[(struct StreamBuffer_t *)xStreamBuffer_4(D)].xLength;
  if (_1 > xTriggerLevel_8)
    goto <bb 6>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 6> [local count: 125270]:
  # DEBUG BEGIN_STMT
  MEM[(struct StreamBuffer_t *)xStreamBuffer_4(D)].xTriggerLevelBytes = xTriggerLevel_8;
  # DEBUG BEGIN_STMT
  # DEBUG xReturn => 1

  <bb 7> [local count: 250539]:
  # xReturn_2 = PHI <1(6), 0(5)>
  # DEBUG xReturn => xReturn_2
  # DEBUG BEGIN_STMT
  return xReturn_2;

}


xStreamBufferReset (struct StreamBufferDef_t * xStreamBuffer)
{
  uint32_t ulNewBASEPRI;
  UBaseType_t uxStreamBufferNumber;
  BaseType_t xReturn;
  struct tskTaskControlBlock * _1;
  struct tskTaskControlBlock * _2;
  uint8_t * _3;
  unsigned int _4;
  unsigned int _5;
  unsigned char _6;

  <bb 2> [local count: 230763]:
  # DEBUG BEGIN_STMT
  # DEBUG pxStreamBuffer => xStreamBuffer_9(D)
  # DEBUG BEGIN_STMT
  # DEBUG xReturn => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xStreamBuffer_9(D) == 0B)
    goto <bb 3>; [46.53%]
  else
    goto <bb 5>; [53.47%]

  <bb 3> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_16 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_16

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 9> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 123389]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  uxStreamBufferNumber_11 = MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].uxStreamBufferNumber;
  # DEBUG uxStreamBufferNumber => uxStreamBufferNumber_11
  # DEBUG BEGIN_STMT
  vPortEnterCritical ();
  # DEBUG BEGIN_STMT
  _1 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].xTaskWaitingToReceive;
  if (_1 == 0B)
    goto <bb 6>; [30.00%]
  else
    goto <bb 8>; [70.00%]

  <bb 6> [local count: 37017]:
  # DEBUG BEGIN_STMT
  _2 ={v} MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].xTaskWaitingToSend;
  if (_2 == 0B)
    goto <bb 7>; [17.43%]
  else
    goto <bb 8>; [82.57%]

  <bb 7> [local count: 6452]:
  # DEBUG BEGIN_STMT
  _3 = MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].pucBuffer;
  _4 = MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].xLength;
  _5 = MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].xTriggerLevelBytes;
  _6 = MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].ucFlags;
  prvInitialiseNewStreamBuffer (xStreamBuffer_9(D), _3, _4, _5, _6);
  # DEBUG BEGIN_STMT
  # DEBUG xReturn => 1
  # DEBUG BEGIN_STMT
  MEM[(struct StreamBuffer_t *)xStreamBuffer_9(D)].uxStreamBufferNumber = uxStreamBufferNumber_11;

  <bb 8> [local count: 123389]:
  # xReturn_7 = PHI <0(5), 0(6), 1(7)>
  # DEBUG xReturn => xReturn_7
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  vPortExitCritical ();
  # DEBUG BEGIN_STMT
  return xReturn_7;

}


vStreamBufferDelete (struct StreamBufferDef_t * xStreamBuffer)
{
  uint32_t ulNewBASEPRI;
  unsigned char _1;
  unsigned char _4;

  <bb 2> [local count: 357913]:
  # DEBUG BEGIN_STMT
  # DEBUG pxStreamBuffer => xStreamBuffer_3(D)
  # DEBUG BEGIN_STMT
  if (xStreamBuffer_3(D) == 0B)
    goto <bb 3>; [30.00%]
  else
    goto <bb 5>; [70.00%]

  <bb 3> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_8 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_8

  <bb 4> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 9> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 250539]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _1 = MEM[(struct StreamBuffer_t *)xStreamBuffer_3(D)].ucFlags;
  _4 = _1 & 2;
  if (_4 == 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 6> [local count: 125270]:
  # DEBUG BEGIN_STMT
  vPortFree (xStreamBuffer_3(D));
  goto <bb 8>; [100.00%]

  <bb 7> [local count: 125270]:
  # DEBUG BEGIN_STMT
  memset (xStreamBuffer_3(D), 0, 36);

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

}


xStreamBufferGenericCreate (size_t xBufferSizeBytes, size_t xTriggerLevelBytes, BaseType_t xIsMessageBuffer)
{
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  uint32_t ulNewBASEPRI;
  uint8_t ucFlags;
  uint8_t * pucAllocatedMemory;
  unsigned int _1;
  uint8_t * _2;

  <bb 2> [local count: 325376]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xIsMessageBuffer_5(D) == 1)
    goto <bb 3>; [34.00%]
  else
    goto <bb 6>; [66.00%]

  <bb 3> [local count: 110628]:
  # DEBUG BEGIN_STMT
  # DEBUG ucFlags => 1
  # DEBUG BEGIN_STMT
  if (xBufferSizeBytes_6(D) <= 4)
    goto <bb 4>; [50.00%]
  else
    goto <bb 9>; [50.00%]

  <bb 4> [local count: 55314]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_15 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_15

  <bb 5> [local count: 553139728]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 16> [local count: 553139728]:
  goto <bb 5>; [100.00%]

  <bb 6> [local count: 214748]:
  # DEBUG BEGIN_STMT
  # DEBUG ucFlags => 0
  # DEBUG BEGIN_STMT
  if (xBufferSizeBytes_6(D) == 0)
    goto <bb 7>; [50.00%]
  else
    goto <bb 9>; [50.00%]

  <bb 7> [local count: 107374]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_16 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_16

  <bb 8> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

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

  <bb 9> [local count: 162688]:
  # ucFlags_3 = PHI <1(3), 0(6)>
  # DEBUG ucFlags => ucFlags_3
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xBufferSizeBytes_6(D) < xTriggerLevelBytes_8(D))
    goto <bb 10>; [50.00%]
  else
    goto <bb 12>; [50.00%]

  <bb 10> [local count: 81344]:
  # DEBUG BEGIN_STMT
  # DEBUG INLINE_ENTRY vPortRaiseBASEPRI
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("	mov %0, %1												
	msr basepri, %0											
	isb														
	dsb														
" : "=r" ulNewBASEPRI_17 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_17

  <bb 11> [local count: 813440776]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

  <bb 17> [local count: 813440776]:
  goto <bb 11>; [100.00%]

  <bb 12> [local count: 81344]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  xTriggerLevelBytes_9 = MAX_EXPR <1, xTriggerLevelBytes_8(D)>;
  # DEBUG xTriggerLevelBytes => xTriggerLevelBytes_9
  # DEBUG BEGIN_STMT
  if (xBufferSizeBytes_6(D) <= 4294967258)
    goto <bb 13>; [54.67%]
  else
    goto <bb 15>; [45.33%]

  <bb 13> [local count: 44471]:
  # DEBUG BEGIN_STMT
  xBufferSizeBytes_11 = xBufferSizeBytes_6(D) + 1;
  # DEBUG xBufferSizeBytes => xBufferSizeBytes_11
  # DEBUG BEGIN_STMT
  _1 = xBufferSizeBytes_6(D) + 37;
  pucAllocatedMemory_13 = pvPortMalloc (_1);
  # DEBUG pucAllocatedMemory => pucAllocatedMemory_13
  # DEBUG xBufferSizeBytes => xBufferSizeBytes_11
  # DEBUG BEGIN_STMT
  if (pucAllocatedMemory_13 != 0B)
    goto <bb 14>; [53.47%]
  else
    goto <bb 15>; [46.53%]

  <bb 14> [local count: 23779]:
  # DEBUG BEGIN_STMT
  _2 = pucAllocatedMemory_13 + 36;
  prvInitialiseNewStreamBuffer (pucAllocatedMemory_13, _2, xBufferSizeBytes_11, xTriggerLevelBytes_9, ucFlags_3);
  # DEBUG BEGIN_STMT

  <bb 15> [local count: 81344]:
  # pucAllocatedMemory_10 = PHI <pucAllocatedMemory_13(13), pucAllocatedMemory_13(14), 0B(12)>
  # DEBUG pucAllocatedMemory => NULL
  # DEBUG xBufferSizeBytes => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return pucAllocatedMemory_10;

}