Analyzing function: prvInsertTimerInActiveList.part.0/57
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 4 2 3
;; 4 succs { 2 }
;; 2 succs { 3 }
;; 3 succs { 1 }

Analyzing function body size: prvInsertTimerInActiveList.part.0

IPA function summary for prvInsertTimerInActiveList.part.0/57 inlinable
  global time:     15.000000
  self size:       7
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:1.000000, time:1.000000
    size:3.000000, time:2.000000,  executed if:(not inlined)
  calls:
    vListInsert/44 function body not available
      loop depth: 0 freq:1.00 size: 3 time: 12


Analyzing function: vTimerSetTimerNumber/36
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2
;; 2 succs { 1 }

Analyzing function body size: vTimerSetTimerNumber

IPA function summary for vTimerSetTimerNumber/36 inlinable
  global time:     3.000000
  self size:       4
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.500000, time:0.500000
    size:3.500000, time:2.500000,  executed if:(not inlined)
  calls:


Analyzing function: uxTimerGetTimerNumber/35
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2
;; 2 succs { 1 }

Analyzing function body size: uxTimerGetTimerNumber

IPA function summary for uxTimerGetTimerNumber/35 inlinable
  global time:     3.000000
  self size:       4
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:3.000000, time:2.000000,  executed if:(not inlined)
    size:0.500000, time:0.500000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 288] changed) && (not inlined)
    size:0.500000, time:0.500000,  nonconst if:(op0[ref offset: 288] changed)
  calls:


Analyzing function: xTimerPendFunctionCall/34
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 6 5
;;
;; Loop 1
;;  header 4, latch 6
;;  depth 1, outer 0
;;  nodes: 4 6
;; 2 succs { 3 5 }
;; 3 succs { 4 }
;; 4 succs { 6 }
;; 6 succs { 4 }
;; 5 succs { 1 }

Analyzing function body size: xTimerPendFunctionCall

IPA function summary for xTimerPendFunctionCall/34 inlinable
  global time:     16.555202
  self size:       21
  global size:     0
  min size:       0
  self stack:      16
  global stack:    16
    size:12.000000, time:7.465300
    size:3.000000, time:1.069400,  executed if:(not inlined)
  calls:
    xQueueGenericSend/55 function body not available
      loop depth: 0 freq:0.53 size: 6 time: 15
       op1 is compile time invariant
       op3 is compile time invariant


Analyzing function: xTimerPendFunctionCallFromISR/33
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2
;; 2 succs { 1 }

Analyzing function body size: xTimerPendFunctionCallFromISR

IPA function summary for xTimerPendFunctionCallFromISR/33 inlinable
  global time:     22.000000
  self size:       14
  global size:     0
  min size:       0
  self stack:      16
  global stack:    16
    size:5.000000, time:5.000000
    size:3.000000, time:2.000000,  executed if:(not inlined)
  calls:
    xQueueGenericSendFromISR/56 function body not available
      loop depth: 0 freq:1.00 size: 6 time: 15
       op1 is compile time invariant
       op3 is compile time invariant


Analyzing function: vTimerSetTimerID/32
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 6 5
;;
;; Loop 1
;;  header 4, latch 6
;;  depth 1, outer 0
;;  nodes: 4 6
;; 2 succs { 3 5 }
;; 3 succs { 4 }
;; 4 succs { 6 }
;; 6 succs { 4 }
;; 5 succs { 1 }

Analyzing function body size: vTimerSetTimerID

IPA function summary for vTimerSetTimerID/32 inlinable
  global time:     16.624602
  self size:       13
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:2.000000, time:0.000000,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:1.500000, time:1.336750,  executed if:(op0 != 0B) && (not inlined)
    size:0.500000, time:0.267350,  executed if:(op0 != 0B)
    size:5.000000, time:2.326499,  executed if:(op0 == 0B)
  calls:
    vPortExitCritical/51 function body not available
      loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
    vPortEnterCritical/47 function body not available
      loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)


Analyzing function: pvTimerGetTimerID/31
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 6 5
;;
;; Loop 1
;;  header 4, latch 6
;;  depth 1, outer 0
;;  nodes: 4 6
;; 2 succs { 3 5 }
;; 3 succs { 4 }
;; 4 succs { 6 }
;; 6 succs { 4 }
;; 5 succs { 1 }

Analyzing function body size: pvTimerGetTimerID

IPA function summary for pvTimerGetTimerID/31 inlinable
  global time:     16.624602
  self size:       13
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:2.000000, time:0.000000,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:1.500000, time:1.336750,  executed if:(op0 != 0B) && (not inlined)
    size:0.500000, time:0.267350,  executed if:(op0 != 0B)
    size:5.000000, time:2.326499,  executed if:(op0 == 0B)
  calls:
    vPortExitCritical/51 function body not available
      loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
    vPortEnterCritical/47 function body not available
      loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)


Analyzing function: xTimerIsTimerActive/30
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 6 5
;;
;; Loop 1
;;  header 4, latch 6
;;  depth 1, outer 0
;;  nodes: 4 6
;; 2 succs { 3 5 }
;; 3 succs { 4 }
;; 4 succs { 6 }
;; 6 succs { 4 }
;; 5 succs { 1 }

Analyzing function body size: xTimerIsTimerActive

IPA function summary for xTimerIsTimerActive/30 inlinable
  global time:     17.159302
  self size:       14
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:2.000000, time:0.000000,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:1.500000, time:1.336750,  executed if:(op0 != 0B) && (not inlined)
    size:1.500000, time:0.802050,  executed if:(op0 != 0B)
    size:5.000000, time:2.326499,  executed if:(op0 == 0B)
  calls:
    vPortExitCritical/51 function body not available
      loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
    vPortEnterCritical/47 function body not available
      loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)


Analyzing function: prvCheckForValidListAndQueue/29
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 5
;; 2 succs { 3 5 }
;; 3 succs { 4 5 }
;; 4 succs { 5 }
;; 5 succs { 1 }

Analyzing function body size: prvCheckForValidListAndQueue

IPA function summary for prvCheckForValidListAndQueue/29 inlinable
  global time:     33.264679
  self size:       25
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:8.000000, time:3.871500
    size:3.000000, time:2.000000,  executed if:(not inlined)
  calls:
    vPortExitCritical/51 function body not available
      loop depth: 0 freq:1.00 size: 1 time: 10
    vQueueAddToRegistry/50 function body not available
      loop depth: 0 freq:0.09 size: 3 time: 12
       op1 is compile time invariant
    xQueueGenericCreate/49 function body not available
      loop depth: 0 freq:0.17 size: 5 time: 14
       op0 is compile time invariant
       op1 is compile time invariant
       op2 is compile time invariant
    vListInitialise/48 function body not available
      loop depth: 0 freq:0.17 size: 2 time: 11
       op0 is compile time invariant
    vListInitialise/48 function body not available
      loop depth: 0 freq:0.17 size: 2 time: 11
       op0 is compile time invariant
    vPortEnterCritical/47 function body not available
      loop depth: 0 freq:1.00 size: 1 time: 10


Analyzing function: prvSwitchTimerLists/28
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 5
;;
;; Loop 1
;;  header 4, latch 3
;;  depth 1, outer 0
;;  nodes: 4 3
;; 2 succs { 4 }
;; 3 succs { 4 }
;; 4 succs { 3 5 }
;; 5 succs { 1 }

Analyzing function body size: prvSwitchTimerLists

IPA function summary for prvSwitchTimerLists/28 inlinable
  global time:     154.636365
  self size:       15
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:9.000000, time:55.545455
    size:3.000000, time:2.000000,  executed if:(not inlined)
  calls:
    prvProcessExpiredTimer/21 function not considered for inlining
      loop depth: 1 freq:8.09 size: 3 time: 12
       op1 is compile time invariant


Analyzing function: prvProcessReceivedCommands/27
;; 6 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 5 29 6 7 8 28 9 10 11 12 13 14 15 16 17 27 18 19 20 21 22 23 24 25 26
;;
;; Loop 2
;;  header 17, latch 27
;;  depth 1, outer 0
;;  nodes: 17 27
;;
;; Loop 1
;;  header 23, latch 22
;;  depth 1, outer 0
;;  nodes: 23 22 20 13 9 21 18 14 8 6 7 5 3 4 25 24 29 28 15 19 11 12 10
;;
;; Loop 5
;;  header 24, latch 28
;;  depth 2, outer 1
;;  nodes: 24 28 8 6 7 5 3 4 25 29
;;
;; Loop 4
;;  header 25, latch 29
;;  depth 3, outer 5
;;  nodes: 25 29 5 3 4
;; 2 succs { 23 }
;; 3 succs { 4 5 }
;; 4 succs { 5 }
;; 5 succs { 6 29 }
;; 29 succs { 25 }
;; 6 succs { 7 8 }
;; 7 succs { 8 }
;; 8 succs { 28 9 14 15 19 }
;; 28 succs { 24 }
;; 9 succs { 10 22 }
;; 10 succs { 11 12 }
;; 11 succs { 13 }
;; 12 succs { 13 }
;; 13 succs { 22 }
;; 14 succs { 22 }
;; 15 succs { 16 18 }
;; 16 succs { 17 }
;; 17 succs { 27 }
;; 27 succs { 17 }
;; 18 succs { 22 }
;; 19 succs { 20 21 }
;; 20 succs { 22 }
;; 21 succs { 22 }
;; 22 succs { 23 }
;; 23 succs { 24 }
;; 24 succs { 25 }
;; 25 succs { 3 26 }
;; 26 succs { 1 }

Analyzing function body size: prvProcessReceivedCommands

IPA function summary for prvProcessReceivedCommands/27 inlinable
  global time:     589.511443
  self size:       112
  global size:     0
  min size:       0
  self stack:      20
  global stack:    20
    size:73.000000, time:192.498507
    size:3.000000, time:1.979424,  executed if:(not inlined)
  calls:
    xQueueReceive/46 function body not available
      loop depth: 3 freq:17.99 size: 5 time: 14
       op1 is compile time invariant
       op2 is compile time invariant
    vPortFree/45 function body not available
      loop depth: 1 freq:0.06 size: 2 time: 11
    prvInsertTimerInActiveList/26 function not considered for inlining
      loop depth: 1 freq:0.18 size: 5 time: 14
    prvReloadTimer/20 function not considered for inlining
      loop depth: 1 freq:0.03 size: 4 time: 13
    prvInsertTimerInActiveList/26 function not considered for inlining
      loop depth: 1 freq:0.19 size: 6 time: 15
    prvSampleTimeNow/25 function not considered for inlining
      loop depth: 2 freq:0.94 size: 3 time: 12
       op0 is compile time invariant
    uxListRemove/43 function body not available
      loop depth: 2 freq:0.50 size: 2 time: 11
    indirect call loop depth: 1 freq:0.09 size: 4 time: 16
    indirect call loop depth: 3 freq:6.97 size: 5 time: 17


Analyzing function: prvInsertTimerInActiveList/26
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 5 6 7 8
;; 2 succs { 3 5 }
;; 3 succs { 8 4 }
;; 4 succs { 8 }
;; 5 succs { 6 7 }
;; 6 succs { 8 7 }
;; 7 succs { 8 }
;; 8 succs { 1 }

Analyzing function body size: prvInsertTimerInActiveList

IPA function summary for prvInsertTimerInActiveList/26 inlinable
  global time:     15.972500
  self size:       22
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:2.000000, time:1.332500
    size:4.000000, time:3.000000,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op1 changed || op2 changed)
    size:3.000000, time:1.500000,  nonconst if:(op2 changed || op3 changed)
    size:2.000000, time:0.670000,  nonconst if:(op1 changed || op3 changed)
    size:0.500000, time:0.250000,  executed if:(not inlined),  nonconst if:(op0[ref offset: 192] changed) && (not inlined)
    size:0.500000, time:0.250000,  nonconst if:(op0[ref offset: 192] changed)
    size:2.000000, time:1.000000,  nonconst if:(op2 changed || op3 changed || op0[ref offset: 192] changed)
  calls:
    vListInsert/44 function body not available
      loop depth: 0 freq:0.33 size: 3 time: 12
    prvInsertTimerInActiveList.part.0/57 function not considered for inlining
      loop depth: 0 freq:0.16 size: 3 time: 12callee size: 3 stack: 0


Analyzing function: prvSampleTimeNow/25
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 5
;; 2 succs { 3 4 }
;; 3 succs { 5 }
;; 4 succs { 5 }
;; 5 succs { 1 }

Analyzing function body size: prvSampleTimeNow

IPA function summary for prvSampleTimeNow/25 inlinable
  global time:     21.300000
  self size:       12
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:5.000000, time:4.500000
    size:4.000000, time:2.500000,  executed if:(not inlined)
  calls:
    prvSwitchTimerLists/28 function not considered for inlining
      loop depth: 0 freq:0.33 size: 1 time: 10callee size: 7 stack: 0
    xTaskGetTickCount/41 function body not available
      loop depth: 0 freq:1.00 size: 2 time: 11


Analyzing function: prvGetNextExpireTime/24
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 5 6
;; 2 succs { 4 3 }
;; 3 succs { 4 }
;; 4 succs { 5 6 }
;; 5 succs { 6 }
;; 6 succs { 1 }

Analyzing function body size: prvGetNextExpireTime

IPA function summary for prvGetNextExpireTime/24 inlinable
  global time:     10.000000
  self size:       12
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:8.500000, time:7.500000
    size:3.500000, time:2.500000,  executed if:(not inlined)
  calls:


Analyzing function: prvProcessTimerOrBlockTask/23
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 5 6 7 8 10 11 12 13
;; 2 succs { 3 12 }
;; 3 succs { 4 6 }
;; 4 succs { 5 6 }
;; 5 succs { 13 }
;; 6 succs { 7 10 }
;; 7 succs { 10 8 }
;; 8 succs { 10 }
;; 10 succs { 11 13 }
;; 11 succs { 13 }
;; 12 succs { 13 }
;; 13 succs { 1 }

Analyzing function body size: prvProcessTimerOrBlockTask

IPA function summary for prvProcessTimerOrBlockTask/23 inlinable
  global time:     53.483675
  self size:       38
  global size:     0
  min size:       0
  self stack:      4
  global stack:    4
    size:10.000000, time:6.076975
    size:3.000000, time:2.000000,  executed if:(not inlined)
    size:4.000000, time:2.458900,  nonconst if:(op1 changed)
    size:2.000000, time:0.670000,  executed if:(op1 == 0)
    size:4.000000, time:1.118900,  executed if:(op1 != 0)
  calls:
    xTaskResumeAll/39 function body not available
      loop depth: 0 freq:0.33 size: 1 time: 10
    xTaskResumeAll/39 function body not available
      loop depth: 0 freq:0.56 size: 2 time: 11
    vQueueWaitForMessageRestricted/40 function body not available
      loop depth: 0 freq:0.56 size: 4 time: 13
    prvProcessExpiredTimer/21 function not considered for inlining
      loop depth: 0 freq:0.11 size: 3 time: 12 predicate: (op1 == 0)
    xTaskResumeAll/39 function body not available
      loop depth: 0 freq:0.11 size: 1 time: 10 predicate: (op1 == 0)
    prvSampleTimeNow/25 function not considered for inlining
      loop depth: 0 freq:1.00 size: 3 time: 12callee size: 6 stack: 0
       op0 is compile time invariant
    vTaskSuspendAll/38 function body not available
      loop depth: 0 freq:1.00 size: 1 time: 10


Analyzing function: prvTimerTask/22
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4
;;
;; Loop 1
;;  header 3, latch 4
;;  depth 1, outer 0
;;  nodes: 3 4
;; 2 succs { 3 }
;; 3 succs { 4 }
;; 4 succs { 3 }

Analyzing function body size: prvTimerTask

IPA function summary for prvTimerTask/22 inlinable
  global time:     350000.594727
  self size:       10
  global size:     0
  min size:       0
  self stack:      4
  global stack:    4
    size:1.000000, time:10000.016983
    size:2.000000, time:0.000000,  executed if:(not inlined)
  calls:
    prvProcessReceivedCommands/27 function not considered for inlining
      loop depth: 1 freq:10000.02 size: 1 time: 10callee size:56 stack:20
    prvProcessTimerOrBlockTask/23 function not considered for inlining
      loop depth: 1 freq:10000.02 size: 3 time: 12callee size:19 stack: 4
    prvGetNextExpireTime/24 function not considered for inlining
      loop depth: 1 freq:10000.02 size: 3 time: 12callee size: 6 stack: 0
       op0 is compile time invariant


Analyzing function: prvProcessExpiredTimer/21
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 5
;; 2 succs { 3 4 }
;; 3 succs { 5 }
;; 4 succs { 5 }
;; 5 succs { 1 }

Analyzing function body size: prvProcessExpiredTimer

IPA function summary for prvProcessExpiredTimer/21 inlinable
  global time:     42.630000
  self size:       23
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:10.000000, time:9.340000
    size:3.000000, time:2.000000,  executed if:(not inlined)
  calls:
    prvReloadTimer/20 function not considered for inlining
      loop depth: 0 freq:0.33 size: 4 time: 13
    uxListRemove/43 function body not available
      loop depth: 0 freq:1.00 size: 2 time: 11
    indirect call loop depth: 0 freq:1.00 size: 4 time: 16


Analyzing function: prvReloadTimer/20
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 5
;;
;; Loop 1
;;  header 4, latch 3
;;  depth 1, outer 0
;;  nodes: 4 3
;; 2 succs { 4 }
;; 3 succs { 4 }
;; 4 succs { 3 5 }
;; 5 succs { 1 }

Analyzing function body size: prvReloadTimer

IPA function summary for prvReloadTimer/20 inlinable
  global time:     328.454547
  self size:       20
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:5.500000, time:48.000000
    size:4.500000, time:14.636364,  executed if:(not inlined)
  calls:
    prvInsertTimerInActiveList/26 function not considered for inlining
      loop depth: 1 freq:9.09 size: 6 time: 15callee size:11 stack: 0
       op0 change 10.990000% of time
       op2 change 10.990000% of time
    indirect call loop depth: 1 freq:8.09 size: 4 time: 16


Analyzing function: pcTimerGetName/19
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 6 5
;;
;; Loop 1
;;  header 4, latch 6
;;  depth 1, outer 0
;;  nodes: 4 6
;; 2 succs { 3 5 }
;; 3 succs { 4 }
;; 4 succs { 6 }
;; 6 succs { 4 }
;; 5 succs { 1 }

Analyzing function body size: pcTimerGetName

IPA function summary for pcTimerGetName/19 inlinable
  global time:     5.600001
  self size:       11
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:2.000000, time:0.000000,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:0.500000, time:0.350000,  executed if:(op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B) && (not inlined)
    size:0.500000, time:0.350000,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 0] changed) && (op0 != 0B)
    size:1.000000, time:1.399999,  executed if:(op0 != 0B) && (not inlined)
    size:5.000000, time:1.500001,  executed if:(op0 == 0B)
  calls:


Analyzing function: xTimerGetExpiryTime/18
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 6 5
;;
;; Loop 1
;;  header 4, latch 6
;;  depth 1, outer 0
;;  nodes: 4 6
;; 2 succs { 3 5 }
;; 3 succs { 4 }
;; 4 succs { 6 }
;; 6 succs { 4 }
;; 5 succs { 1 }

Analyzing function body size: xTimerGetExpiryTime

IPA function summary for xTimerGetExpiryTime/18 inlinable
  global time:     5.600001
  self size:       11
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:2.000000, time:0.000000,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:0.500000, time:0.350000,  executed if:(op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 32] changed) && (op0 != 0B) && (not inlined)
    size:0.500000, time:0.350000,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 32] changed) && (op0 != 0B)
    size:1.000000, time:1.399999,  executed if:(op0 != 0B) && (not inlined)
    size:5.000000, time:1.500001,  executed if:(op0 == 0B)
  calls:


Analyzing function: uxTimerGetReloadMode/17
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 8 5 6 7
;;
;; Loop 1
;;  header 4, latch 8
;;  depth 1, outer 0
;;  nodes: 4 8
;; 2 succs { 3 5 }
;; 3 succs { 4 }
;; 4 succs { 8 }
;; 8 succs { 4 }
;; 5 succs { 7 6 }
;; 6 succs { 7 }
;; 7 succs { 1 }

Analyzing function body size: uxTimerGetReloadMode

IPA function summary for uxTimerGetReloadMode/17 inlinable
  global time:     18.228702
  self size:       16
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:2.000000, time:0.000000,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:1.500000, time:1.336750,  executed if:(op0 != 0B) && (not inlined)
    size:3.500000, time:1.871450,  executed if:(op0 != 0B)
    size:5.000000, time:2.326499,  executed if:(op0 == 0B)
  calls:
    vPortExitCritical/51 function body not available
      loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
    vPortEnterCritical/47 function body not available
      loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)


Analyzing function: vTimerSetReloadMode/16
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 9 5 6 7 8
;;
;; Loop 1
;;  header 4, latch 9
;;  depth 1, outer 0
;;  nodes: 4 9
;; 2 succs { 3 5 }
;; 3 succs { 4 }
;; 4 succs { 9 }
;; 9 succs { 4 }
;; 5 succs { 6 7 }
;; 6 succs { 8 }
;; 7 succs { 8 }
;; 8 succs { 1 }

Analyzing function body size: vTimerSetReloadMode

IPA function summary for vTimerSetReloadMode/16 inlinable
  global time:     18.763389
  self size:       20
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:2.000000, time:0.000000,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:2.000000, time:1.069400,  executed if:(op0 != 0B),  nonconst if:(op1 changed) && (op0 != 0B)
    size:1.000000, time:0.267348,  executed if:(op1 == 0) && (op0 != 0B) && (not inlined)
    size:2.000000, time:0.534696,  executed if:(op1 == 0) && (op0 != 0B)
    size:1.000000, time:0.267348,  executed if:(op1 != 0) && (op0 != 0B) && (not inlined)
    size:2.000000, time:0.534696,  executed if:(op1 != 0) && (op0 != 0B)
    size:1.000000, time:1.069400,  executed if:(op0 != 0B) && (not inlined)
    size:5.000000, time:2.326499,  executed if:(op0 == 0B)
  calls:
    vPortExitCritical/51 function body not available
      loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)
    vPortEnterCritical/47 function body not available
      loop depth: 0 freq:0.53 size: 1 time: 10 predicate: (op0 != 0B)


Analyzing function: xTimerGetPeriod/15
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 6 5
;;
;; Loop 1
;;  header 4, latch 6
;;  depth 1, outer 0
;;  nodes: 4 6
;; 2 succs { 3 5 }
;; 3 succs { 4 }
;; 4 succs { 6 }
;; 6 succs { 4 }
;; 5 succs { 1 }

Analyzing function body size: xTimerGetPeriod

IPA function summary for xTimerGetPeriod/15 inlinable
  global time:     5.600001
  self size:       11
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:2.000000, time:0.000000,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:0.500000, time:0.350000,  executed if:(op0 != 0B) && (not inlined),  nonconst if:(op0[ref offset: 192] changed) && (op0 != 0B) && (not inlined)
    size:0.500000, time:0.350000,  executed if:(op0 != 0B),  nonconst if:(op0[ref offset: 192] changed) && (op0 != 0B)
    size:1.000000, time:1.399999,  executed if:(op0 != 0B) && (not inlined)
    size:5.000000, time:1.500001,  executed if:(op0 == 0B)
  calls:


Analyzing function: xTimerGetTimerDaemonTaskHandle/14
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 6 5
;;
;; Loop 1
;;  header 4, latch 6
;;  depth 1, outer 0
;;  nodes: 4 6
;; 2 succs { 3 5 }
;; 3 succs { 4 }
;; 4 succs { 6 }
;; 6 succs { 4 }
;; 5 succs { 1 }

Analyzing function body size: xTimerGetTimerDaemonTaskHandle

IPA function summary for xTimerGetTimerDaemonTaskHandle/14 inlinable
  global time:     5.900001
  self size:       11
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:8.000000, time:4.500001
    size:3.000000, time:1.399999,  executed if:(not inlined)
  calls:


Analyzing function: xTimerGenericCommand/13
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 12 5 6 7 8 9 10 11
;;
;; Loop 1
;;  header 4, latch 12
;;  depth 1, outer 0
;;  nodes: 4 12
;; 2 succs { 3 5 }
;; 3 succs { 4 }
;; 4 succs { 12 }
;; 12 succs { 4 }
;; 5 succs { 6 11 }
;; 6 succs { 7 10 }
;; 7 succs { 8 9 }
;; 8 succs { 11 }
;; 9 succs { 11 }
;; 10 succs { 11 }
;; 11 succs { 1 }

Analyzing function body size: xTimerGenericCommand

IPA function summary for xTimerGenericCommand/13 inlinable
  global time:     20.230048
  self size:       42
  global size:     0
  min size:       0
  self stack:      16
  global stack:    16
    size:0.000000, time:0.000000
    size:2.000000, time:0.000000,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op0 changed)
    size:6.000000, time:3.570004,  executed if:(op0 != 0B)
    size:2.000000, time:0.980004,  executed if:(op0 != 0B),  nonconst if:(op1 changed) && (op0 != 0B)
    size:4.000000, time:0.735003,  executed if:(op1 <= 5) && (op0 != 0B)
    size:1.000000, time:1.399999,  executed if:(op0 != 0B) && (not inlined)
    size:5.000000, time:1.500001,  executed if:(op0 == 0B)
  calls:
    xQueueGenericSendFromISR/56 function body not available
      loop depth: 0 freq:0.25 size: 6 time: 15 predicate: (op1 > 5) && (op0 != 0B)
       op1 is compile time invariant
       op3 is compile time invariant
    xQueueGenericSend/55 function body not available
      loop depth: 0 freq:0.16 size: 6 time: 15 predicate: (op1 <= 5) && (op0 != 0B)
       op1 is compile time invariant
       op2 is compile time invariant
       op3 is compile time invariant
    xQueueGenericSend/55 function body not available
      loop depth: 0 freq:0.08 size: 6 time: 15 predicate: (op1 <= 5) && (op0 != 0B)
       op1 is compile time invariant
       op3 is compile time invariant
    xTaskGetSchedulerState/54 function body not available
      loop depth: 0 freq:0.25 size: 2 time: 11 predicate: (op1 <= 5) && (op0 != 0B)


Analyzing function: prvInitialiseNewTimer/12
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4 8 5 6 7
;;
;; Loop 1
;;  header 4, latch 8
;;  depth 1, outer 0
;;  nodes: 4 8
;; 2 succs { 3 5 }
;; 3 succs { 4 }
;; 4 succs { 8 }
;; 8 succs { 4 }
;; 5 succs { 6 7 }
;; 6 succs { 7 }
;; 7 succs { 1 }

Analyzing function body size: prvInitialiseNewTimer

IPA function summary for prvInitialiseNewTimer/12 inlinable
  global time:     15.415032
  self size:       22
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:0.000000, time:0.000000
    size:2.000000, time:0.000000,  executed if:(not inlined)
    size:2.000000, time:2.000000,  nonconst if:(op1 changed)
    size:3.000000, time:1.320005,  executed if:(op1 != 0) && (not inlined)
    size:2.000000, time:0.660002,  executed if:(op1 != 0)
    size:2.000000, time:0.660002,  executed if:(op1 != 0),  nonconst if:(op2 changed) && (op1 != 0)
    size:1.000000, time:0.165001,  executed if:(op2 != 0) && (op1 != 0) && (not inlined)
    size:2.000000, time:0.330001,  executed if:(op2 != 0) && (op1 != 0)
    size:5.000000, time:3.349994,  executed if:(op1 == 0)
  calls:
    vListInitialiseItem/53 function body not available
      loop depth: 0 freq:0.33 size: 2 time: 11 predicate: (op1 != 0)
    prvCheckForValidListAndQueue/29 function not considered for inlining
      loop depth: 0 freq:0.33 size: 1 time: 10callee size:12 stack: 0 predicate: (op1 != 0)


Analyzing function: xTimerCreate/11
;; 1 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 3 4
;; 2 succs { 3 4 }
;; 3 succs { 4 }
;; 4 succs { 1 }

Analyzing function body size: xTimerCreate

IPA function summary for xTimerCreate/11 inlinable
  global time:     25.089900
  self size:       16
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:3.000000, time:2.534700
    size:3.000000, time:2.000000,  executed if:(not inlined)
  calls:
    prvInitialiseNewTimer/12 function not considered for inlining
      loop depth: 0 freq:0.53 size: 7 time: 16callee size:11 stack: 0
    pvPortMalloc/52 function body not available
      loop depth: 0 freq:1.00 size: 3 time: 12
       op0 is compile time invariant


Analyzing function: xTimerCreateTimerTask/10
;; 2 loops found
;;
;; Loop 0
;;  header 0, latch 1
;;  depth 0, outer -1
;;  nodes: 0 1 2 4 5 6 8 7
;;
;; Loop 1
;;  header 6, latch 8
;;  depth 1, outer 0
;;  nodes: 6 8
;; 2 succs { 4 5 }
;; 4 succs { 5 7 }
;; 5 succs { 6 }
;; 6 succs { 8 }
;; 8 succs { 6 }
;; 7 succs { 1 }

Analyzing function body size: xTimerCreateTimerTask

IPA function summary for xTimerCreateTimerTask/10 inlinable
  global time:     27.357181
  self size:       22
  global size:     0
  min size:       0
  self stack:      0
  global stack:    0
    size:10.000000, time:7.732635
    size:3.000000, time:0.534703,  executed if:(not inlined)
  calls:
    xTaskCreate/37 function body not available
      loop depth: 0 freq:0.53 size: 8 time: 17
       op0 is compile time invariant
       op1 is compile time invariant
       op2 is compile time invariant
       op3 is compile time invariant
       op4 is compile time invariant
       op5 is compile time invariant
    prvCheckForValidListAndQueue/29 function not considered for inlining
      loop depth: 0 freq:1.00 size: 1 time: 10callee size:12 stack: 0

Symbol table:

prvInitialiseNewTimer.constprop.0/72 (prvInitialiseNewTimer.constprop) @05e55d20
  Type: function definition analyzed
  Visibility:
  References: 
  Referring: 
  Clone of prvInitialiseNewTimer/12
  Availability: local
  Function flags: count:160260 (estimated locally) local optimize_size
  Called by: xTimerCreate/11 (574129754 (estimated locally),0.53 per call) 
  Calls: prvCheckForValidListAndQueue/29 (52886 (estimated locally),0.33 per call) vListInitialiseItem/53 (52886 (estimated locally),0.33 per call) 
prvInsertTimerInActiveList.part.0/57 (prvInsertTimerInActiveList.part.0) @05e55a80
  Type: function definition analyzed
  Visibility: prevailing_def_ironly artificial
  References: pxOverflowTimerList/7 (read)
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) first_run:1 body local split_part optimize_size
  Called by: prvInsertTimerInActiveList/26 (177167400 (estimated locally),0.16 per call) 
  Calls: vListInsert/44 (1073741824 (estimated locally),1.00 per call) 
xQueueGenericSendFromISR/56 (xQueueGenericSendFromISR) @05f5cc40
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: xTimerPendFunctionCallFromISR/33 (1073741824 (estimated locally),1.00 per call) xTimerGenericCommand/13 (87689 (estimated locally),0.25 per call) 
  Calls: 
xQueueGenericSend/55 (xQueueGenericSend) @05f5cb60
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: xTimerPendFunctionCall/34 (123389 (estimated locally),0.53 per call) xTimerGenericCommand/13 (57875 (estimated locally),0.16 per call) xTimerGenericCommand/13 (29814 (estimated locally),0.08 per call) 
  Calls: 
xTaskGetSchedulerState/54 (xTaskGetSchedulerState) @05f5ca80
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: xTimerGenericCommand/13 (87689 (estimated locally),0.25 per call) 
  Calls: 
vListInitialiseItem/53 (vListInitialiseItem) @05f5c8c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: prvInitialiseNewTimer.constprop/72 (52886 (estimated locally),0.33 per call) 
  Calls: 
pvPortMalloc/52 (pvPortMalloc) @05f5c700
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: xTimerCreate/11 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
vPortExitCritical/51 (vPortExitCritical) @05f5c460
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: vTimerSetTimerID/32 (123389 (estimated locally),0.53 per call) pvTimerGetTimerID/31 (123389 (estimated locally),0.53 per call) xTimerIsTimerActive/30 (123389 (estimated locally),0.53 per call) uxTimerGetReloadMode/17 (123389 (estimated locally),0.53 per call) vTimerSetReloadMode/16 (123389 (estimated locally),0.53 per call) prvCheckForValidListAndQueue/29 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
vQueueAddToRegistry/50 (vQueueAddToRegistry) @05f5c380
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: prvCheckForValidListAndQueue/29 (100070816 (estimated locally),0.09 per call) 
  Calls: 
xQueueGenericCreate/49 (xQueueGenericCreate) @05f5c2a0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: prvCheckForValidListAndQueue/29 (187153200 (estimated locally),0.17 per call) 
  Calls: 
vListInitialise/48 (vListInitialise) @05f5c0e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: prvCheckForValidListAndQueue/29 (187153200 (estimated locally),0.17 per call) prvCheckForValidListAndQueue/29 (187153200 (estimated locally),0.17 per call) 
  Calls: 
vPortEnterCritical/47 (vPortEnterCritical) @05f5c000
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: vTimerSetTimerID/32 (123389 (estimated locally),0.53 per call) pvTimerGetTimerID/31 (123389 (estimated locally),0.53 per call) xTimerIsTimerActive/30 (123389 (estimated locally),0.53 per call) uxTimerGetReloadMode/17 (123389 (estimated locally),0.53 per call) vTimerSetReloadMode/16 (123389 (estimated locally),0.53 per call) prvCheckForValidListAndQueue/29 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
xQueueReceive/46 (xQueueReceive) @05f36e00
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: prvProcessReceivedCommands/27 (187807075 (estimated locally),17.99 per call) 
  Calls: 
vPortFree/45 (vPortFree) @05f36d20
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: prvProcessReceivedCommands/27 (644244 (estimated locally),0.06 per call) 
  Calls: 
vListInsert/44 (vListInsert) @05f369a0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: prvInsertTimerInActiveList/26 (357019157 (estimated locally),0.33 per call) prvInsertTimerInActiveList.part.0/57 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
uxListRemove/43 (uxListRemove) @05f36700
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: prvProcessReceivedCommands/27 (5219353 (estimated locally),0.50 per call) prvProcessExpiredTimer/21 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
xLastTime.6551/42 (xLastTime) @05f4c120
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: prvSampleTimeNow/25 (read)prvSampleTimeNow/25 (write)
  Availability: available
  Varpool flags: initialized
xTaskGetTickCount/41 (xTaskGetTickCount) @05f36380
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: prvSampleTimeNow/25 (1073741824 (estimated locally),1.00 per call) 
  Calls: 
vQueueWaitForMessageRestricted/40 (vQueueWaitForMessageRestricted) @05f361c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: prvProcessTimerOrBlockTask/23 (600704864 (estimated locally),0.56 per call) 
  Calls: 
xTaskResumeAll/39 (xTaskResumeAll) @05f360e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: prvProcessTimerOrBlockTask/23 (354334802 (estimated locally),0.33 per call) prvProcessTimerOrBlockTask/23 (600704864 (estimated locally),0.56 per call) prvProcessTimerOrBlockTask/23 (118702158 (estimated locally),0.11 per call) 
  Calls: 
vTaskSuspendAll/38 (vTaskSuspendAll) @05f36000
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: prvProcessTimerOrBlockTask/23 (1073741823 (estimated locally),1.00 per call) 
  Calls: 
xTaskCreate/37 (xTaskCreate) @05f2aee0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags: optimize_size
  Called by: xTimerCreateTimerTask/10 (78363 (estimated locally),0.53 per call) 
  Calls: 
vTimerSetTimerNumber/36 (vTimerSetTimerNumber) @05f2aa80
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
uxTimerGetTimerNumber/35 (uxTimerGetTimerNumber) @05f2a7e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: 
xTimerPendFunctionCall/34 (xTimerPendFunctionCall) @05f2a540
  Type: function definition analyzed
  Visibility: externally_visible public
  References: xTimerQueue/8 (read)
  Referring: 
  Availability: available
  Function flags: count:230763 (estimated locally) body optimize_size
  Called by: 
  Calls: xQueueGenericSend/55 (123389 (estimated locally),0.53 per call) 
xTimerPendFunctionCallFromISR/33 (xTimerPendFunctionCallFromISR) @05f2a0e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: xTimerQueue/8 (read)
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: xQueueGenericSendFromISR/56 (1073741824 (estimated locally),1.00 per call) 
vTimerSetTimerID/32 (vTimerSetTimerID) @05f268c0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:230763 (estimated locally) body optimize_size
  Called by: 
  Calls: vPortExitCritical/51 (123389 (estimated locally),0.53 per call) vPortEnterCritical/47 (123389 (estimated locally),0.53 per call) 
pvTimerGetTimerID/31 (pvTimerGetTimerID) @05f26ee0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:230763 (estimated locally) body optimize_size
  Called by: 
  Calls: vPortExitCritical/51 (123389 (estimated locally),0.53 per call) vPortEnterCritical/47 (123389 (estimated locally),0.53 per call) 
xTimerIsTimerActive/30 (xTimerIsTimerActive) @05f26b60
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:230763 (estimated locally) body optimize_size
  Called by: 
  Calls: vPortExitCritical/51 (123389 (estimated locally),0.53 per call) vPortEnterCritical/47 (123389 (estimated locally),0.53 per call) 
prvCheckForValidListAndQueue/29 (prvCheckForValidListAndQueue) @05f267e0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: xTimerQueue/8 (read)xActiveTimerList1/4 (addr)xActiveTimerList2/5 (addr)pxCurrentTimerList/6 (write)xActiveTimerList1/4 (addr)pxOverflowTimerList/7 (write)xActiveTimerList2/5 (addr)xTimerQueue/8 (write)
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local optimize_size
  Called by: prvInitialiseNewTimer.constprop/72 (52886 (estimated locally),0.33 per call) xTimerCreateTimerTask/10 (146556 (estimated locally),1.00 per call) 
  Calls: vPortExitCritical/51 (1073741824 (estimated locally),1.00 per call) vQueueAddToRegistry/50 (100070816 (estimated locally),0.09 per call) xQueueGenericCreate/49 (187153200 (estimated locally),0.17 per call) vListInitialise/48 (187153200 (estimated locally),0.17 per call) vListInitialise/48 (187153200 (estimated locally),0.17 per call) vPortEnterCritical/47 (1073741824 (estimated locally),1.00 per call) 
prvSwitchTimerLists/28 (prvSwitchTimerLists) @05f26460
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: pxCurrentTimerList/6 (read)pxOverflowTimerList/7 (read)pxCurrentTimerList/6 (write)pxOverflowTimerList/7 (write)
  Referring: 
  Availability: local
  Function flags: count:118111600 (estimated locally) body local optimize_size
  Called by: prvSampleTimeNow/25 (354334802 (estimated locally),0.33 per call) 
  Calls: prvProcessExpiredTimer/21 (955630223 (estimated locally),8.09 per call) 
prvProcessReceivedCommands/27 (prvProcessReceivedCommands) @05f260e0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: xTimerQueue/8 (read)
  Referring: 
  Availability: local
  Function flags: count:10436763 (estimated locally) body local optimize_size
  Called by: prvTimerTask/22 (1073741824 (estimated locally),10000.02 per call) 
  Calls: xQueueReceive/46 (187807075 (estimated locally),17.99 per call) vPortFree/45 (644244 (estimated locally),0.06 per call) prvInsertTimerInActiveList/26 (1844881 (estimated locally),0.18 per call) prvReloadTimer/20 (322122 (estimated locally),0.03 per call) prvInsertTimerInActiveList/26 (1952255 (estimated locally),0.19 per call) prvSampleTimeNow/25 (9761273 (estimated locally),0.94 per call) uxListRemove/43 (5219353 (estimated locally),0.50 per call) 
   Indirect call(976127 (estimated locally),0.09 per call) 
   Indirect call(72765851 (estimated locally),6.97 per call) 
prvInsertTimerInActiveList/26 (prvInsertTimerInActiveList) @05f1a7e0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: pxCurrentTimerList/6 (read)
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local optimize_size
  Called by: prvProcessReceivedCommands/27 (1844881 (estimated locally),0.18 per call) prvProcessReceivedCommands/27 (1952255 (estimated locally),0.19 per call) prvReloadTimer/20 (1073741824 (estimated locally),9.09 per call) 
  Calls: vListInsert/44 (357019157 (estimated locally),0.33 per call) prvInsertTimerInActiveList.part.0/57 (177167400 (estimated locally),0.16 per call) 
prvSampleTimeNow/25 (prvSampleTimeNow) @05f1ad20
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: xLastTime.6551/42 (read)xLastTime.6551/42 (write)
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local optimize_size
  Called by: prvProcessReceivedCommands/27 (9761273 (estimated locally),0.94 per call) prvProcessTimerOrBlockTask/23 (1073741823 (estimated locally),1.00 per call) 
  Calls: prvSwitchTimerLists/28 (354334802 (estimated locally),0.33 per call) xTaskGetTickCount/41 (1073741824 (estimated locally),1.00 per call) 
prvGetNextExpireTime/24 (prvGetNextExpireTime) @05f1aa80
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: pxCurrentTimerList/6 (read)
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local optimize_size
  Called by: prvTimerTask/22 (1073741824 (estimated locally),10000.02 per call) 
  Calls: 
prvProcessTimerOrBlockTask/23 (prvProcessTimerOrBlockTask) @05f1a700
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: pxOverflowTimerList/7 (read)xTimerQueue/8 (read)
  Referring: 
  Availability: local
  Function flags: count:1073741823 (estimated locally) body local optimize_size
  Called by: prvTimerTask/22 (1073741824 (estimated locally),10000.02 per call) 
  Calls: xTaskResumeAll/39 (354334802 (estimated locally),0.33 per call) xTaskResumeAll/39 (600704864 (estimated locally),0.56 per call) vQueueWaitForMessageRestricted/40 (600704864 (estimated locally),0.56 per call) prvProcessExpiredTimer/21 (118702158 (estimated locally),0.11 per call) xTaskResumeAll/39 (118702158 (estimated locally),0.11 per call) prvSampleTimeNow/25 (1073741823 (estimated locally),1.00 per call) vTaskSuspendAll/38 (1073741823 (estimated locally),1.00 per call) 
prvTimerTask/22 (prvTimerTask) @05f1a2a0
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  Address is taken.
  References: 
  Referring: xTimerCreateTimerTask/10 (addr)
  Availability: available
  Function flags: count:107374 (estimated locally) body executed_once optimize_size
  Called by: 
  Calls: prvProcessReceivedCommands/27 (1073741824 (estimated locally),10000.02 per call) prvProcessTimerOrBlockTask/23 (1073741824 (estimated locally),10000.02 per call) prvGetNextExpireTime/24 (1073741824 (estimated locally),10000.02 per call) 
prvProcessExpiredTimer/21 (prvProcessExpiredTimer) @05f1a000
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: pxCurrentTimerList/6 (read)
  Referring: 
  Availability: local
  Function flags: count:1073741824 (estimated locally) body local optimize_size
  Called by: prvProcessTimerOrBlockTask/23 (118702158 (estimated locally),0.11 per call) prvSwitchTimerLists/28 (955630223 (estimated locally),8.09 per call) 
  Calls: prvReloadTimer/20 (354334802 (estimated locally),0.33 per call) uxListRemove/43 (1073741824 (estimated locally),1.00 per call) 
   Indirect call(1073741824 (estimated locally),1.00 per call) 
prvReloadTimer/20 (prvReloadTimer) @05ec0540
  Type: function definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: count:118111600 (estimated locally) body local optimize_size
  Called by: prvProcessReceivedCommands/27 (322122 (estimated locally),0.03 per call) prvProcessExpiredTimer/21 (354334802 (estimated locally),0.33 per call) 
  Calls: prvInsertTimerInActiveList/26 (1073741824 (estimated locally),9.09 per call) 
   Indirect call(955630223 (estimated locally),8.09 per call)  of param:0 loaded from aggregate passed by reference at offset 256 (vptr maybe changed)
pcTimerGetName/19 (pcTimerGetName) @05ec0ee0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:357913 (estimated locally) body optimize_size
  Called by: 
  Calls: 
xTimerGetExpiryTime/18 (xTimerGetExpiryTime) @05ec0b60
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:357913 (estimated locally) body optimize_size
  Called by: 
  Calls: 
uxTimerGetReloadMode/17 (uxTimerGetReloadMode) @05ec07e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:230763 (estimated locally) body optimize_size
  Called by: 
  Calls: vPortExitCritical/51 (123389 (estimated locally),0.53 per call) vPortEnterCritical/47 (123389 (estimated locally),0.53 per call) 
vTimerSetReloadMode/16 (vTimerSetReloadMode) @05ec0460
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:230763 (estimated locally) body optimize_size
  Called by: 
  Calls: vPortExitCritical/51 (123389 (estimated locally),0.53 per call) vPortEnterCritical/47 (123389 (estimated locally),0.53 per call) 
xTimerGetPeriod/15 (xTimerGetPeriod) @05ec00e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:357913 (estimated locally) body optimize_size
  Called by: 
  Calls: 
xTimerGetTimerDaemonTaskHandle/14 (xTimerGetTimerDaemonTaskHandle) @05f157e0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: xTimerTaskHandle/9 (read)
  Referring: 
  Availability: available
  Function flags: count:357913 (estimated locally) body optimize_size
  Called by: 
  Calls: 
xTimerGenericCommand/13 (xTimerGenericCommand) @05f151c0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: xTimerQueue/8 (read)xTimerQueue/8 (read)xTimerQueue/8 (read)
  Referring: 
  Availability: available
  Function flags: count:357913 (estimated locally) body optimize_size
  Called by: 
  Calls: xQueueGenericSendFromISR/56 (87689 (estimated locally),0.25 per call) xQueueGenericSend/55 (57875 (estimated locally),0.16 per call) xQueueGenericSend/55 (29814 (estimated locally),0.08 per call) xTaskGetSchedulerState/54 (87689 (estimated locally),0.25 per call) 
prvInitialiseNewTimer/12 (prvInitialiseNewTimer) @05f15a80
  Type: function
  Body removed by symtab_remove_unreachable_nodes
  Visibility: prevailing_def_ironly
  References: 
  Referring: 
  Availability: not_available
  Function flags: count:160260 (estimated locally) body optimize_size
  Called by: 
  Calls: 
xTimerCreate/11 (xTimerCreate) @05f15700
  Type: function definition analyzed
  Visibility: externally_visible public
  References: 
  Referring: 
  Availability: available
  Function flags: count:1073741824 (estimated locally) body optimize_size
  Called by: 
  Calls: prvInitialiseNewTimer.constprop/72 (574129754 (estimated locally),0.53 per call) pvPortMalloc/52 (1073741824 (estimated locally),1.00 per call) 
xTimerCreateTimerTask/10 (xTimerCreateTimerTask) @05f15460
  Type: function definition analyzed
  Visibility: externally_visible public
  References: xTimerQueue/8 (read)prvTimerTask/22 (addr)xTimerTaskHandle/9 (addr)
  Referring: 
  Availability: available
  Function flags: count:146556 (estimated locally) body optimize_size
  Called by: 
  Calls: xTaskCreate/37 (78363 (estimated locally),0.53 per call) prvCheckForValidListAndQueue/29 (146556 (estimated locally),1.00 per call) 
xTimerTaskHandle/9 (xTimerTaskHandle) @05f0f678
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: xTimerCreateTimerTask/10 (addr)xTimerGetTimerDaemonTaskHandle/14 (read)
  Availability: available
  Varpool flags: initialized
xTimerQueue/8 (xTimerQueue) @05f0f5e8
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: prvProcessReceivedCommands/27 (read)xTimerGenericCommand/13 (read)xTimerPendFunctionCallFromISR/33 (read)prvCheckForValidListAndQueue/29 (write)xTimerCreateTimerTask/10 (read)prvCheckForValidListAndQueue/29 (read)prvProcessTimerOrBlockTask/23 (read)xTimerGenericCommand/13 (read)xTimerGenericCommand/13 (read)xTimerPendFunctionCall/34 (read)
  Availability: available
  Varpool flags: initialized
pxOverflowTimerList/7 (pxOverflowTimerList) @05f0f558
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: prvInsertTimerInActiveList.part.0/57 (read)prvSwitchTimerLists/28 (write)prvProcessTimerOrBlockTask/23 (read)prvSwitchTimerLists/28 (read)prvCheckForValidListAndQueue/29 (write)
  Availability: available
  Varpool flags:
pxCurrentTimerList/6 (pxCurrentTimerList) @05f0f4c8
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: prvSwitchTimerLists/28 (write)prvProcessExpiredTimer/21 (read)prvInsertTimerInActiveList/26 (read)prvGetNextExpireTime/24 (read)prvSwitchTimerLists/28 (read)prvCheckForValidListAndQueue/29 (write)
  Availability: available
  Varpool flags:
xActiveTimerList2/5 (xActiveTimerList2) @05f0f438
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: prvCheckForValidListAndQueue/29 (addr)prvCheckForValidListAndQueue/29 (addr)
  Availability: available
  Varpool flags:
xActiveTimerList1/4 (xActiveTimerList1) @05f0f3a8
  Type: variable definition analyzed
  Visibility: prevailing_def_ironly
  References: 
  Referring: prvCheckForValidListAndQueue/29 (addr)prvCheckForValidListAndQueue/29 (addr)
  Availability: available
  Varpool flags:
prvInsertTimerInActiveList.part.0 (struct Timer_t * const pxTimer)
{
  BaseType_t xProcessTimerNow;
  const TickType_t xNextExpiryTime;
  const TickType_t xTimeNow;
  const TickType_t xCommandTime;
  struct List_t * pxOverflowTimerList.14_1;
  struct ListItem_t * _3;

  <bb 4> [local count: 1073741824]:
  # DEBUG D#6 s=> xNextExpiryTime
  # DEBUG xNextExpiryTime => D#6
  # DEBUG D#5 s=> xTimeNow
  # DEBUG xTimeNow => D#5
  # DEBUG D#4 s=> xCommandTime
  # DEBUG xCommandTime => D#4

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  pxOverflowTimerList.14_1 = pxOverflowTimerList;
  _3 = &pxTimer_2(D)->xTimerListItem;
  vListInsert (pxOverflowTimerList.14_1, _3);

  <bb 3> [local count: 1073741824]:
  # xProcessTimerNow_4 = PHI <0(2)>
  # DEBUG xProcessTimerNow => xProcessTimerNow_4
  # DEBUG BEGIN_STMT
  return xProcessTimerNow_4;

}


vTimerSetTimerNumber (struct tmrTimerControl * xTimer, UBaseType_t uxTimerNumber)
{
  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  MEM[(struct Timer_t *)xTimer_2(D)].uxTimerNumber = uxTimerNumber_3(D);
  return;

}


uxTimerGetTimerNumber (struct tmrTimerControl * xTimer)
{
  UBaseType_t _3;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  _3 = MEM[(struct Timer_t *)xTimer_2(D)].uxTimerNumber;
  return _3;

}


xTimerPendFunctionCall (void (*PendedFunction_t) (void *, uint32_t) xFunctionToPend, void * pvParameter1, uint32_t ulParameter2, TickType_t xTicksToWait)
{
  uint32_t ulNewBASEPRI;
  BaseType_t xReturn;
  struct DaemonTaskMessage_t xMessage;
  struct QueueDefinition * xTimerQueue.26_1;

  <bb 2> [local count: 230763]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  xTimerQueue.26_1 = xTimerQueue;
  if (xTimerQueue.26_1 == 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_14 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_14

  <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
  xMessage.xMessageID = -1;
  # DEBUG BEGIN_STMT
  xMessage.u.xCallbackParameters.pxCallbackFunction = xFunctionToPend_4(D);
  # DEBUG BEGIN_STMT
  xMessage.u.xCallbackParameters.pvParameter1 = pvParameter1_6(D);
  # DEBUG BEGIN_STMT
  xMessage.u.xCallbackParameters.ulParameter2 = ulParameter2_8(D);
  # DEBUG BEGIN_STMT
  xReturn_12 = xQueueGenericSend (xTimerQueue.26_1, &xMessage, xTicksToWait_10(D), 0);
  # DEBUG xReturn => xReturn_12
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  xMessage ={v} {CLOBBER};
  return xReturn_12;

}


xTimerPendFunctionCallFromISR (void (*PendedFunction_t) (void *, uint32_t) xFunctionToPend, void * pvParameter1, uint32_t ulParameter2, BaseType_t * pxHigherPriorityTaskWoken)
{
  BaseType_t xReturn;
  struct DaemonTaskMessage_t xMessage;
  struct QueueDefinition * xTimerQueue.25_1;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  xMessage.xMessageID = -2;
  # DEBUG BEGIN_STMT
  xMessage.u.xCallbackParameters.pxCallbackFunction = xFunctionToPend_4(D);
  # DEBUG BEGIN_STMT
  xMessage.u.xCallbackParameters.pvParameter1 = pvParameter1_6(D);
  # DEBUG BEGIN_STMT
  xMessage.u.xCallbackParameters.ulParameter2 = ulParameter2_8(D);
  # DEBUG BEGIN_STMT
  xTimerQueue.25_1 = xTimerQueue;
  xReturn_12 = xQueueGenericSendFromISR (xTimerQueue.25_1, &xMessage, pxHigherPriorityTaskWoken_10(D), 0);
  # DEBUG xReturn => xReturn_12
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  xMessage ={v} {CLOBBER};
  return xReturn_12;

}


vTimerSetTimerID (struct tmrTimerControl * xTimer, void * pvNewID)
{
  uint32_t ulNewBASEPRI;

  <bb 2> [local count: 230763]:
  # DEBUG BEGIN_STMT
  # DEBUG pxTimer => xTimer_1(D)
  # DEBUG BEGIN_STMT
  if (xTimer_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_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 6> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 123389]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  vPortEnterCritical ();
  # DEBUG BEGIN_STMT
  MEM[(struct Timer_t *)xTimer_1(D)].pvTimerID = pvNewID_4(D);
  # DEBUG BEGIN_STMT
  vPortExitCritical ();
  return;

}


pvTimerGetTimerID (struct tmrTimerControl * const xTimer)
{
  uint32_t ulNewBASEPRI;
  void * pvReturn;

  <bb 2> [local count: 230763]:
  # DEBUG BEGIN_STMT
  # DEBUG pxTimer => xTimer_1(D)
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xTimer_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_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 6> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 123389]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  vPortEnterCritical ();
  # DEBUG BEGIN_STMT
  pvReturn_4 = MEM[(struct Timer_t *)xTimer_1(D)].pvTimerID;
  # DEBUG pvReturn => pvReturn_4
  # DEBUG BEGIN_STMT
  vPortExitCritical ();
  # DEBUG BEGIN_STMT
  return pvReturn_4;

}


xTimerIsTimerActive (struct tmrTimerControl * xTimer)
{
  uint32_t ulNewBASEPRI;
  unsigned char _1;
  long int _2;
  unsigned char _4;

  <bb 2> [local count: 230763]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG pxTimer => xTimer_3(D)
  # DEBUG BEGIN_STMT
  if (xTimer_3(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_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: 123389]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  vPortEnterCritical ();
  # DEBUG BEGIN_STMT
  _1 = MEM[(struct Timer_t *)xTimer_3(D)].ucStatus;
  _4 = _1 & 1;
  _2 = (long int) _4;
  # DEBUG xReturn => _2
  # DEBUG BEGIN_STMT
  vPortExitCritical ();
  # DEBUG BEGIN_STMT
  return _2;

}


prvCheckForValidListAndQueue ()
{
  struct QueueDefinition * xTimerQueue.17_1;
  struct QueueDefinition * _2;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  vPortEnterCritical ();
  # DEBUG BEGIN_STMT
  xTimerQueue.17_1 = xTimerQueue;
  if (xTimerQueue.17_1 == 0B)
    goto <bb 3>; [17.43%]
  else
    goto <bb 5>; [82.57%]

  <bb 3> [local count: 187153200]:
  # DEBUG BEGIN_STMT
  vListInitialise (&xActiveTimerList1);
  # DEBUG BEGIN_STMT
  vListInitialise (&xActiveTimerList2);
  # DEBUG BEGIN_STMT
  pxCurrentTimerList = &xActiveTimerList1;
  # DEBUG BEGIN_STMT
  pxOverflowTimerList = &xActiveTimerList2;
  # DEBUG BEGIN_STMT
  _2 = xQueueGenericCreate (10, 16, 0);
  xTimerQueue = _2;
  # DEBUG BEGIN_STMT
  if (_2 != 0B)
    goto <bb 4>; [53.47%]
  else
    goto <bb 5>; [46.53%]

  <bb 4> [local count: 100070816]:
  # DEBUG BEGIN_STMT
  vQueueAddToRegistry (_2, "TmrQ");

  <bb 5> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  vPortExitCritical ();
  return;

}


prvSwitchTimerLists ()
{
  TickType_t xNextExpireTime;
  struct xLIST_ITEM * _1;
  struct List_t * pxCurrentTimerList.11_2;
  long unsigned int _3;
  struct List_t * pxOverflowTimerList.12_4;
  struct List_t * pxCurrentTimerList.11_7;

  <bb 2> [local count: 118111600]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  goto <bb 4>; [100.00%]

  <bb 3> [local count: 955630223]:
  # DEBUG BEGIN_STMT
  _1 = pxCurrentTimerList.11_2->xListEnd.pxNext;
  xNextExpireTime_10 = _1->xItemValue;
  # DEBUG xNextExpireTime => xNextExpireTime_10
  # DEBUG BEGIN_STMT
  prvProcessExpiredTimer (xNextExpireTime_10, 4294967295);

  <bb 4> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  pxCurrentTimerList.11_2 = pxCurrentTimerList;
  _3 ={v} pxCurrentTimerList.11_2->uxNumberOfItems;
  if (_3 != 0)
    goto <bb 3>; [89.00%]
  else
    goto <bb 5>; [11.00%]

  <bb 5> [local count: 118111601]:
  # pxCurrentTimerList.11_7 = PHI <pxCurrentTimerList.11_2(4)>
  # DEBUG BEGIN_STMT
  # DEBUG pxTemp => pxCurrentTimerList.11_7
  # DEBUG BEGIN_STMT
  pxOverflowTimerList.12_4 = pxOverflowTimerList;
  pxCurrentTimerList = pxOverflowTimerList.12_4;
  # DEBUG BEGIN_STMT
  pxOverflowTimerList = pxCurrentTimerList.11_7;
  return;

}


prvProcessReceivedCommands ()
{
  uint32_t ulNewBASEPRI;
  TickType_t xTimeNow;
  BaseType_t xTimerListsWereSwitched;
  struct Timer_t * pxTimer;
  struct DaemonTaskMessage_t xMessage;
  long int _1;
  void (*<T68e>) (void *, uint32_t) _2;
  void * _3;
  long unsigned int _4;
  long int _5;
  struct xLIST * _6;
  struct ListItem_t * _7;
  long int _8;
  unsigned char _9;
  unsigned char _10;
  long unsigned int _11;
  long unsigned int _12;
  long unsigned int _13;
  long int _15;
  unsigned char _16;
  long unsigned int _17;
  long unsigned int _18;
  long unsigned int _19;
  unsigned char _21;
  void (*<T689>) (struct tmrTimerControl *) _22;
  unsigned char _23;
  unsigned char _24;
  unsigned char _25;
  unsigned char _26;
  long unsigned int _27;
  long unsigned int _30;
  unsigned char _31;
  unsigned char _33;
  struct QueueDefinition * xTimerQueue.16_34;
  long int _35;
  unsigned char _63;
  unsigned char _65;

  <bb 2> [local count: 10436763]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  goto <bb 23>; [100.00%]

  <bb 3> [local count: 177477686]:
  # DEBUG BEGIN_STMT
  _1 = xMessage.xMessageID;
  if (_1 < 0)
    goto <bb 4>; [41.00%]
  else
    goto <bb 5>; [59.00%]

  <bb 4> [local count: 72765851]:
  # DEBUG BEGIN_STMT
  # DEBUG pxCallback => &xMessage.u.xCallbackParameters
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _2 = MEM[(const struct CallbackParameters_t *)&xMessage + 4B].pxCallbackFunction;
  _3 = MEM[(const struct CallbackParameters_t *)&xMessage + 4B].pvParameter1;
  _4 = MEM[(const struct CallbackParameters_t *)&xMessage + 4B].ulParameter2;
  _2 (_3, _4);

  <bb 5> [local count: 177477686]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _5 = xMessage.xMessageID;
  if (_5 >= 0)
    goto <bb 6>; [5.50%]
  else
    goto <bb 29>; [94.50%]

  <bb 29> [local count: 167716413]:
  goto <bb 25>; [100.00%]

  <bb 6> [local count: 9761273]:
  # DEBUG BEGIN_STMT
  pxTimer_47 = xMessage.u.xTimerParameters.pxTimer;
  # DEBUG pxTimer => pxTimer_47
  # DEBUG BEGIN_STMT
  _6 = pxTimer_47->xTimerListItem.pvContainer;
  if (_6 != 0B)
    goto <bb 7>; [53.47%]
  else
    goto <bb 8>; [46.53%]

  <bb 7> [local count: 5219353]:
  # DEBUG BEGIN_STMT
  _7 = &pxTimer_47->xTimerListItem;
  uxListRemove (_7);

  <bb 8> [local count: 9761273]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  xTimeNow_50 = prvSampleTimeNow (&xTimerListsWereSwitched);
  # DEBUG xTimeNow => xTimeNow_50
  # DEBUG BEGIN_STMT
  _8 = xMessage.xMessageID;
  switch (_8) <default: <L41> [20.00%], case 1 ... 2: <L11> [20.00%], case 3: <L21> [20.00%], case 4: <L23> [20.00%], case 5: <L28> [20.00%], case 6 ... 7: <L11> [20.00%], case 8: <L21> [20.00%], case 9: <L23> [20.00%]>

  <bb 28> [local count: 1952255]:
<L41>:
  goto <bb 24>; [100.00%]

  <bb 9> [local count: 1952255]:
  # pxTimer_14 = PHI <pxTimer_47(8)>
  # xTimeNow_46 = PHI <xTimeNow_50(8)>
<L11>:
  # DEBUG BEGIN_STMT
  _9 = pxTimer_14->ucStatus;
  _10 = _9 | 1;
  pxTimer_14->ucStatus = _10;
  # DEBUG BEGIN_STMT
  _11 = xMessage.u.xTimerParameters.xMessageValue;
  _12 = pxTimer_14->xTimerPeriodInTicks;
  _13 = _11 + _12;
  _15 = prvInsertTimerInActiveList (pxTimer_14, _13, xTimeNow_46, _11);
  if (_15 != 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 22>; [50.00%]

  <bb 10> [local count: 976127]:
  # DEBUG BEGIN_STMT
  _16 = pxTimer_14->ucStatus;
  _65 = _16 & 4;
  if (_65 != 0)
    goto <bb 11>; [33.00%]
  else
    goto <bb 12>; [67.00%]

  <bb 11> [local count: 322122]:
  # DEBUG BEGIN_STMT
  _17 = xMessage.u.xTimerParameters.xMessageValue;
  _18 = pxTimer_14->xTimerPeriodInTicks;
  _19 = _17 + _18;
  prvReloadTimer (pxTimer_14, _19, xTimeNow_46);
  goto <bb 13>; [100.00%]

  <bb 12> [local count: 654005]:
  # DEBUG BEGIN_STMT
  _21 = _16 & 254;
  pxTimer_14->ucStatus = _21;

  <bb 13> [local count: 976127]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _22 = pxTimer_14->pxCallbackFunction;
  _22 (pxTimer_14);
  goto <bb 22>; [100.00%]

  <bb 14> [local count: 1952255]:
  # pxTimer_20 = PHI <pxTimer_47(8)>
<L21>:
  # DEBUG BEGIN_STMT
  _23 = pxTimer_20->ucStatus;
  _24 = _23 & 254;
  pxTimer_20->ucStatus = _24;
  # DEBUG BEGIN_STMT
  goto <bb 22>; [100.00%]

  <bb 15> [local count: 1952255]:
  # pxTimer_44 = PHI <pxTimer_47(8)>
  # xTimeNow_67 = PHI <xTimeNow_50(8)>
<L23>:
  # DEBUG BEGIN_STMT
  _25 = pxTimer_44->ucStatus;
  _26 = _25 | 1;
  pxTimer_44->ucStatus = _26;
  # DEBUG BEGIN_STMT
  _27 = xMessage.u.xTimerParameters.xMessageValue;
  pxTimer_44->xTimerPeriodInTicks = _27;
  # DEBUG BEGIN_STMT
  if (_27 == 0)
    goto <bb 16>; [5.50%]
  else
    goto <bb 18>; [94.50%]

  <bb 16> [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_64 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_64

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

  <bb 27> [local count: 1073741824]:
  goto <bb 17>; [100.00%]

  <bb 18> [local count: 1844881]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _30 = _27 + xTimeNow_67;
  prvInsertTimerInActiveList (pxTimer_44, _30, xTimeNow_67, xTimeNow_67);
  # DEBUG BEGIN_STMT
  goto <bb 22>; [100.00%]

  <bb 19> [local count: 1952255]:
  # pxTimer_56 = PHI <pxTimer_47(8)>
<L28>:
  # DEBUG BEGIN_STMT
  _31 = pxTimer_56->ucStatus;
  _63 = _31 & 2;
  if (_63 == 0)
    goto <bb 20>; [33.00%]
  else
    goto <bb 21>; [67.00%]

  <bb 20> [local count: 644244]:
  # DEBUG BEGIN_STMT
  vPortFree (pxTimer_56);
  goto <bb 22>; [100.00%]

  <bb 21> [local count: 1308011]:
  # DEBUG BEGIN_STMT
  _33 = _31 & 254;
  pxTimer_56->ucStatus = _33;

  <bb 22> [local count: 7701644]:

  <bb 23> [local count: 18138407]:

  <bb 24> [local count: 20090662]:
<L38>:

  <bb 25> [local count: 187807075]:
  # DEBUG BEGIN_STMT
  xTimerQueue.16_34 = xTimerQueue;
  _35 = xQueueReceive (xTimerQueue.16_34, &xMessage, 0);
  if (_35 != 0)
    goto <bb 3>; [94.50%]
  else
    goto <bb 26>; [5.50%]

  <bb 26> [local count: 10329389]:
  xMessage ={v} {CLOBBER};
  xTimerListsWereSwitched ={v} {CLOBBER};
  return;

}


prvInsertTimerInActiveList (struct Timer_t * const pxTimer, const TickType_t xNextExpiryTime, const TickType_t xTimeNow, const TickType_t xCommandTime)
{
  BaseType_t xProcessTimerNow;
  long unsigned int _1;
  long unsigned int _2;
  struct List_t * pxCurrentTimerList.15_3;
  struct ListItem_t * _4;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG xProcessTimerNow => 0
  # DEBUG BEGIN_STMT
  pxTimer_8(D)->xTimerListItem.xItemValue = xNextExpiryTime_9(D);
  # DEBUG BEGIN_STMT
  pxTimer_8(D)->xTimerListItem.pvOwner = pxTimer_8(D);
  # DEBUG BEGIN_STMT
  if (xNextExpiryTime_9(D) <= xTimeNow_12(D))
    goto <bb 3>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 3> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _1 = xTimeNow_12(D) - xCommandTime_13(D);
  _2 = pxTimer_8(D)->xTimerPeriodInTicks;
  if (_1 >= _2)
    goto <bb 8>; [67.00%]
  else
    goto <bb 4>; [33.00%]

  <bb 4> [local count: 177167400]:
  # DEBUG D#1 => xNextExpiryTime_9(D)
  # DEBUG D#2 => xTimeNow_12(D)
  # DEBUG D#3 => xCommandTime_13(D)
  xProcessTimerNow_16 = prvInsertTimerInActiveList.part.0 (pxTimer_8(D));
  goto <bb 8>; [100.00%]

  <bb 5> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  if (xTimeNow_12(D) < xCommandTime_13(D))
    goto <bb 6>; [67.00%]
  else
    goto <bb 7>; [33.00%]

  <bb 6> [local count: 359703511]:
  if (xNextExpiryTime_9(D) >= xCommandTime_13(D))
    goto <bb 8>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 7> [local count: 357019157]:
  # DEBUG BEGIN_STMT
  pxCurrentTimerList.15_3 = pxCurrentTimerList;
  _4 = &pxTimer_8(D)->xTimerListItem;
  vListInsert (pxCurrentTimerList.15_3, _4);

  <bb 8> [local count: 1073741824]:
  # xProcessTimerNow_5 = PHI <xProcessTimerNow_16(4), 1(6), 0(7), 1(3)>
  # DEBUG xProcessTimerNow => xProcessTimerNow_5
  # DEBUG BEGIN_STMT
  return xProcessTimerNow_5;

}


prvSampleTimeNow (BaseType_t * const pxTimerListsWereSwitched)
{
  static TickType_t xLastTime = 0;
  TickType_t xTimeNow;
  long unsigned int xLastTime.9_1;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  xTimeNow_5 = xTaskGetTickCount ();
  # DEBUG xTimeNow => xTimeNow_5
  # DEBUG BEGIN_STMT
  xLastTime.9_1 = xLastTime;
  if (xLastTime.9_1 > xTimeNow_5)
    goto <bb 3>; [33.00%]
  else
    goto <bb 4>; [67.00%]

  <bb 3> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  prvSwitchTimerLists ();
  # DEBUG BEGIN_STMT
  *pxTimerListsWereSwitched_6(D) = 1;
  goto <bb 5>; [100.00%]

  <bb 4> [local count: 719407023]:
  # DEBUG BEGIN_STMT
  *pxTimerListsWereSwitched_6(D) = 0;

  <bb 5> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  xLastTime = xTimeNow_5;
  # DEBUG BEGIN_STMT
  return xTimeNow_5;

}


prvGetNextExpireTime (BaseType_t * const pxListWasEmpty)
{
  TickType_t xNextExpireTime;
  struct List_t * pxCurrentTimerList.3_1;
  long unsigned int _2;
  struct xLIST_ITEM * _3;
  long int iftmp.2_5;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pxCurrentTimerList.3_1 = pxCurrentTimerList;
  _2 ={v} pxCurrentTimerList.3_1->uxNumberOfItems;
  if (_2 == 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 3>; [50.00%]

  <bb 3> [local count: 536870913]:

  <bb 4> [local count: 1073741824]:
  # iftmp.2_5 = PHI <1(2), 0(3)>
  *pxListWasEmpty_7(D) = iftmp.2_5;
  # DEBUG BEGIN_STMT
  if (iftmp.2_5 == 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 5> [local count: 536870913]:
  # DEBUG BEGIN_STMT
  _3 = pxCurrentTimerList.3_1->xListEnd.pxNext;
  xNextExpireTime_9 = _3->xItemValue;
  # DEBUG xNextExpireTime => xNextExpireTime_9

  <bb 6> [local count: 1073741824]:
  # xNextExpireTime_4 = PHI <xNextExpireTime_9(5), 0(4)>
  # DEBUG xNextExpireTime => xNextExpireTime_4
  # DEBUG BEGIN_STMT
  return xNextExpireTime_4;

}


prvProcessTimerOrBlockTask (const TickType_t xNextExpireTime, BaseType_t xListWasEmpty)
{
  BaseType_t xTimerListsWereSwitched;
  TickType_t xTimeNow;
  long int xTimerListsWereSwitched.5_1;
  struct List_t * pxOverflowTimerList.7_2;
  long unsigned int _3;
  struct QueueDefinition * xTimerQueue.8_4;
  long unsigned int _5;
  long int _6;

  <bb 2> [local count: 1073741823]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  vTaskSuspendAll ();
  # DEBUG BEGIN_STMT
  xTimeNow_12 = prvSampleTimeNow (&xTimerListsWereSwitched);
  # DEBUG xTimeNow => xTimeNow_12
  # DEBUG BEGIN_STMT
  xTimerListsWereSwitched.5_1 = xTimerListsWereSwitched;
  if (xTimerListsWereSwitched.5_1 == 0)
    goto <bb 3>; [67.00%]
  else
    goto <bb 12>; [33.00%]

  <bb 3> [local count: 719407022]:
  # DEBUG BEGIN_STMT
  if (xListWasEmpty_14(D) == 0)
    goto <bb 4>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 4> [local count: 359703511]:
  if (xTimeNow_12 >= xNextExpireTime_15(D))
    goto <bb 5>; [33.00%]
  else
    goto <bb 6>; [67.00%]

  <bb 5> [local count: 118702158]:
  # DEBUG BEGIN_STMT
  xTaskResumeAll ();
  # DEBUG BEGIN_STMT
  prvProcessExpiredTimer (xNextExpireTime_15(D), xTimeNow_12);
  goto <bb 13>; [100.00%]

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

  <bb 7> [local count: 300352432]:
  # DEBUG BEGIN_STMT
  pxOverflowTimerList.7_2 = pxOverflowTimerList;
  _3 ={v} pxOverflowTimerList.7_2->uxNumberOfItems;
  if (_3 == 0)
    goto <bb 10>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 8> [local count: 150176216]:

  <bb 10> [local count: 600704864]:
  # xListWasEmpty_7 = PHI <xListWasEmpty_14(D)(6), 0(8), 1(7)>
  # DEBUG xListWasEmpty => xListWasEmpty_7
  # DEBUG BEGIN_STMT
  xTimerQueue.8_4 = xTimerQueue;
  _5 = xNextExpireTime_15(D) - xTimeNow_12;
  vQueueWaitForMessageRestricted (xTimerQueue.8_4, _5, xListWasEmpty_7);
  # DEBUG BEGIN_STMT
  _6 = xTaskResumeAll ();
  if (_6 == 0)
    goto <bb 11>; [50.00%]
  else
    goto <bb 13>; [50.00%]

  <bb 11> [local count: 300352432]:
  # DEBUG BEGIN_STMT
  MEM[(volatile uint32_t *)3758157060B] ={v} 268435456;
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("dsb" :  :  : "memory");
  # DEBUG BEGIN_STMT
  __asm__ __volatile__("isb");
  # DEBUG BEGIN_STMT
  goto <bb 13>; [100.00%]

  <bb 12> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  xTaskResumeAll ();

  <bb 13> [local count: 1073741824]:
  xTimerListsWereSwitched ={v} {CLOBBER};
  return;

}


prvTimerTask (void * pvParameters)
{
  BaseType_t xListWasEmpty;
  TickType_t xNextExpireTime;
  long int xListWasEmpty.1_1;

  <bb 2> [local count: 107374]:

  <bb 3> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  xNextExpireTime_5 = prvGetNextExpireTime (&xListWasEmpty);
  # DEBUG xNextExpireTime => xNextExpireTime_5
  # DEBUG BEGIN_STMT
  xListWasEmpty.1_1 = xListWasEmpty;
  prvProcessTimerOrBlockTask (xNextExpireTime_5, xListWasEmpty.1_1);
  # DEBUG BEGIN_STMT
  prvProcessReceivedCommands ();
  # DEBUG BEGIN_STMT

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

}


prvProcessExpiredTimer (const TickType_t xNextExpireTime, const TickType_t xTimeNow)
{
  struct Timer_t * const pxTimer;
  struct List_t * pxCurrentTimerList.13_1;
  struct xLIST_ITEM * _2;
  struct ListItem_t * _3;
  unsigned char _4;
  unsigned char _5;
  void (*<T689>) (struct tmrTimerControl *) _6;
  unsigned char _16;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  pxCurrentTimerList.13_1 = pxCurrentTimerList;
  _2 = pxCurrentTimerList.13_1->xListEnd.pxNext;
  pxTimer_9 = _2->pvOwner;
  # DEBUG pxTimer => pxTimer_9
  # DEBUG BEGIN_STMT
  _3 = &pxTimer_9->xTimerListItem;
  uxListRemove (_3);
  # DEBUG BEGIN_STMT
  _4 = pxTimer_9->ucStatus;
  _16 = _4 & 4;
  if (_16 != 0)
    goto <bb 3>; [33.00%]
  else
    goto <bb 4>; [67.00%]

  <bb 3> [local count: 354334802]:
  # DEBUG BEGIN_STMT
  prvReloadTimer (pxTimer_9, xNextExpireTime_12(D), xTimeNow_13(D));
  goto <bb 5>; [100.00%]

  <bb 4> [local count: 719407023]:
  # DEBUG BEGIN_STMT
  _5 = _4 & 254;
  pxTimer_9->ucStatus = _5;

  <bb 5> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _6 = pxTimer_9->pxCallbackFunction;
  _6 (pxTimer_9);
  return;

}


prvReloadTimer (struct Timer_t * const pxTimer, TickType_t xExpiredTime, const TickType_t xTimeNow)
{
  long unsigned int _1;
  void (*<T689>) (struct tmrTimerControl *) _2;
  long unsigned int _3;
  long unsigned int _4;
  long int _5;

  <bb 2> [local count: 118111600]:
  # DEBUG BEGIN_STMT
  goto <bb 4>; [100.00%]

  <bb 3> [local count: 955630223]:
  # DEBUG BEGIN_STMT
  _1 = pxTimer_10(D)->xTimerPeriodInTicks;
  xExpiredTime_13 = _1 + xExpiredTime_6;
  # DEBUG xExpiredTime => xExpiredTime_13
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _2 = pxTimer_10(D)->pxCallbackFunction;
  _2 (pxTimer_10(D));

  <bb 4> [local count: 1073741824]:
  # xExpiredTime_6 = PHI <xExpiredTime_8(D)(2), xExpiredTime_13(3)>
  # DEBUG xExpiredTime => xExpiredTime_6
  # DEBUG BEGIN_STMT
  _3 = pxTimer_10(D)->xTimerPeriodInTicks;
  _4 = _3 + xExpiredTime_6;
  _5 = prvInsertTimerInActiveList (pxTimer_10(D), _4, xTimeNow_11(D), xExpiredTime_6);
  if (_5 != 0)
    goto <bb 3>; [89.00%]
  else
    goto <bb 5>; [11.00%]

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

}


pcTimerGetName (struct tmrTimerControl * xTimer)
{
  uint32_t ulNewBASEPRI;
  const char * _3;

  <bb 2> [local count: 357913]:
  # DEBUG BEGIN_STMT
  # DEBUG pxTimer => xTimer_1(D)
  # DEBUG BEGIN_STMT
  if (xTimer_1(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_4 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_4

  <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: 250539]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _3 = MEM[(struct Timer_t *)xTimer_1(D)].pcTimerName;
  return _3;

}


xTimerGetExpiryTime (struct tmrTimerControl * xTimer)
{
  uint32_t ulNewBASEPRI;
  TickType_t xReturn;

  <bb 2> [local count: 357913]:
  # DEBUG BEGIN_STMT
  # DEBUG pxTimer => xTimer_1(D)
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xTimer_1(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_4 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_4

  <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: 250539]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  xReturn_3 = MEM[(struct Timer_t *)xTimer_1(D)].xTimerListItem.xItemValue;
  # DEBUG xReturn => xReturn_3
  # DEBUG BEGIN_STMT
  return xReturn_3;

}


uxTimerGetReloadMode (struct tmrTimerControl * xTimer)
{
  uint32_t ulNewBASEPRI;
  UBaseType_t uxReturn;
  unsigned char _1;
  unsigned char _4;

  <bb 2> [local count: 230763]:
  # DEBUG BEGIN_STMT
  # DEBUG pxTimer => xTimer_3(D)
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xTimer_3(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_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 8> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 123389]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  vPortEnterCritical ();
  # DEBUG BEGIN_STMT
  _1 = MEM[(struct Timer_t *)xTimer_3(D)].ucStatus;
  _4 = _1 & 4;
  if (_4 == 0)
    goto <bb 7>; [50.00%]
  else
    goto <bb 6>; [50.00%]

  <bb 6> [local count: 61694]:
  # DEBUG BEGIN_STMT
  # DEBUG uxReturn => 1

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

}


vTimerSetReloadMode (struct tmrTimerControl * xTimer, const UBaseType_t uxAutoReload)
{
  uint32_t ulNewBASEPRI;
  unsigned char _1;
  unsigned char _2;
  unsigned char _3;
  unsigned char _4;

  <bb 2> [local count: 230763]:
  # DEBUG BEGIN_STMT
  # DEBUG pxTimer => xTimer_6(D)
  # DEBUG BEGIN_STMT
  if (xTimer_6(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_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 9> [local count: 1073741824]:
  goto <bb 4>; [100.00%]

  <bb 5> [local count: 123389]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  vPortEnterCritical ();
  # DEBUG BEGIN_STMT
  if (uxAutoReload_9(D) != 0)
    goto <bb 6>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 6> [local count: 61694]:
  # DEBUG BEGIN_STMT
  _1 = MEM[(struct Timer_t *)xTimer_6(D)].ucStatus;
  _2 = _1 | 4;
  MEM[(struct Timer_t *)xTimer_6(D)].ucStatus = _2;
  goto <bb 8>; [100.00%]

  <bb 7> [local count: 61694]:
  # DEBUG BEGIN_STMT
  _3 = MEM[(struct Timer_t *)xTimer_6(D)].ucStatus;
  _4 = _3 & 251;
  MEM[(struct Timer_t *)xTimer_6(D)].ucStatus = _4;

  <bb 8> [local count: 123389]:
  # DEBUG BEGIN_STMT
  vPortExitCritical ();
  return;

}


xTimerGetPeriod (struct tmrTimerControl * xTimer)
{
  uint32_t ulNewBASEPRI;
  TickType_t _3;

  <bb 2> [local count: 357913]:
  # DEBUG BEGIN_STMT
  # DEBUG pxTimer => xTimer_1(D)
  # DEBUG BEGIN_STMT
  if (xTimer_1(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_4 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_4

  <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: 250539]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  _3 = MEM[(struct Timer_t *)xTimer_1(D)].xTimerPeriodInTicks;
  return _3;

}


xTimerGetTimerDaemonTaskHandle ()
{
  uint32_t ulNewBASEPRI;
  struct tskTaskControlBlock * xTimerTaskHandle.24_1;

  <bb 2> [local count: 357913]:
  # DEBUG BEGIN_STMT
  xTimerTaskHandle.24_1 = xTimerTaskHandle;
  if (xTimerTaskHandle.24_1 == 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_3 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_3

  <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: 250539]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return xTimerTaskHandle.24_1;

}


xTimerGenericCommand (struct tmrTimerControl * xTimer, const BaseType_t xCommandID, const TickType_t xOptionalValue, BaseType_t * const pxHigherPriorityTaskWoken, const TickType_t xTicksToWait)
{
  uint32_t ulNewBASEPRI;
  struct DaemonTaskMessage_t xMessage;
  BaseType_t xReturn;
  struct QueueDefinition * xTimerQueue.20_1;
  long int _2;
  struct QueueDefinition * xTimerQueue.21_3;
  struct QueueDefinition * xTimerQueue.22_4;

  <bb 2> [local count: 357913]:
  # DEBUG BEGIN_STMT
  # DEBUG xReturn => 0
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xTimer_7(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_24 : "i" 16 : "memory");
  # DEBUG ulNewBASEPRI => ulNewBASEPRI_24

  <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
  xTimerQueue.20_1 = xTimerQueue;
  if (xTimerQueue.20_1 != 0B)
    goto <bb 6>; [70.00%]
  else
    goto <bb 11>; [30.00%]

  <bb 6> [local count: 175378]:
  # DEBUG BEGIN_STMT
  xMessage.xMessageID = xCommandID_9(D);
  # DEBUG BEGIN_STMT
  xMessage.u.xTimerParameters.xMessageValue = xOptionalValue_11(D);
  # DEBUG BEGIN_STMT
  xMessage.u.xTimerParameters.pxTimer = xTimer_7(D);
  # DEBUG BEGIN_STMT
  if (xCommandID_9(D) <= 5)
    goto <bb 7>; [50.00%]
  else
    goto <bb 10>; [50.00%]

  <bb 7> [local count: 87689]:
  # DEBUG BEGIN_STMT
  _2 = xTaskGetSchedulerState ();
  if (_2 == 2)
    goto <bb 8>; [34.00%]
  else
    goto <bb 9>; [66.00%]

  <bb 8> [local count: 29814]:
  # DEBUG BEGIN_STMT
  xTimerQueue.21_3 = xTimerQueue;
  xReturn_22 = xQueueGenericSend (xTimerQueue.21_3, &xMessage, xTicksToWait_20(D), 0);
  # DEBUG xReturn => xReturn_22
  goto <bb 11>; [100.00%]

  <bb 9> [local count: 57875]:
  # DEBUG BEGIN_STMT
  xTimerQueue.22_4 = xTimerQueue;
  xReturn_19 = xQueueGenericSend (xTimerQueue.22_4, &xMessage, 0, 0);
  # DEBUG xReturn => xReturn_19
  goto <bb 11>; [100.00%]

  <bb 10> [local count: 87689]:
  # DEBUG BEGIN_STMT
  xReturn_16 = xQueueGenericSendFromISR (xTimerQueue.20_1, &xMessage, pxHigherPriorityTaskWoken_14(D), 0);
  # DEBUG xReturn => xReturn_16

  <bb 11> [local count: 250539]:
  # xReturn_5 = PHI <0(5), xReturn_16(10), xReturn_19(9), xReturn_22(8)>
  # DEBUG xReturn => xReturn_5
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  xMessage ={v} {CLOBBER};
  return xReturn_5;

}


xTimerCreate (const char * const pcTimerName, const TickType_t xTimerPeriodInTicks, const UBaseType_t uxAutoReload, void * const pvTimerID, void (*TimerCallbackFunction_t) (struct tmrTimerControl *) pxCallbackFunction)
{
  struct Timer_t * pxNewTimer;

  <bb 2> [local count: 1073741824]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  pxNewTimer_4 = pvPortMalloc (44);
  # DEBUG pxNewTimer => pxNewTimer_4
  # DEBUG BEGIN_STMT
  if (pxNewTimer_4 != 0B)
    goto <bb 3>; [53.47%]
  else
    goto <bb 4>; [46.53%]

  <bb 3> [local count: 574129754]:
  # DEBUG BEGIN_STMT
  pxNewTimer_4->ucStatus = 0;
  # DEBUG BEGIN_STMT
  prvInitialiseNewTimer (pcTimerName_6(D), xTimerPeriodInTicks_7(D), uxAutoReload_8(D), pvTimerID_9(D), pxCallbackFunction_10(D), pxNewTimer_4);

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

}


xTimerCreateTimerTask ()
{
  uint32_t ulNewBASEPRI;
  BaseType_t xReturn;
  struct QueueDefinition * xTimerQueue.0_1;

  <bb 2> [local count: 146556]:
  # DEBUG BEGIN_STMT
  # DEBUG xReturn => 0
  # DEBUG BEGIN_STMT
  prvCheckForValidListAndQueue ();
  # DEBUG BEGIN_STMT
  xTimerQueue.0_1 = xTimerQueue;
  if (xTimerQueue.0_1 != 0B)
    goto <bb 4>; [53.47%]
  else
    goto <bb 5>; [46.53%]

  <bb 4> [local count: 78363]:
  # DEBUG BEGIN_STMT
  xReturn_5 = xTaskCreate (prvTimerTask, "Tmr Svc", 180, 0B, 2, &xTimerTaskHandle);
  # DEBUG xReturn => xReturn_5
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  if (xReturn_5 == 0)
    goto <bb 5>; [50.00%]
  else
    goto <bb 7>; [50.00%]

  <bb 5> [local count: 107374]:
  # DEBUG xReturn => NULL
  # 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 6> [local count: 1073741824]:
  # DEBUG ulNewBASEPRI => NULL
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT

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

  <bb 7> [local count: 39182]:
  # DEBUG BEGIN_STMT
  # DEBUG BEGIN_STMT
  return xReturn_5;

}