summaryrefslogtreecommitdiff
path: root/Test/livevars/bla1.bpl
diff options
context:
space:
mode:
authorGravatar qadeer <unknown>2010-02-12 04:52:41 +0000
committerGravatar qadeer <unknown>2010-02-12 04:52:41 +0000
commit03be2f186637abda08d9351a37313b1e19850011 (patch)
treea28593314cb6a30ad1ba662990461a7c62c740bd /Test/livevars/bla1.bpl
parent0001ad60f8a65026680d041fa23809f5acb357b0 (diff)
Diffstat (limited to 'Test/livevars/bla1.bpl')
-rw-r--r--Test/livevars/bla1.bpl2100
1 files changed, 2100 insertions, 0 deletions
diff --git a/Test/livevars/bla1.bpl b/Test/livevars/bla1.bpl
new file mode 100644
index 00000000..2854e5df
--- /dev/null
+++ b/Test/livevars/bla1.bpl
@@ -0,0 +1,2100 @@
+var __storm_thread_done_0 : bool;
+var __storm_thread_done_1 : bool;
+var __storm_thread_done_2 : bool;
+
+var raiseException : bool;
+var errorReached : bool;
+var k : int;
+var __storm_atomic : bool;
+var __storm_init : bool;
+var tid : int;
+var tidCount : int;
+
+procedure /* dummy comment */ {:inline 1} storm_getThreadID() returns (tidRet:int)
+{
+ tidRet := tid;
+ return;
+}
+
+
+procedure storm_context_0();
+procedure storm_context_1();
+
+procedure contextSwitch();
+modifies k;
+ensures __storm_atomic ==> old(k) == k;
+ensures(old(k) <= k);
+ensures(k < 2);
+
+
+
+// Memory model
+
+// Mutable
+var alloc:int;
+
+// Immutable
+
+var Mem_0_T.CancelRoutine__IRP : [int]int;
+var Mem_1_T.CancelRoutine__IRP : [int]int;
+var Mem_s_1_T.CancelRoutine__IRP : [int]int;
+var Mem_0_T.Cancel__IRP : [int]int;
+var Mem_1_T.Cancel__IRP : [int]int;
+var Mem_s_1_T.Cancel__IRP : [int]int;
+var Mem_0_T.CurrentStackLocation___unnamed_4_3c640f23 : [int]int;
+var Mem_1_T.CurrentStackLocation___unnamed_4_3c640f23 : [int]int;
+var Mem_s_1_T.CurrentStackLocation___unnamed_4_3c640f23 : [int]int;
+var Mem_0_T.DeviceExtension__DEVICE_OBJECT : [int]int;
+var Mem_1_T.DeviceExtension__DEVICE_OBJECT : [int]int;
+var Mem_s_1_T.DeviceExtension__DEVICE_OBJECT : [int]int;
+var Mem_0_T.DeviceObject__IO_STACK_LOCATION : [int]int;
+var Mem_1_T.DeviceObject__IO_STACK_LOCATION : [int]int;
+var Mem_s_1_T.DeviceObject__IO_STACK_LOCATION : [int]int;
+
+
+// Field declarations
+
+
+// Type declarations
+
+
+// Field offset definitions
+
+function AssociatedIrp__IRP(int) returns (int);
+
+
+//axiom (forall x:int :: {AssociatedIrp__IRP(x)} AssociatedIrp__IRP(x) == x + 12);
+axiom (forall x:int :: {AssociatedIrp__IRP(x)} AssociatedIrp__IRP(x) == INT_ADD(x, 12));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function COMMON_DATA__PORT_KEYBOARD_EXTENSION(int) returns (int);
+
+
+//axiom (forall x:int :: {COMMON_DATA__PORT_KEYBOARD_EXTENSION(x)} COMMON_DATA__PORT_KEYBOARD_EXTENSION(x) == x + 0);
+axiom (forall x:int :: {COMMON_DATA__PORT_KEYBOARD_EXTENSION(x)} COMMON_DATA__PORT_KEYBOARD_EXTENSION(x) == INT_ADD(x, 0));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function CancelIrql__IRP(int) returns (int);
+
+
+//axiom (forall x:int :: {CancelIrql__IRP(x)} CancelIrql__IRP(x) == x + 37);
+axiom (forall x:int :: {CancelIrql__IRP(x)} CancelIrql__IRP(x) == INT_ADD(x, 37));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function CancelRoutine__IRP(int) returns (int);
+
+
+//axiom (forall x:int :: {CancelRoutine__IRP(x)} CancelRoutine__IRP(x) == x + 56);
+axiom (forall x:int :: {CancelRoutine__IRP(x)} CancelRoutine__IRP(x) == INT_ADD(x, 56));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function Cancel__IRP(int) returns (int);
+
+
+//axiom (forall x:int :: {Cancel__IRP(x)} Cancel__IRP(x) == x + 36);
+axiom (forall x:int :: {Cancel__IRP(x)} Cancel__IRP(x) == INT_ADD(x, 36));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function CompletionRoutine__IO_STACK_LOCATION(int) returns (int);
+
+
+//axiom (forall x:int :: {CompletionRoutine__IO_STACK_LOCATION(x)} CompletionRoutine__IO_STACK_LOCATION(x) == x + 28);
+axiom (forall x:int :: {CompletionRoutine__IO_STACK_LOCATION(x)} CompletionRoutine__IO_STACK_LOCATION(x) == INT_ADD(x, 28));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function Context__IO_STACK_LOCATION(int) returns (int);
+
+
+//axiom (forall x:int :: {Context__IO_STACK_LOCATION(x)} Context__IO_STACK_LOCATION(x) == x + 32);
+axiom (forall x:int :: {Context__IO_STACK_LOCATION(x)} Context__IO_STACK_LOCATION(x) == INT_ADD(x, 32));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function Control__IO_STACK_LOCATION(int) returns (int);
+
+
+//axiom (forall x:int :: {Control__IO_STACK_LOCATION(x)} Control__IO_STACK_LOCATION(x) == x + 3);
+axiom (forall x:int :: {Control__IO_STACK_LOCATION(x)} Control__IO_STACK_LOCATION(x) == INT_ADD(x, 3));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function ControllerData__GLOBALS(int) returns (int);
+
+
+//axiom (forall x:int :: {ControllerData__GLOBALS(x)} ControllerData__GLOBALS(x) == x + 0);
+axiom (forall x:int :: {ControllerData__GLOBALS(x)} ControllerData__GLOBALS(x) == INT_ADD(x, 0));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function CurrentLocation__IRP(int) returns (int);
+
+
+//axiom (forall x:int :: {CurrentLocation__IRP(x)} CurrentLocation__IRP(x) == x + 35);
+axiom (forall x:int :: {CurrentLocation__IRP(x)} CurrentLocation__IRP(x) == INT_ADD(x, 35));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function CurrentStackLocation___unnamed_4_3c640f23(int) returns (int);
+
+
+//axiom (forall x:int :: {CurrentStackLocation___unnamed_4_3c640f23(x)} CurrentStackLocation___unnamed_4_3c640f23(x) == x + 0);
+axiom (forall x:int :: {CurrentStackLocation___unnamed_4_3c640f23(x)} CurrentStackLocation___unnamed_4_3c640f23(x) == INT_ADD(x, 0));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function DeviceExtension__DEVICE_OBJECT(int) returns (int);
+
+
+//axiom (forall x:int :: {DeviceExtension__DEVICE_OBJECT(x)} DeviceExtension__DEVICE_OBJECT(x) == x + 40);
+axiom (forall x:int :: {DeviceExtension__DEVICE_OBJECT(x)} DeviceExtension__DEVICE_OBJECT(x) == INT_ADD(x, 40));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function DeviceIoControl___unnamed_16_afe81cff(int) returns (int);
+
+
+//axiom (forall x:int :: {DeviceIoControl___unnamed_16_afe81cff(x)} DeviceIoControl___unnamed_16_afe81cff(x) == x + 0);
+axiom (forall x:int :: {DeviceIoControl___unnamed_16_afe81cff(x)} DeviceIoControl___unnamed_16_afe81cff(x) == INT_ADD(x, 0));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function DeviceObject__IO_STACK_LOCATION(int) returns (int);
+
+
+//axiom (forall x:int :: {DeviceObject__IO_STACK_LOCATION(x)} DeviceObject__IO_STACK_LOCATION(x) == x + 20);
+axiom (forall x:int :: {DeviceObject__IO_STACK_LOCATION(x)} DeviceObject__IO_STACK_LOCATION(x) == INT_ADD(x, 20));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function DeviceState__POWER_STATE(int) returns (int);
+
+
+//axiom (forall x:int :: {DeviceState__POWER_STATE(x)} DeviceState__POWER_STATE(x) == x + 0);
+axiom (forall x:int :: {DeviceState__POWER_STATE(x)} DeviceState__POWER_STATE(x) == INT_ADD(x, 0));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function Flags__CM_PARTIAL_RESOURCE_DESCRIPTOR(int) returns (int);
+
+
+//axiom (forall x:int :: {Flags__CM_PARTIAL_RESOURCE_DESCRIPTOR(x)} Flags__CM_PARTIAL_RESOURCE_DESCRIPTOR(x) == x + 2);
+axiom (forall x:int :: {Flags__CM_PARTIAL_RESOURCE_DESCRIPTOR(x)} Flags__CM_PARTIAL_RESOURCE_DESCRIPTOR(x) == INT_ADD(x, 2));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function Information__IO_STATUS_BLOCK(int) returns (int);
+
+
+//axiom (forall x:int :: {Information__IO_STATUS_BLOCK(x)} Information__IO_STATUS_BLOCK(x) == x + 4);
+axiom (forall x:int :: {Information__IO_STATUS_BLOCK(x)} Information__IO_STATUS_BLOCK(x) == INT_ADD(x, 4));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function Initialized_COMMON_DATA(int) returns (int);
+
+
+//axiom (forall x:int :: {Initialized_COMMON_DATA(x)} Initialized_COMMON_DATA(x) == x + 323);
+axiom (forall x:int :: {Initialized_COMMON_DATA(x)} Initialized_COMMON_DATA(x) == INT_ADD(x, 323));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function InterruptDescriptor_COMMON_DATA(int) returns (int);
+
+
+//axiom (forall x:int :: {InterruptDescriptor_COMMON_DATA(x)} InterruptDescriptor_COMMON_DATA(x) == x + 300);
+axiom (forall x:int :: {InterruptDescriptor_COMMON_DATA(x)} InterruptDescriptor_COMMON_DATA(x) == INT_ADD(x, 300));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function InterruptObject_COMMON_DATA(int) returns (int);
+
+
+//axiom (forall x:int :: {InterruptObject_COMMON_DATA(x)} InterruptObject_COMMON_DATA(x) == x + 4);
+axiom (forall x:int :: {InterruptObject_COMMON_DATA(x)} InterruptObject_COMMON_DATA(x) == INT_ADD(x, 4));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function IoStatus__IRP(int) returns (int);
+
+
+//axiom (forall x:int :: {IoStatus__IRP(x)} IoStatus__IRP(x) == x + 24);
+axiom (forall x:int :: {IoStatus__IRP(x)} IoStatus__IRP(x) == INT_ADD(x, 24));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function IsKeyboard_COMMON_DATA(int) returns (int);
+
+
+//axiom (forall x:int :: {IsKeyboard_COMMON_DATA(x)} IsKeyboard_COMMON_DATA(x) == x + 325);
+axiom (forall x:int :: {IsKeyboard_COMMON_DATA(x)} IsKeyboard_COMMON_DATA(x) == INT_ADD(x, 325));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function Item__POWER_UP_WORK_ITEM(int) returns (int);
+
+
+//axiom (forall x:int :: {Item__POWER_UP_WORK_ITEM(x)} Item__POWER_UP_WORK_ITEM(x) == x + 0);
+axiom (forall x:int :: {Item__POWER_UP_WORK_ITEM(x)} Item__POWER_UP_WORK_ITEM(x) == INT_ADD(x, 0));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function KeyboardExtension__GLOBALS(int) returns (int);
+
+
+//axiom (forall x:int :: {KeyboardExtension__GLOBALS(x)} KeyboardExtension__GLOBALS(x) == x + 8);
+axiom (forall x:int :: {KeyboardExtension__GLOBALS(x)} KeyboardExtension__GLOBALS(x) == INT_ADD(x, 8));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function KeyboardPowerIrp__POWER_UP_WORK_ITEM(int) returns (int);
+
+
+//axiom (forall x:int :: {KeyboardPowerIrp__POWER_UP_WORK_ITEM(x)} KeyboardPowerIrp__POWER_UP_WORK_ITEM(x) == x + 8);
+axiom (forall x:int :: {KeyboardPowerIrp__POWER_UP_WORK_ITEM(x)} KeyboardPowerIrp__POWER_UP_WORK_ITEM(x) == INT_ADD(x, 8));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function MajorFunction__IO_STACK_LOCATION(int) returns (int);
+
+
+//axiom (forall x:int :: {MajorFunction__IO_STACK_LOCATION(x)} MajorFunction__IO_STACK_LOCATION(x) == x + 0);
+axiom (forall x:int :: {MajorFunction__IO_STACK_LOCATION(x)} MajorFunction__IO_STACK_LOCATION(x) == INT_ADD(x, 0));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function MinorFunction__IO_STACK_LOCATION(int) returns (int);
+
+
+//axiom (forall x:int :: {MinorFunction__IO_STACK_LOCATION(x)} MinorFunction__IO_STACK_LOCATION(x) == x + 1);
+axiom (forall x:int :: {MinorFunction__IO_STACK_LOCATION(x)} MinorFunction__IO_STACK_LOCATION(x) == INT_ADD(x, 1));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function MouseExtension__GLOBALS(int) returns (int);
+
+
+//axiom (forall x:int :: {MouseExtension__GLOBALS(x)} MouseExtension__GLOBALS(x) == x + 4);
+axiom (forall x:int :: {MouseExtension__GLOBALS(x)} MouseExtension__GLOBALS(x) == INT_ADD(x, 4));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function MousePowerIrp__POWER_UP_WORK_ITEM(int) returns (int);
+
+
+//axiom (forall x:int :: {MousePowerIrp__POWER_UP_WORK_ITEM(x)} MousePowerIrp__POWER_UP_WORK_ITEM(x) == x + 4);
+axiom (forall x:int :: {MousePowerIrp__POWER_UP_WORK_ITEM(x)} MousePowerIrp__POWER_UP_WORK_ITEM(x) == INT_ADD(x, 4));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function OutputBufferLength___unnamed_16_ae81ad04(int) returns (int);
+
+
+//axiom (forall x:int :: {OutputBufferLength___unnamed_16_ae81ad04(x)} OutputBufferLength___unnamed_16_ae81ad04(x) == x + 0);
+axiom (forall x:int :: {OutputBufferLength___unnamed_16_ae81ad04(x)} OutputBufferLength___unnamed_16_ae81ad04(x) == INT_ADD(x, 0));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function OutstandingPowerIrp_COMMON_DATA(int) returns (int);
+
+
+//axiom (forall x:int :: {OutstandingPowerIrp_COMMON_DATA(x)} OutstandingPowerIrp_COMMON_DATA(x) == x + 44);
+axiom (forall x:int :: {OutstandingPowerIrp_COMMON_DATA(x)} OutstandingPowerIrp_COMMON_DATA(x) == INT_ADD(x, 44));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function Overlay___unnamed_48_e2bbfb0b(int) returns (int);
+
+
+//axiom (forall x:int :: {Overlay___unnamed_48_e2bbfb0b(x)} Overlay___unnamed_48_e2bbfb0b(x) == x + 0);
+axiom (forall x:int :: {Overlay___unnamed_48_e2bbfb0b(x)} Overlay___unnamed_48_e2bbfb0b(x) == INT_ADD(x, 0));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function Parameters__IO_STACK_LOCATION(int) returns (int);
+
+
+//axiom (forall x:int :: {Parameters__IO_STACK_LOCATION(x)} Parameters__IO_STACK_LOCATION(x) == x + 4);
+axiom (forall x:int :: {Parameters__IO_STACK_LOCATION(x)} Parameters__IO_STACK_LOCATION(x) == INT_ADD(x, 4));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function PendingReturned__IRP(int) returns (int);
+
+
+//axiom (forall x:int :: {PendingReturned__IRP(x)} PendingReturned__IRP(x) == x + 33);
+axiom (forall x:int :: {PendingReturned__IRP(x)} PendingReturned__IRP(x) == INT_ADD(x, 33));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function PowerCaps__PORT_KEYBOARD_EXTENSION(int) returns (int);
+
+
+//axiom (forall x:int :: {PowerCaps__PORT_KEYBOARD_EXTENSION(x)} PowerCaps__PORT_KEYBOARD_EXTENSION(x) == x + 328);
+axiom (forall x:int :: {PowerCaps__PORT_KEYBOARD_EXTENSION(x)} PowerCaps__PORT_KEYBOARD_EXTENSION(x) == INT_ADD(x, 328));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function PowerFlags__GLOBALS(int) returns (int);
+
+
+//axiom (forall x:int :: {PowerFlags__GLOBALS(x)} PowerFlags__GLOBALS(x) == x + 40);
+axiom (forall x:int :: {PowerFlags__GLOBALS(x)} PowerFlags__GLOBALS(x) == INT_ADD(x, 40));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function PowerSpinLock__CONTROLLER_DATA(int) returns (int);
+
+
+//axiom (forall x:int :: {PowerSpinLock__CONTROLLER_DATA(x)} PowerSpinLock__CONTROLLER_DATA(x) == x + 116);
+axiom (forall x:int :: {PowerSpinLock__CONTROLLER_DATA(x)} PowerSpinLock__CONTROLLER_DATA(x) == INT_ADD(x, 116));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function PowerState_COMMON_DATA(int) returns (int);
+
+
+//axiom (forall x:int :: {PowerState_COMMON_DATA(x)} PowerState_COMMON_DATA(x) == x + 48);
+axiom (forall x:int :: {PowerState_COMMON_DATA(x)} PowerState_COMMON_DATA(x) == INT_ADD(x, 48));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function Power___unnamed_16_afe81cff(int) returns (int);
+
+
+//axiom (forall x:int :: {Power___unnamed_16_afe81cff(x)} Power___unnamed_16_afe81cff(x) == x + 0);
+axiom (forall x:int :: {Power___unnamed_16_afe81cff(x)} Power___unnamed_16_afe81cff(x) == INT_ADD(x, 0));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function RemoveLock_COMMON_DATA(int) returns (int);
+
+
+//axiom (forall x:int :: {RemoveLock_COMMON_DATA(x)} RemoveLock_COMMON_DATA(x) == x + 20);
+axiom (forall x:int :: {RemoveLock_COMMON_DATA(x)} RemoveLock_COMMON_DATA(x) == INT_ADD(x, 20));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function ShutdownType_COMMON_DATA(int) returns (int);
+
+
+//axiom (forall x:int :: {ShutdownType_COMMON_DATA(x)} ShutdownType_COMMON_DATA(x) == x + 56);
+axiom (forall x:int :: {ShutdownType_COMMON_DATA(x)} ShutdownType_COMMON_DATA(x) == INT_ADD(x, 56));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function ShutdownType___unnamed_16_57972375(int) returns (int);
+
+
+//axiom (forall x:int :: {ShutdownType___unnamed_16_57972375(x)} ShutdownType___unnamed_16_57972375(x) == x + 12);
+axiom (forall x:int :: {ShutdownType___unnamed_16_57972375(x)} ShutdownType___unnamed_16_57972375(x) == INT_ADD(x, 12));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function Started_COMMON_DATA(int) returns (int);
+
+
+//axiom (forall x:int :: {Started_COMMON_DATA(x)} Started_COMMON_DATA(x) == x + 326);
+axiom (forall x:int :: {Started_COMMON_DATA(x)} Started_COMMON_DATA(x) == INT_ADD(x, 326));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function State___unnamed_16_57972375(int) returns (int);
+
+
+//axiom (forall x:int :: {State___unnamed_16_57972375(x)} State___unnamed_16_57972375(x) == x + 8);
+axiom (forall x:int :: {State___unnamed_16_57972375(x)} State___unnamed_16_57972375(x) == INT_ADD(x, 8));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function Status___unnamed_4_d4b13373(int) returns (int);
+
+
+//axiom (forall x:int :: {Status___unnamed_4_d4b13373(x)} Status___unnamed_4_d4b13373(x) == x + 0);
+axiom (forall x:int :: {Status___unnamed_4_d4b13373(x)} Status___unnamed_4_d4b13373(x) == INT_ADD(x, 0));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function SysButtonEventIrp__PORT_KEYBOARD_EXTENSION(int) returns (int);
+
+
+//axiom (forall x:int :: {SysButtonEventIrp__PORT_KEYBOARD_EXTENSION(x)} SysButtonEventIrp__PORT_KEYBOARD_EXTENSION(x) == x + 332);
+axiom (forall x:int :: {SysButtonEventIrp__PORT_KEYBOARD_EXTENSION(x)} SysButtonEventIrp__PORT_KEYBOARD_EXTENSION(x) == INT_ADD(x, 332));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function SysButtonSpinLock__PORT_KEYBOARD_EXTENSION(int) returns (int);
+
+
+//axiom (forall x:int :: {SysButtonSpinLock__PORT_KEYBOARD_EXTENSION(x)} SysButtonSpinLock__PORT_KEYBOARD_EXTENSION(x) == x + 368);
+axiom (forall x:int :: {SysButtonSpinLock__PORT_KEYBOARD_EXTENSION(x)} SysButtonSpinLock__PORT_KEYBOARD_EXTENSION(x) == INT_ADD(x, 368));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function SystemBuffer___unnamed_4_99f86ad5(int) returns (int);
+
+
+//axiom (forall x:int :: {SystemBuffer___unnamed_4_99f86ad5(x)} SystemBuffer___unnamed_4_99f86ad5(x) == x + 0);
+axiom (forall x:int :: {SystemBuffer___unnamed_4_99f86ad5(x)} SystemBuffer___unnamed_4_99f86ad5(x) == INT_ADD(x, 0));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function SystemState_COMMON_DATA(int) returns (int);
+
+
+//axiom (forall x:int :: {SystemState_COMMON_DATA(x)} SystemState_COMMON_DATA(x) == x + 52);
+axiom (forall x:int :: {SystemState_COMMON_DATA(x)} SystemState_COMMON_DATA(x) == INT_ADD(x, 52));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function SystemState__POWER_STATE(int) returns (int);
+
+
+//axiom (forall x:int :: {SystemState__POWER_STATE(x)} SystemState__POWER_STATE(x) == x + 0);
+axiom (forall x:int :: {SystemState__POWER_STATE(x)} SystemState__POWER_STATE(x) == INT_ADD(x, 0));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function Tail__IRP(int) returns (int);
+
+
+//axiom (forall x:int :: {Tail__IRP(x)} Tail__IRP(x) == x + 64);
+axiom (forall x:int :: {Tail__IRP(x)} Tail__IRP(x) == INT_ADD(x, 64));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function TopOfStack_COMMON_DATA(int) returns (int);
+
+
+//axiom (forall x:int :: {TopOfStack_COMMON_DATA(x)} TopOfStack_COMMON_DATA(x) == x + 12);
+axiom (forall x:int :: {TopOfStack_COMMON_DATA(x)} TopOfStack_COMMON_DATA(x) == INT_ADD(x, 12));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function Type___unnamed_16_57972375(int) returns (int);
+
+
+//axiom (forall x:int :: {Type___unnamed_16_57972375(x)} Type___unnamed_16_57972375(x) == x + 4);
+axiom (forall x:int :: {Type___unnamed_16_57972375(x)} Type___unnamed_16_57972375(x) == INT_ADD(x, 4));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function __unnamed_12_41c62b26___unnamed_40_32307de2(int) returns (int);
+
+
+//axiom (forall x:int :: {__unnamed_12_41c62b26___unnamed_40_32307de2(x)} __unnamed_12_41c62b26___unnamed_40_32307de2(x) == x + 24);
+axiom (forall x:int :: {__unnamed_12_41c62b26___unnamed_40_32307de2(x)} __unnamed_12_41c62b26___unnamed_40_32307de2(x) == INT_ADD(x, 24));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function __unnamed_4_3c640f23___unnamed_12_41c62b26(int) returns (int);
+
+
+//axiom (forall x:int :: {__unnamed_4_3c640f23___unnamed_12_41c62b26(x)} __unnamed_4_3c640f23___unnamed_12_41c62b26(x) == x + 8);
+axiom (forall x:int :: {__unnamed_4_3c640f23___unnamed_12_41c62b26(x)} __unnamed_4_3c640f23___unnamed_12_41c62b26(x) == INT_ADD(x, 8));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+function __unnamed_4_d4b13373__IO_STATUS_BLOCK(int) returns (int);
+
+
+//axiom (forall x:int :: {__unnamed_4_d4b13373__IO_STATUS_BLOCK(x)} __unnamed_4_d4b13373__IO_STATUS_BLOCK(x) == x + 0);
+axiom (forall x:int :: {__unnamed_4_d4b13373__IO_STATUS_BLOCK(x)} __unnamed_4_d4b13373__IO_STATUS_BLOCK(x) == INT_ADD(x, 0));
+//adding this additional axiom since to show Array(x, 1, n)[f(x)], we need f(x) to be a PLUS
+
+
+///////////////////////////////////
+// will be replaced by:
+// "//" when using bv mode
+// "" when using int mode
+// main reason is to avoid using bv for constants
+// or avoid translating lines that are complex or unsound
+//////////////////////////////////
+
+////////////////////////////////////////////
+/////// functions for int type /////////////
+// Theorem prover does not see INT_ADD etc.
+////////////////////////////////////////////
+function {:inline true} INT_EQ(x:int, y:int) returns (bool) {x == y}
+function {:inline true} INT_NEQ(x:int, y:int) returns (bool) {x != y}
+
+function {:inline true} INT_ADD(x:int, y:int) returns (int) {x + y}
+function {:inline true} INT_SUB(x:int, y:int) returns (int) {x - y}
+function {:inline true} INT_MULT(x:int, y:int) returns (int) {x * y}
+function {:inline true} INT_DIV(x:int, y:int) returns (int) {x / y}
+function {:inline true} INT_LT(x:int, y:int) returns (bool) {x < y}
+function {:inline true} INT_ULT(x:int, y:int) returns (bool) {x < y}
+function {:inline true} INT_LEQ(x:int, y:int) returns (bool) {x <= y}
+function {:inline true} INT_ULEQ(x:int, y:int) returns (bool) {x <= y}
+function {:inline true} INT_GT(x:int, y:int) returns (bool) {x > y}
+function {:inline true} INT_UGT(x:int, y:int) returns (bool) {x > y}
+function {:inline true} INT_GEQ(x:int, y:int) returns (bool) {x >= y}
+function {:inline true} INT_UGEQ(x:int, y:int) returns (bool) {x >= y}
+
+
+////////////////////////////////////////////
+/////// functions for bv32 type /////////////
+// Theorem prover does not see INT_ADD etc.
+// we are treating unsigned ops now
+////////////////////////////////////////////
+function {:inline true} BV32_EQ(x:bv32, y:bv32) returns (bool) {x == y}
+function {:inline true} BV32_NEQ(x:bv32, y:bv32) returns (bool) {x != y}
+
+function {:bvbuiltin "bvadd"} BV32_ADD(x:bv32, y:bv32) returns (bv32);
+function {:bvbuiltin "bvsub"} BV32_SUB(x:bv32, y:bv32) returns (bv32);
+function {:bvbuiltin "bvmul"} BV32_MULT(x:bv32, y:bv32) returns (bv32);
+function {:bvbuiltin "bvudiv"} BV32_DIV(x:bv32, y:bv32) returns (bv32);
+function {:bvbuiltin "bvult"} BV32_ULT(x:bv32, y:bv32) returns (bool);
+function {:bvbuiltin "bvslt"} BV32_LT(x:bv32, y:bv32) returns (bool);
+function {:bvbuiltin "bvule"} BV32_ULEQ(x:bv32, y:bv32) returns (bool);
+function {:bvbuiltin "bvsle"} BV32_LEQ(x:bv32, y:bv32) returns (bool);
+function {:bvbuiltin "bvugt"} BV32_UGT(x:bv32, y:bv32) returns (bool);
+function {:bvbuiltin "bvsgt"} BV32_GT(x:bv32, y:bv32) returns (bool);
+function {:bvbuiltin "bvuge"} BV32_UGEQ(x:bv32, y:bv32) returns (bool);
+function {:bvbuiltin "bvsge"} BV32_GEQ(x:bv32, y:bv32) returns (bool);
+
+//what about bitwise ops {BIT_AND, BIT_OR, BIT_NOT, ..}
+//only enabled with bv theory
+// function {:bvbuiltin "bvand"} BIT_BAND(a:int, b:int) returns (x:int);
+// function {:bvbuiltin "bvor"} BIT_BOR(a:int, b:int) returns (x:int);
+// function {:bvbuiltin "bvxor"} BIT_BXOR(a:int, b:int) returns (x:int);
+// function {:bvbuiltin "bvnot"} BIT_BNOT(a:int) returns (x:int);
+
+//////////////////////////////////
+// Generic C Arithmetic operations
+/////////////////////////////////
+
+//Is this sound for bv32?
+function MINUS_BOTH_PTR_OR_BOTH_INT(a:int, b:int, size:int) returns (int);
+ axiom (forall a:int, b:int, size:int :: {MINUS_BOTH_PTR_OR_BOTH_INT(a,b,size)}
+//size * MINUS_BOTH_PTR_OR_BOTH_INT(a,b,size) <= a - b && a - b < size * (MINUS_BOTH_PTR_OR_BOTH_INT(a,b,size) + 1));
+ INT_LEQ( INT_MULT(size, MINUS_BOTH_PTR_OR_BOTH_INT(a,b,size)), INT_SUB(a, b)) && INT_LT( INT_SUB(a, b), INT_MULT(size, (INT_ADD(MINUS_BOTH_PTR_OR_BOTH_INT(a,b,size), 1)))));
+
+//we just keep this axiom for size = 1
+axiom (forall a:int, b:int, size:int :: {MINUS_BOTH_PTR_OR_BOTH_INT(a,b,size)} MINUS_BOTH_PTR_OR_BOTH_INT(a,b,1) == INT_SUB(a,b));
+
+
+function MINUS_LEFT_PTR(a:int, a_size:int, b:int) returns (int);
+//axiom(forall a:int, a_size:int, b:int :: {MINUS_LEFT_PTR(a,a_size,b)} MINUS_LEFT_PTR(a,a_size,b) == a - a_size * b);
+axiom(forall a:int, a_size:int, b:int :: {MINUS_LEFT_PTR(a,a_size,b)} MINUS_LEFT_PTR(a,a_size,b) == INT_SUB(a, INT_MULT(a_size, b)));
+
+
+function PLUS(a:int, a_size:int, b:int) returns (int);
+//axiom (forall a:int, a_size:int, b:int :: {PLUS(a,a_size,b)} PLUS(a,a_size,b) == a + a_size * b);
+axiom (forall a:int, a_size:int, b:int :: {PLUS(a,a_size,b)} PLUS(a,a_size,b) == INT_ADD(a, INT_MULT(a_size, b)));
+
+function MULT(a:int, b:int) returns (int); // a*b
+//axiom(forall a:int, b:int :: {MULT(a,b)} MULT(a,b) == a * b);
+axiom(forall a:int, b:int :: {MULT(a,b)} MULT(a,b) == INT_MULT(a, b));
+
+function DIV(a:int, b:int) returns (int); // a/b
+
+// Not sure if these axioms hold for BV too, just commet them for BV
+
+
+
+//uninterpreted binary op
+function BINARY_BOTH_INT(a:int, b:int) returns (int);
+
+
+//////////////////////////////////////////
+//// Bitwise ops (uninterpreted, used with int)
+//////////////////////////////////////////
+
+
+ function BIT_BAND(a:int, b:int) returns (x:int);
+
+
+ function BIT_BOR(a:int, b:int) returns (x:int);
+ function BIT_BXOR(a:int, b:int) returns (x:int);
+ function BIT_BNOT(a:int) returns (int);
+
+
+
+
+function LIFT(a:bool) returns (int);
+axiom(forall a:bool :: {LIFT(a)} a <==> LIFT(a) != 0);
+
+function PTR_NOT(a:int) returns (int);
+axiom(forall a:int :: {PTR_NOT(a)} a == 0 ==> PTR_NOT(a) != 0);
+axiom(forall a:int :: {PTR_NOT(a)} a != 0 ==> PTR_NOT(a) == 0);
+
+function NULL_CHECK(a:int) returns (int);
+axiom(forall a:int :: {NULL_CHECK(a)} a == 0 ==> NULL_CHECK(a) != 0);
+axiom(forall a:int :: {NULL_CHECK(a)} a != 0 ==> NULL_CHECK(a) == 0);
+
+procedure havoc_assert(i:int);
+requires (i != 0);
+
+procedure havoc_assume(i:int);
+ensures (i != 0);
+
+procedure __HAVOC_free(a:int);
+
+function NewAlloc(x:int, y:int) returns (z:int);
+
+//Comments below make HAVOC_malloc deterministic
+
+procedure __HAVOC_malloc(obj_size:int) returns (new:int);
+//requires obj_size >= 0;
+free requires INT_GEQ(obj_size, 0);
+modifies alloc;
+ensures new == old(alloc);
+//ensures alloc > new + obj_size;
+ensures INT_GT(alloc, INT_ADD(new, obj_size));
+//ensures alloc == NewAlloc(old(alloc), obj_size);
+
+
+
+
+procedure _strdup(str:int) returns (new:int);
+
+procedure _xstrcasecmp(a0:int, a1:int) returns (ret:int);
+
+procedure _xstrcmp(a0:int, a1:int) returns (ret:int);
+
+
+/*
+//bv functions
+function bv8ToInt(bv8) returns (int);
+function bv16ToInt(bv16) returns (int);
+function bv32ToInt(bv32) returns (int);
+function bv64ToInt(bv64) returns (int);
+
+function intToBv8(int) returns (bv8);
+function intToBv16(int) returns (bv16);
+function intToBv32(int) returns (bv32);
+function intToBv64(int) returns (bv64);
+
+axiom(forall a:int :: {intToBv8(a)} bv8ToInt(intToBv8(a)) == a);
+axiom(forall a:int :: {intToBv16(a)} bv16ToInt(intToBv16(a)) == a);
+axiom(forall a:int :: {intToBv32(a)} bv32ToInt(intToBv32(a)) == a);
+axiom(forall a:int :: {intToBv64(a)} bv64ToInt(intToBv64(a)) == a);
+
+axiom(forall b:bv8 :: {bv8ToInt(b)} intToBv8(bv8ToInt(b)) == b);
+axiom(forall b:bv16 :: {bv16ToInt(b)} intToBv16(bv16ToInt(b)) == b);
+axiom(forall b:bv32 :: {bv32ToInt(b)} intToBv32(bv32ToInt(b)) == b);
+axiom(forall b:bv64 :: {bv64ToInt(b)} intToBv64(bv64ToInt(b)) == b);
+*/
+
+
+
+var Res_0_COMPLETED : [int]int;
+var Res_1_COMPLETED : [int]int;
+var Res_s_1_COMPLETED : [int]int;
+var Res_KERNEL_SOURCE:[int]int;
+var Res_0_LOCK : [int]int;
+var Res_1_LOCK : [int]int;
+var Res_s_1_LOCK : [int]int;
+var Res_PROBED:[int]int;
+
+//Pointer constants
+
+//Function pointer constants
+
+
+const unique Globals : int;
+axiom(Globals != 0);
+const unique I8xPowerUpToD0Complete : int;
+axiom(I8xPowerUpToD0Complete != 0);
+const unique I8xReinitializeHardware : int;
+axiom(I8xReinitializeHardware != 0);
+const unique I8xSysButtonCancelRoutine : int;
+axiom(I8xSysButtonCancelRoutine != 0);
+var cancelLockStatus_0 : int;
+var cancelLockStatus_1 : int;
+var cancelLockStatus_s_1 : int;
+
+const unique hdevobj : int;
+axiom(hdevobj != 0);
+// the set of constants for 64 bit integers that Boogie doesn't parse
+const unique BOOGIE_LARGE_INT_2147483648:int;
+
+
+
+procedure ExFreePoolWithTag(a0:int, a1:int);
+
+
+
+procedure IO_COMPLETION_ROUTINE(a0:int, a1:int, a2:int) returns (ret:int);
+
+
+
+procedure IoAcquireRemoveLockEx(a0:int, a1:int, a2:int, a3:int, a4:int) returns (ret:int);
+
+
+
+procedure IoAllocateWorkItem(a0:int) returns (ret:int);
+
+
+
+procedure IoDisconnectInterrupt(a0:int);
+
+
+
+procedure IoFreeWorkItem(a0:int);
+
+
+
+procedure IoQueueWorkItem(a0:int, a1:int, a2:int, a3:int);
+
+
+
+procedure IoReleaseRemoveLockEx(a0:int, a1:int, a2:int);
+
+
+
+procedure PoSetPowerState(a0:int, a1:int, a2:int) returns (ret:int);
+
+
+
+procedure PoStartNextPowerIrp(a0:int);
+
+
+
+procedure __PREfastPagedCode();
+
+
+
+procedure __storm_assert_dummy();
+
+
+
+procedure __storm_atomic_begin_dummy();
+
+
+
+procedure __storm_atomic_end_dummy();
+
+
+
+procedure memcpy(a0:int, a1:int, a2:int) returns (ret:int);
+
+
+
+procedure memset(a0:int, a1:int, a2:int) returns (ret:int);
+
+
+
+
+
+
+procedure storm_nondet() returns (ret:int);
+
+
+
+procedure storm_main();
+ free requires 0 < alloc;
+ free requires 0 < tid;
+ free requires tid < tidCount;
+ requires INT_LT(PLUS(hdevobj, 1, 184), alloc);
+ modifies tidCount, alloc, raiseException, cancelLockStatus_s_1, __storm_init, __storm_atomic, errorReached, cancelLockStatus_0, cancelLockStatus_1, __storm_thread_done_2, __storm_thread_done_1, __storm_thread_done_0, tid, k, Res_0_COMPLETED, Res_1_COMPLETED, Res_KERNEL_SOURCE, Res_0_LOCK, Res_1_LOCK, Res_PROBED, Mem_0_T.CancelRoutine__IRP, Mem_1_T.CancelRoutine__IRP, Mem_0_T.Cancel__IRP, Mem_1_T.Cancel__IRP, Mem_0_T.CurrentStackLocation___unnamed_4_3c640f23, Mem_1_T.CurrentStackLocation___unnamed_4_3c640f23, Mem_0_T.DeviceExtension__DEVICE_OBJECT, Mem_1_T.DeviceExtension__DEVICE_OBJECT, Mem_0_T.DeviceObject__IO_STACK_LOCATION, Mem_1_T.DeviceObject__IO_STACK_LOCATION;
+
+
+
+implementation storm_main()
+{
+ var inline$IoGetNextIrpStackLocation$0$$result.IoGetNextIrpStackLocation$23462.0$1$: int, inline$storm_IoSetCancelRoutine$0$$pirp$1$384.10$storm_IoSetCancelRoutine: int, inline$I8xKeyboardGetSysButtonEvent$0$$result.storm_nondet$162.31$3$: int, inline$storm_IoSetCancelRoutine$0$$pirp$1$384.10$storm_IoSetCancelRoutine_.1: int, inline$storm_IoAllocateIrp$0$$result.malloc$284.0$3$: int, inline$I8xKeyboardGetSysButtonEvent$0$myVar_0: int, inline$storm_IoAllocateIrp$0$$StackSize$1$276.11$storm_IoAllocateIrp_.1: int, k_old_1: int, k_old_0: int, inline$IoSetNextIrpStackLocation$0$myVar_0: int, inline$storm_IoCancelIrp$0$myNondetVar_0: int, inline$storm_IoAllocateIrp$0$$irpSp$4$281.21$storm_IoAllocateIrp: int, inline$I8xKeyboardGetSysButtonEvent$0$$Irp$2$140.9$I8xKeyboardGetSysButtonEvent_.1: int, inline$I8xDeviceControl$0$$Irp$2$465.12$I8xDeviceControl_.1: int, inline$storm_IoAllocateIrp$0$$createdIrp$3$280.7$storm_IoAllocateIrp: int, inline$IoGetCurrentIrpStackLocation$0$$result.IoGetCurrentIrpStackLocation$23297.0$1$: int, inline$I8xCompleteSysButtonIrp$0$$Irp$1$50.9$I8xCompleteSysButtonIrp: int, tid_old_1: int, inline$storm_IoCancelIrp$0$$result.storm_nondet$365.4$2$: int, tid_old_0: int, inline$storm_IoAllocateIrp$0$$result.IoGetNextIrpStackLocation$284.0$6$: int, inline$IoGetNextIrpStackLocation$0$$Irp$1$23463.14$IoGetNextIrpStackLocation: int, inline$cancel$0$$Irp$1$64.17$cancel: int, inline$storm_IoCompleteRequest$0$$pirp$1$339.10$storm_IoCompleteRequest: int, inline$storm_IoAllocateIrp$0$$malloc.arg.1$5$: int, inline$storm_IoCompleteRequest$0$$result.storm_nondet$343.2$1$: int, inline$storm_IoCompleteRequest$0$$pirp$1$339.10$storm_IoCompleteRequest_.1: int, inline$I8xDeviceControl$0$$Irp$2$465.12$I8xDeviceControl: int, inline$storm_IoSetCancelRoutine$0$$result.storm_nondet$389.2$2$: int, inline$IoSetNextIrpStackLocation$0$tempBoogie0: int, inline$storm_IoAcquireCancelSpinLock$0$$result.storm_getThreadID$185.29$1$: int, inline$cancel$0$$Irp$1$64.17$cancel_.1: int, $irp$1$91.7$storm_main: int, inline$storm_getThreadID$0$tidRet: int, inline$IoGetNextIrpStackLocation$0$$Irp$1$23463.14$IoGetNextIrpStackLocation_.1: int, $result.storm_IoAllocateIrp$96.21$1$: int, inline$IoGetCurrentIrpStackLocation$0$myVar_0: int, inline$storm_IoAllocateIrp$0$$result.malloc$284.0$4$: int, tidCount_old: int, inline$IoSetNextIrpStackLocation$0$myNondetVar_0: int, inline$I8xKeyboardGetSysButtonEvent$0$$Irp$2$140.9$I8xKeyboardGetSysButtonEvent: int, inline$storm_IoSetCancelRoutine$0$$CancelRoutine$2$385.20$storm_IoSetCancelRoutine: int, inline$storm_IoCancelIrp$0$$oldCancelRoutine$2$352.17$storm_IoCancelIrp: int, inline$I8xCompleteSysButtonIrp$0$$Irp$1$50.9$I8xCompleteSysButtonIrp_.1: int, inline$storm_IoCancelIrp$0$$Irp$1$349.10$storm_IoCancelIrp: int, inline$storm_IoSetCancelRoutine$0$$CancelRoutine$2$385.20$storm_IoSetCancelRoutine_.1: int, inline$storm_IoAcquireCancelSpinLock$0$$tid$2$185.6$storm_IoAcquireCancelSpinLock: int, inline$storm_IoAllocateIrp$0$$StackSize$1$276.11$storm_IoAllocateIrp: int, inline$dispatch$0$$Irp$1$8.19$dispatch: int, $result.IoGetCurrentIrpStackLocation$99.38$2$: int, inline$I8xKeyboardGetSysButtonEvent$0$myNondetVar_0: int, inline$IoGetNextIrpStackLocation$0$myVar_0: int, inline$storm_IoAllocateIrp$0$$result.storm_IoAllocateIrp$275.0$1$: int, inline$I8xKeyboardGetSysButtonEvent$0$$result.storm_nondet$173.41$4$: int, inline$IoGetCurrentIrpStackLocation$0$$Irp$1$23298.14$IoGetCurrentIrpStackLocation_.1: int, inline$I8xKeyboardGetSysButtonEvent$0$$status$5$144.24$I8xKeyboardGetSysButtonEvent: int, $irpSp$2$92.21$storm_main: int, inline$IoGetCurrentIrpStackLocation$0$$Irp$1$23298.14$IoGetCurrentIrpStackLocation: int, inline$storm_IoAllocateIrp$0$$result.storm_nondet$282.22$2$: int, inline$storm_IoCancelIrp$0$myVar_0: int, inline$storm_IoCancelIrp$0$$Irp$1$349.10$storm_IoCancelIrp_.1: int, inline$dispatch$0$$Irp$1$8.19$dispatch_.1: int, inline$IoSetNextIrpStackLocation$0$$Irp$1$23862.16$IoSetNextIrpStackLocation: int, inline$IoSetNextIrpStackLocation$0$$Irp$1$23862.16$IoSetNextIrpStackLocation_.1: int, inline$storm_IoCancelIrp$0$myNondetVar_1: int;
+
+ start#1:
+ assume Res_1_COMPLETED == Res_s_1_COMPLETED;
+ assume Res_1_LOCK == Res_s_1_LOCK;
+ assume Mem_1_T.CancelRoutine__IRP == Mem_s_1_T.CancelRoutine__IRP;
+ assume Mem_1_T.Cancel__IRP == Mem_s_1_T.Cancel__IRP;
+ assume Mem_1_T.CurrentStackLocation___unnamed_4_3c640f23 == Mem_s_1_T.CurrentStackLocation___unnamed_4_3c640f23;
+ assume Mem_1_T.DeviceExtension__DEVICE_OBJECT == Mem_s_1_T.DeviceExtension__DEVICE_OBJECT;
+ assume Mem_1_T.DeviceObject__IO_STACK_LOCATION == Mem_s_1_T.DeviceObject__IO_STACK_LOCATION;
+ assume cancelLockStatus_1 == cancelLockStatus_s_1;
+ __storm_thread_done_0 := false;
+ __storm_thread_done_1 := false;
+ __storm_thread_done_2 := false;
+ k := 0;
+ errorReached := false;
+ __storm_atomic := false;
+ __storm_init := false;
+ goto label_3#1;
+
+ label_3#1:
+ goto label_4#1;
+
+ label_4#1:
+ goto label_5#1;
+
+ label_5#1:
+ goto anon10_Then#1, anon10_Else#1;
+
+ anon10_Else#1:
+ assume k != 0;
+ goto anon11_Then#1, anon11_Else#1;
+
+ anon11_Else#1:
+ assume k != 1;
+ goto anon2#1;
+
+ anon11_Then#1:
+ assume k == 1;
+ cancelLockStatus_1 := 0;
+ goto anon2#1;
+
+ anon10_Then#1:
+ assume k == 0;
+ cancelLockStatus_0 := 0;
+ goto anon2#1;
+
+ anon2#1:
+ call contextSwitch();
+ goto label_6#1;
+
+ label_6#1:
+ goto inline$storm_IoAllocateIrp$0$Entry#1;
+
+ inline$storm_IoAllocateIrp$0$Entry#1:
+ inline$storm_IoAllocateIrp$0$$StackSize$1$276.11$storm_IoAllocateIrp_.1 := 2;
+ goto inline$storm_IoAllocateIrp$0$start#1;
+
+ inline$storm_IoAllocateIrp$0$start#1:
+ inline$storm_IoAllocateIrp$0$$StackSize$1$276.11$storm_IoAllocateIrp := inline$storm_IoAllocateIrp$0$$StackSize$1$276.11$storm_IoAllocateIrp_.1;
+ goto inline$storm_IoAllocateIrp$0$label_3#1;
+
+ inline$storm_IoAllocateIrp$0$label_3#1:
+ goto inline$storm_IoAllocateIrp$0$label_4#1;
+
+ inline$storm_IoAllocateIrp$0$label_4#1:
+ goto inline$storm_IoAllocateIrp$0$label_5#1;
+
+ inline$storm_IoAllocateIrp$0$label_5#1:
+ call inline$storm_IoAllocateIrp$0$$result.storm_nondet$282.22$2$ := storm_nondet();
+ goto inline$storm_IoAllocateIrp$0$label_8#1;
+
+ inline$storm_IoAllocateIrp$0$label_8#1:
+ goto inline$storm_IoAllocateIrp$0$label_8_case_0#1, inline$storm_IoAllocateIrp$0$label_8_case_1#1;
+
+ inline$storm_IoAllocateIrp$0$label_8_case_1#1:
+ assume inline$storm_IoAllocateIrp$0$$result.storm_nondet$282.22$2$ == 0;
+ goto inline$storm_IoAllocateIrp$0$label_10#1;
+
+ inline$storm_IoAllocateIrp$0$label_10#1:
+ __storm_atomic := true;
+ goto inline$storm_IoAllocateIrp$0$label_13#1;
+
+ inline$storm_IoAllocateIrp$0$label_13#1:
+ call inline$storm_IoAllocateIrp$0$$result.malloc$284.0$3$ := __HAVOC_malloc(112);
+ goto inline$storm_IoAllocateIrp$0$label_16#1;
+
+ inline$storm_IoAllocateIrp$0$label_16#1:
+ inline$storm_IoAllocateIrp$0$$createdIrp$3$280.7$storm_IoAllocateIrp := inline$storm_IoAllocateIrp$0$$result.malloc$284.0$3$;
+ goto inline$storm_IoAllocateIrp$0$label_17#1;
+
+ inline$storm_IoAllocateIrp$0$label_17#1:
+ goto inline$storm_IoAllocateIrp$0$anon14_Then#1, inline$storm_IoAllocateIrp$0$anon14_Else#1;
+
+ inline$storm_IoAllocateIrp$0$anon14_Else#1:
+ assume k != 0;
+ goto inline$storm_IoAllocateIrp$0$anon15_Then#1, inline$storm_IoAllocateIrp$0$anon15_Else#1;
+
+ inline$storm_IoAllocateIrp$0$anon15_Else#1:
+ assume k != 1;
+ goto inline$storm_IoAllocateIrp$0$anon2#1;
+
+ inline$storm_IoAllocateIrp$0$anon15_Then#1:
+ assume k == 1;
+ Mem_1_T.Cancel__IRP := Mem_1_T.Cancel__IRP[Cancel__IRP(inline$storm_IoAllocateIrp$0$$createdIrp$3$280.7$storm_IoAllocateIrp) := 0];
+ goto inline$storm_IoAllocateIrp$0$anon2#1;
+
+ inline$storm_IoAllocateIrp$0$anon14_Then#1:
+ assume k == 0;
+ Mem_0_T.Cancel__IRP := Mem_0_T.Cancel__IRP[Cancel__IRP(inline$storm_IoAllocateIrp$0$$createdIrp$3$280.7$storm_IoAllocateIrp) := 0];
+ goto inline$storm_IoAllocateIrp$0$anon2#1;
+
+ inline$storm_IoAllocateIrp$0$anon2#1:
+ call contextSwitch();
+ goto inline$storm_IoAllocateIrp$0$label_18#1;
+
+ inline$storm_IoAllocateIrp$0$label_18#1:
+ goto inline$storm_IoAllocateIrp$0$anon16_Then#1, inline$storm_IoAllocateIrp$0$anon16_Else#1;
+
+ inline$storm_IoAllocateIrp$0$anon16_Else#1:
+ assume k != 0;
+ goto inline$storm_IoAllocateIrp$0$anon17_Then#1, inline$storm_IoAllocateIrp$0$anon17_Else#1;
+
+ inline$storm_IoAllocateIrp$0$anon17_Else#1:
+ assume k != 1;
+ goto inline$storm_IoAllocateIrp$0$anon5#1;
+
+ inline$storm_IoAllocateIrp$0$anon17_Then#1:
+ assume k == 1;
+ Mem_1_T.CancelRoutine__IRP := Mem_1_T.CancelRoutine__IRP[CancelRoutine__IRP(inline$storm_IoAllocateIrp$0$$createdIrp$3$280.7$storm_IoAllocateIrp) := 0];
+ goto inline$storm_IoAllocateIrp$0$anon5#1;
+
+ inline$storm_IoAllocateIrp$0$anon16_Then#1:
+ assume k == 0;
+ Mem_0_T.CancelRoutine__IRP := Mem_0_T.CancelRoutine__IRP[CancelRoutine__IRP(inline$storm_IoAllocateIrp$0$$createdIrp$3$280.7$storm_IoAllocateIrp) := 0];
+ goto inline$storm_IoAllocateIrp$0$anon5#1;
+
+ inline$storm_IoAllocateIrp$0$anon5#1:
+ call contextSwitch();
+ goto inline$storm_IoAllocateIrp$0$label_19#1;
+
+ inline$storm_IoAllocateIrp$0$label_19#1:
+ goto inline$storm_IoAllocateIrp$0$anon18_Then#1, inline$storm_IoAllocateIrp$0$anon18_Else#1;
+
+ inline$storm_IoAllocateIrp$0$anon18_Else#1:
+ assume k != 0;
+ goto inline$storm_IoAllocateIrp$0$anon19_Then#1, inline$storm_IoAllocateIrp$0$anon19_Else#1;
+
+ inline$storm_IoAllocateIrp$0$anon19_Else#1:
+ assume k != 1;
+ goto inline$storm_IoAllocateIrp$0$anon8#1;
+
+ inline$storm_IoAllocateIrp$0$anon19_Then#1:
+ assume k == 1;
+ Res_1_COMPLETED := Res_1_COMPLETED[inline$storm_IoAllocateIrp$0$$createdIrp$3$280.7$storm_IoAllocateIrp := 0];
+ goto inline$storm_IoAllocateIrp$0$anon8#1;
+
+ inline$storm_IoAllocateIrp$0$anon18_Then#1:
+ assume k == 0;
+ Res_0_COMPLETED := Res_0_COMPLETED[inline$storm_IoAllocateIrp$0$$createdIrp$3$280.7$storm_IoAllocateIrp := 0];
+ goto inline$storm_IoAllocateIrp$0$anon8#1;
+
+ inline$storm_IoAllocateIrp$0$anon8#1:
+ call contextSwitch();
+ goto inline$storm_IoAllocateIrp$0$label_20#1;
+
+ inline$storm_IoAllocateIrp$0$label_20#1:
+ assume INT_LT(0, inline$storm_IoAllocateIrp$0$$StackSize$1$276.11$storm_IoAllocateIrp);
+ goto inline$storm_IoAllocateIrp$0$label_21#1;
+
+ inline$storm_IoAllocateIrp$0$label_21#1:
+ inline$storm_IoAllocateIrp$0$$malloc.arg.1$5$ := MULT(inline$storm_IoAllocateIrp$0$$StackSize$1$276.11$storm_IoAllocateIrp, 36);
+ goto inline$storm_IoAllocateIrp$0$label_22#1;
+
+ inline$storm_IoAllocateIrp$0$label_22#1:
+ call inline$storm_IoAllocateIrp$0$$result.malloc$284.0$4$ := __HAVOC_malloc(inline$storm_IoAllocateIrp$0$$malloc.arg.1$5$);
+ goto inline$storm_IoAllocateIrp$0$label_25#1;
+
+ inline$storm_IoAllocateIrp$0$label_25#1:
+ inline$storm_IoAllocateIrp$0$$irpSp$4$281.21$storm_IoAllocateIrp := inline$storm_IoAllocateIrp$0$$result.malloc$284.0$4$;
+ goto inline$storm_IoAllocateIrp$0$label_26#1;
+
+ inline$storm_IoAllocateIrp$0$label_26#1:
+ goto inline$storm_IoAllocateIrp$0$anon20_Then#1, inline$storm_IoAllocateIrp$0$anon20_Else#1;
+
+ inline$storm_IoAllocateIrp$0$anon20_Else#1:
+ assume k != 0;
+ goto inline$storm_IoAllocateIrp$0$anon21_Then#1, inline$storm_IoAllocateIrp$0$anon21_Else#1;
+
+ inline$storm_IoAllocateIrp$0$anon21_Else#1:
+ assume k != 1;
+ goto inline$storm_IoAllocateIrp$0$anon11#1;
+
+ inline$storm_IoAllocateIrp$0$anon21_Then#1:
+ assume k == 1;
+ Mem_1_T.CurrentStackLocation___unnamed_4_3c640f23 := Mem_1_T.CurrentStackLocation___unnamed_4_3c640f23[CurrentStackLocation___unnamed_4_3c640f23(__unnamed_4_3c640f23___unnamed_12_41c62b26(__unnamed_12_41c62b26___unnamed_40_32307de2(Overlay___unnamed_48_e2bbfb0b(Tail__IRP(inline$storm_IoAllocateIrp$0$$createdIrp$3$280.7$storm_IoAllocateIrp))))) := PLUS(inline$storm_IoAllocateIrp$0$$irpSp$4$281.21$storm_IoAllocateIrp, 36, inline$storm_IoAllocateIrp$0$$StackSize$1$276.11$storm_IoAllocateIrp)];
+ goto inline$storm_IoAllocateIrp$0$anon11#1;
+
+ inline$storm_IoAllocateIrp$0$anon20_Then#1:
+ assume k == 0;
+ Mem_0_T.CurrentStackLocation___unnamed_4_3c640f23 := Mem_0_T.CurrentStackLocation___unnamed_4_3c640f23[CurrentStackLocation___unnamed_4_3c640f23(__unnamed_4_3c640f23___unnamed_12_41c62b26(__unnamed_12_41c62b26___unnamed_40_32307de2(Overlay___unnamed_48_e2bbfb0b(Tail__IRP(inline$storm_IoAllocateIrp$0$$createdIrp$3$280.7$storm_IoAllocateIrp))))) := PLUS(inline$storm_IoAllocateIrp$0$$irpSp$4$281.21$storm_IoAllocateIrp, 36, inline$storm_IoAllocateIrp$0$$StackSize$1$276.11$storm_IoAllocateIrp)];
+ goto inline$storm_IoAllocateIrp$0$anon11#1;
+
+ inline$storm_IoAllocateIrp$0$anon11#1:
+ call contextSwitch();
+ goto inline$storm_IoAllocateIrp$0$label_27#1;
+
+ inline$storm_IoAllocateIrp$0$label_27#1:
+ goto inline$IoGetNextIrpStackLocation$0$Entry#1;
+
+ inline$IoGetNextIrpStackLocation$0$Entry#1:
+ inline$IoGetNextIrpStackLocation$0$$Irp$1$23463.14$IoGetNextIrpStackLocation_.1 := inline$storm_IoAllocateIrp$0$$createdIrp$3$280.7$storm_IoAllocateIrp;
+ goto inline$IoGetNextIrpStackLocation$0$start#1;
+
+ inline$IoGetNextIrpStackLocation$0$start#1:
+ inline$IoGetNextIrpStackLocation$0$$Irp$1$23463.14$IoGetNextIrpStackLocation := inline$IoGetNextIrpStackLocation$0$$Irp$1$23463.14$IoGetNextIrpStackLocation_.1;
+ goto inline$IoGetNextIrpStackLocation$0$label_3#1;
+
+ inline$IoGetNextIrpStackLocation$0$label_3#1:
+ goto inline$IoGetNextIrpStackLocation$0$anon3_Then#1, inline$IoGetNextIrpStackLocation$0$anon3_Else#1;
+
+ inline$IoGetNextIrpStackLocation$0$anon3_Else#1:
+ assume k != 0;
+ goto inline$IoGetNextIrpStackLocation$0$anon4_Then#1, inline$IoGetNextIrpStackLocation$0$anon4_Else#1;
+
+ inline$IoGetNextIrpStackLocation$0$anon4_Else#1:
+ assume k != 1;
+ goto inline$IoGetNextIrpStackLocation$0$anon2#1;
+
+ inline$IoGetNextIrpStackLocation$0$anon4_Then#1:
+ assume k == 1;
+ inline$IoGetNextIrpStackLocation$0$myVar_0 := Mem_1_T.CurrentStackLocation___unnamed_4_3c640f23[CurrentStackLocation___unnamed_4_3c640f23(__unnamed_4_3c640f23___unnamed_12_41c62b26(__unnamed_12_41c62b26___unnamed_40_32307de2(Overlay___unnamed_48_e2bbfb0b(Tail__IRP(inline$IoGetNextIrpStackLocation$0$$Irp$1$23463.14$IoGetNextIrpStackLocation)))))];
+ goto inline$IoGetNextIrpStackLocation$0$anon2#1;
+
+ inline$IoGetNextIrpStackLocation$0$anon3_Then#1:
+ assume k == 0;
+ inline$IoGetNextIrpStackLocation$0$myVar_0 := Mem_0_T.CurrentStackLocation___unnamed_4_3c640f23[CurrentStackLocation___unnamed_4_3c640f23(__unnamed_4_3c640f23___unnamed_12_41c62b26(__unnamed_12_41c62b26___unnamed_40_32307de2(Overlay___unnamed_48_e2bbfb0b(Tail__IRP(inline$IoGetNextIrpStackLocation$0$$Irp$1$23463.14$IoGetNextIrpStackLocation)))))];
+ goto inline$IoGetNextIrpStackLocation$0$anon2#1;
+
+ inline$IoGetNextIrpStackLocation$0$anon2#1:
+ call contextSwitch();
+ inline$IoGetNextIrpStackLocation$0$$result.IoGetNextIrpStackLocation$23462.0$1$ := MINUS_LEFT_PTR(inline$IoGetNextIrpStackLocation$0$myVar_0, 36, 1);
+ goto inline$IoGetNextIrpStackLocation$0$label_1#1;
+
+ inline$IoGetNextIrpStackLocation$0$label_1#1:
+ goto inline$IoGetNextIrpStackLocation$0$Return#1;
+
+ inline$IoGetNextIrpStackLocation$0$Return#1:
+ inline$storm_IoAllocateIrp$0$$result.IoGetNextIrpStackLocation$284.0$6$ := inline$IoGetNextIrpStackLocation$0$$result.IoGetNextIrpStackLocation$23462.0$1$;
+ goto inline$storm_IoAllocateIrp$0$label_27$1#1;
+
+ inline$storm_IoAllocateIrp$0$label_27$1#1:
+ goto inline$storm_IoAllocateIrp$0$label_30#1;
+
+ inline$storm_IoAllocateIrp$0$label_30#1:
+ inline$storm_IoAllocateIrp$0$$irpSp$4$281.21$storm_IoAllocateIrp := inline$storm_IoAllocateIrp$0$$result.IoGetNextIrpStackLocation$284.0$6$;
+ goto inline$storm_IoAllocateIrp$0$label_31#1;
+
+ inline$storm_IoAllocateIrp$0$label_31#1:
+ goto inline$storm_IoAllocateIrp$0$label_32#1;
+
+ inline$storm_IoAllocateIrp$0$label_32#1:
+ goto inline$storm_IoAllocateIrp$0$label_33#1;
+
+ inline$storm_IoAllocateIrp$0$label_33#1:
+ goto inline$storm_IoAllocateIrp$0$anon22_Then#1, inline$storm_IoAllocateIrp$0$anon22_Else#1;
+
+ inline$storm_IoAllocateIrp$0$anon22_Else#1:
+ assume __storm_init;
+ goto inline$storm_IoAllocateIrp$0$anon13#1;
+
+ inline$storm_IoAllocateIrp$0$anon22_Then#1:
+ assume !__storm_init;
+ __storm_atomic := false;
+ goto inline$storm_IoAllocateIrp$0$anon13#1;
+
+ inline$storm_IoAllocateIrp$0$anon13#1:
+ call contextSwitch();
+ goto inline$storm_IoAllocateIrp$0$label_36#1;
+
+ inline$storm_IoAllocateIrp$0$label_8_case_0#1:
+ assume inline$storm_IoAllocateIrp$0$$result.storm_nondet$282.22$2$ != 0;
+ goto inline$storm_IoAllocateIrp$0$label_9#1;
+
+ inline$storm_IoAllocateIrp$0$label_9#1:
+ inline$storm_IoAllocateIrp$0$$createdIrp$3$280.7$storm_IoAllocateIrp := 0;
+ goto inline$storm_IoAllocateIrp$0$label_36#1;
+
+ inline$storm_IoAllocateIrp$0$label_36#1:
+ inline$storm_IoAllocateIrp$0$$result.storm_IoAllocateIrp$275.0$1$ := inline$storm_IoAllocateIrp$0$$createdIrp$3$280.7$storm_IoAllocateIrp;
+ goto inline$storm_IoAllocateIrp$0$label_1#1;
+
+ inline$storm_IoAllocateIrp$0$label_1#1:
+ goto inline$storm_IoAllocateIrp$0$Return#1;
+
+ inline$storm_IoAllocateIrp$0$Return#1:
+ $result.storm_IoAllocateIrp$96.21$1$ := inline$storm_IoAllocateIrp$0$$result.storm_IoAllocateIrp$275.0$1$;
+ goto label_6$1#1;
+
+ label_6$1#1:
+ goto label_9#1;
+
+ label_9#1:
+ $irp$1$91.7$storm_main := $result.storm_IoAllocateIrp$96.21$1$;
+ goto label_10#1;
+
+ label_10#1:
+ assume INT_NEQ($irp$1$91.7$storm_main, 0);
+ goto label_11#1;
+
+ label_11#1:
+ goto inline$IoSetNextIrpStackLocation$0$Entry#1;
+
+ inline$IoSetNextIrpStackLocation$0$Entry#1:
+ inline$IoSetNextIrpStackLocation$0$$Irp$1$23862.16$IoSetNextIrpStackLocation_.1 := $irp$1$91.7$storm_main;
+ goto inline$IoSetNextIrpStackLocation$0$start#1;
+
+ inline$IoSetNextIrpStackLocation$0$start#1:
+ inline$IoSetNextIrpStackLocation$0$$Irp$1$23862.16$IoSetNextIrpStackLocation := inline$IoSetNextIrpStackLocation$0$$Irp$1$23862.16$IoSetNextIrpStackLocation_.1;
+ goto inline$IoSetNextIrpStackLocation$0$label_3#1;
+
+ inline$IoSetNextIrpStackLocation$0$label_3#1:
+ havoc inline$IoSetNextIrpStackLocation$0$myNondetVar_0;
+ inline$IoSetNextIrpStackLocation$0$tempBoogie0 := MINUS_BOTH_PTR_OR_BOTH_INT(inline$IoSetNextIrpStackLocation$0$myNondetVar_0, 1, 1);
+ goto inline$IoSetNextIrpStackLocation$0$label_4#1;
+
+ inline$IoSetNextIrpStackLocation$0$label_4#1:
+ goto inline$IoSetNextIrpStackLocation$0$anon6_Then#1, inline$IoSetNextIrpStackLocation$0$anon6_Else#1;
+
+ inline$IoSetNextIrpStackLocation$0$anon6_Else#1:
+ assume k != 0;
+ goto inline$IoSetNextIrpStackLocation$0$anon7_Then#1, inline$IoSetNextIrpStackLocation$0$anon7_Else#1;
+
+ inline$IoSetNextIrpStackLocation$0$anon7_Else#1:
+ assume k != 1;
+ goto inline$IoSetNextIrpStackLocation$0$anon2#1;
+
+ inline$IoSetNextIrpStackLocation$0$anon7_Then#1:
+ assume k == 1;
+ inline$IoSetNextIrpStackLocation$0$myVar_0 := Mem_1_T.CurrentStackLocation___unnamed_4_3c640f23[CurrentStackLocation___unnamed_4_3c640f23(__unnamed_4_3c640f23___unnamed_12_41c62b26(__unnamed_12_41c62b26___unnamed_40_32307de2(Overlay___unnamed_48_e2bbfb0b(Tail__IRP(inline$IoSetNextIrpStackLocation$0$$Irp$1$23862.16$IoSetNextIrpStackLocation)))))];
+ goto inline$IoSetNextIrpStackLocation$0$anon2#1;
+
+ inline$IoSetNextIrpStackLocation$0$anon6_Then#1:
+ assume k == 0;
+ inline$IoSetNextIrpStackLocation$0$myVar_0 := Mem_0_T.CurrentStackLocation___unnamed_4_3c640f23[CurrentStackLocation___unnamed_4_3c640f23(__unnamed_4_3c640f23___unnamed_12_41c62b26(__unnamed_12_41c62b26___unnamed_40_32307de2(Overlay___unnamed_48_e2bbfb0b(Tail__IRP(inline$IoSetNextIrpStackLocation$0$$Irp$1$23862.16$IoSetNextIrpStackLocation)))))];
+ goto inline$IoSetNextIrpStackLocation$0$anon2#1;
+
+ inline$IoSetNextIrpStackLocation$0$anon2#1:
+ call contextSwitch();
+ inline$IoSetNextIrpStackLocation$0$tempBoogie0 := MINUS_LEFT_PTR(inline$IoSetNextIrpStackLocation$0$myVar_0, 36, 1);
+ goto inline$IoSetNextIrpStackLocation$0$anon8_Then#1, inline$IoSetNextIrpStackLocation$0$anon8_Else#1;
+
+ inline$IoSetNextIrpStackLocation$0$anon8_Else#1:
+ assume k != 0;
+ goto inline$IoSetNextIrpStackLocation$0$anon9_Then#1, inline$IoSetNextIrpStackLocation$0$anon9_Else#1;
+
+ inline$IoSetNextIrpStackLocation$0$anon9_Else#1:
+ assume k != 1;
+ goto inline$IoSetNextIrpStackLocation$0$anon5#1;
+
+ inline$IoSetNextIrpStackLocation$0$anon9_Then#1:
+ assume k == 1;
+ Mem_1_T.CurrentStackLocation___unnamed_4_3c640f23 := Mem_1_T.CurrentStackLocation___unnamed_4_3c640f23[CurrentStackLocation___unnamed_4_3c640f23(__unnamed_4_3c640f23___unnamed_12_41c62b26(__unnamed_12_41c62b26___unnamed_40_32307de2(Overlay___unnamed_48_e2bbfb0b(Tail__IRP(inline$IoSetNextIrpStackLocation$0$$Irp$1$23862.16$IoSetNextIrpStackLocation))))) := inline$IoSetNextIrpStackLocation$0$tempBoogie0];
+ goto inline$IoSetNextIrpStackLocation$0$anon5#1;
+
+ inline$IoSetNextIrpStackLocation$0$anon8_Then#1:
+ assume k == 0;
+ Mem_0_T.CurrentStackLocation___unnamed_4_3c640f23 := Mem_0_T.CurrentStackLocation___unnamed_4_3c640f23[CurrentStackLocation___unnamed_4_3c640f23(__unnamed_4_3c640f23___unnamed_12_41c62b26(__unnamed_12_41c62b26___unnamed_40_32307de2(Overlay___unnamed_48_e2bbfb0b(Tail__IRP(inline$IoSetNextIrpStackLocation$0$$Irp$1$23862.16$IoSetNextIrpStackLocation))))) := inline$IoSetNextIrpStackLocation$0$tempBoogie0];
+ goto inline$IoSetNextIrpStackLocation$0$anon5#1;
+
+ inline$IoSetNextIrpStackLocation$0$anon5#1:
+ call contextSwitch();
+ goto inline$IoSetNextIrpStackLocation$0$label_1#1;
+
+ inline$IoSetNextIrpStackLocation$0$label_1#1:
+ goto inline$IoSetNextIrpStackLocation$0$Return#1;
+
+ inline$IoSetNextIrpStackLocation$0$Return#1:
+ goto label_11$1#1;
+
+ label_11$1#1:
+ goto label_14#1;
+
+ label_14#1:
+ goto inline$IoGetCurrentIrpStackLocation$0$Entry#1;
+
+ inline$IoGetCurrentIrpStackLocation$0$Entry#1:
+ inline$IoGetCurrentIrpStackLocation$0$$Irp$1$23298.14$IoGetCurrentIrpStackLocation_.1 := $irp$1$91.7$storm_main;
+ goto inline$IoGetCurrentIrpStackLocation$0$start#1;
+
+ inline$IoGetCurrentIrpStackLocation$0$start#1:
+ inline$IoGetCurrentIrpStackLocation$0$$Irp$1$23298.14$IoGetCurrentIrpStackLocation := inline$IoGetCurrentIrpStackLocation$0$$Irp$1$23298.14$IoGetCurrentIrpStackLocation_.1;
+ goto inline$IoGetCurrentIrpStackLocation$0$label_3#1;
+
+ inline$IoGetCurrentIrpStackLocation$0$label_3#1:
+ goto inline$IoGetCurrentIrpStackLocation$0$anon3_Then#1, inline$IoGetCurrentIrpStackLocation$0$anon3_Else#1;
+
+ inline$IoGetCurrentIrpStackLocation$0$anon3_Else#1:
+ assume k != 0;
+ goto inline$IoGetCurrentIrpStackLocation$0$anon4_Then#1, inline$IoGetCurrentIrpStackLocation$0$anon4_Else#1;
+
+ inline$IoGetCurrentIrpStackLocation$0$anon4_Else#1:
+ assume k != 1;
+ goto inline$IoGetCurrentIrpStackLocation$0$anon2#1;
+
+ inline$IoGetCurrentIrpStackLocation$0$anon4_Then#1:
+ assume k == 1;
+ inline$IoGetCurrentIrpStackLocation$0$myVar_0 := Mem_1_T.CurrentStackLocation___unnamed_4_3c640f23[CurrentStackLocation___unnamed_4_3c640f23(__unnamed_4_3c640f23___unnamed_12_41c62b26(__unnamed_12_41c62b26___unnamed_40_32307de2(Overlay___unnamed_48_e2bbfb0b(Tail__IRP(inline$IoGetCurrentIrpStackLocation$0$$Irp$1$23298.14$IoGetCurrentIrpStackLocation)))))];
+ goto inline$IoGetCurrentIrpStackLocation$0$anon2#1;
+
+ inline$IoGetCurrentIrpStackLocation$0$anon3_Then#1:
+ assume k == 0;
+ inline$IoGetCurrentIrpStackLocation$0$myVar_0 := Mem_0_T.CurrentStackLocation___unnamed_4_3c640f23[CurrentStackLocation___unnamed_4_3c640f23(__unnamed_4_3c640f23___unnamed_12_41c62b26(__unnamed_12_41c62b26___unnamed_40_32307de2(Overlay___unnamed_48_e2bbfb0b(Tail__IRP(inline$IoGetCurrentIrpStackLocation$0$$Irp$1$23298.14$IoGetCurrentIrpStackLocation)))))];
+ goto inline$IoGetCurrentIrpStackLocation$0$anon2#1;
+
+ inline$IoGetCurrentIrpStackLocation$0$anon2#1:
+ call contextSwitch();
+ inline$IoGetCurrentIrpStackLocation$0$$result.IoGetCurrentIrpStackLocation$23297.0$1$ := inline$IoGetCurrentIrpStackLocation$0$myVar_0;
+ goto inline$IoGetCurrentIrpStackLocation$0$label_1#1;
+
+ inline$IoGetCurrentIrpStackLocation$0$label_1#1:
+ goto inline$IoGetCurrentIrpStackLocation$0$Return#1;
+
+ inline$IoGetCurrentIrpStackLocation$0$Return#1:
+ $result.IoGetCurrentIrpStackLocation$99.38$2$ := inline$IoGetCurrentIrpStackLocation$0$$result.IoGetCurrentIrpStackLocation$23297.0$1$;
+ goto label_14$1#1;
+
+ label_14$1#1:
+ goto label_17#1;
+
+ label_17#1:
+ $irpSp$2$92.21$storm_main := $result.IoGetCurrentIrpStackLocation$99.38$2$;
+ goto label_18#1;
+
+ label_18#1:
+ goto anon12_Then#1, anon12_Else#1;
+
+ anon12_Else#1:
+ assume k != 0;
+ goto anon13_Then#1, anon13_Else#1;
+
+ anon13_Else#1:
+ assume k != 1;
+ goto anon5#1;
+
+ anon13_Then#1:
+ assume k == 1;
+ Mem_1_T.DeviceObject__IO_STACK_LOCATION := Mem_1_T.DeviceObject__IO_STACK_LOCATION[DeviceObject__IO_STACK_LOCATION($irpSp$2$92.21$storm_main) := hdevobj];
+ goto anon5#1;
+
+ anon12_Then#1:
+ assume k == 0;
+ Mem_0_T.DeviceObject__IO_STACK_LOCATION := Mem_0_T.DeviceObject__IO_STACK_LOCATION[DeviceObject__IO_STACK_LOCATION($irpSp$2$92.21$storm_main) := hdevobj];
+ goto anon5#1;
+
+ anon5#1:
+ call contextSwitch();
+ goto label_19#1;
+
+ label_19#1:
+ goto label_20#1;
+
+ label_20#1:
+ k_old_0 := k;
+ tid_old_0 := tid;
+ tidCount_old := tidCount;
+ havoc tidCount;
+ assume tidCount_old < tidCount;
+ tid := tidCount;
+ raiseException := false;
+ call contextSwitch();
+ goto inline$dispatch$0$Entry#1;
+
+ inline$dispatch$0$Entry#1:
+ inline$dispatch$0$$Irp$1$8.19$dispatch_.1 := $irp$1$91.7$storm_main;
+ goto inline$dispatch$0$start#1;
+
+ inline$dispatch$0$start#1:
+ inline$dispatch$0$$Irp$1$8.19$dispatch := inline$dispatch$0$$Irp$1$8.19$dispatch_.1;
+ goto inline$dispatch$0$label_3#1;
+
+ inline$dispatch$0$label_3#1:
+ goto inline$dispatch$0$label_4#1;
+
+ inline$dispatch$0$label_4#1:
+ goto inline$IoGetCurrentIrpStackLocation$1$Entry#1;
+
+ inline$IoGetCurrentIrpStackLocation$1$Entry#1:
+ goto inline$IoGetCurrentIrpStackLocation$1$start#1;
+
+ inline$IoGetCurrentIrpStackLocation$1$start#1:
+ goto inline$IoGetCurrentIrpStackLocation$1$label_3#1;
+
+ inline$IoGetCurrentIrpStackLocation$1$label_3#1:
+ goto inline$IoGetCurrentIrpStackLocation$1$anon3_Then#1, inline$IoGetCurrentIrpStackLocation$1$anon3_Else#1;
+
+ inline$IoGetCurrentIrpStackLocation$1$anon3_Else#1:
+ assume k != 0;
+ goto inline$IoGetCurrentIrpStackLocation$1$anon4_Then#1, inline$IoGetCurrentIrpStackLocation$1$anon4_Else#1;
+
+ inline$IoGetCurrentIrpStackLocation$1$anon4_Else#1:
+ assume k != 1;
+ goto inline$IoGetCurrentIrpStackLocation$1$anon2#1;
+
+ inline$IoGetCurrentIrpStackLocation$1$anon4_Then#1:
+ assume k == 1;
+ goto inline$IoGetCurrentIrpStackLocation$1$anon2#1;
+
+ inline$IoGetCurrentIrpStackLocation$1$anon3_Then#1:
+ assume k == 0;
+ goto inline$IoGetCurrentIrpStackLocation$1$anon2#1;
+
+ inline$IoGetCurrentIrpStackLocation$1$anon2#1:
+ call contextSwitch();
+ goto inline$IoGetCurrentIrpStackLocation$1$label_1#1;
+
+ inline$IoGetCurrentIrpStackLocation$1$label_1#1:
+ goto inline$IoGetCurrentIrpStackLocation$1$Return#1;
+
+ inline$IoGetCurrentIrpStackLocation$1$Return#1:
+ goto inline$dispatch$0$label_4$1#1;
+
+ inline$dispatch$0$label_4$1#1:
+ goto inline$dispatch$0$label_7#1;
+
+ inline$dispatch$0$label_7#1:
+ goto inline$dispatch$0$label_8#1;
+
+ inline$dispatch$0$label_8#1:
+ goto inline$I8xDeviceControl$0$Entry#1;
+
+ inline$I8xDeviceControl$0$Entry#1:
+ inline$I8xDeviceControl$0$$Irp$2$465.12$I8xDeviceControl_.1 := inline$dispatch$0$$Irp$1$8.19$dispatch;
+ goto inline$I8xDeviceControl$0$start#1;
+
+ inline$I8xDeviceControl$0$start#1:
+ inline$I8xDeviceControl$0$$Irp$2$465.12$I8xDeviceControl := inline$I8xDeviceControl$0$$Irp$2$465.12$I8xDeviceControl_.1;
+ goto inline$I8xDeviceControl$0$label_3#1;
+
+ inline$I8xDeviceControl$0$label_3#1:
+ goto inline$I8xDeviceControl$0$label_4#1;
+
+ inline$I8xDeviceControl$0$label_4#1:
+ call __PREfastPagedCode();
+ goto inline$I8xDeviceControl$0$label_7#1;
+
+ inline$I8xDeviceControl$0$label_7#1:
+ goto inline$I8xDeviceControl$0$anon3_Then#1, inline$I8xDeviceControl$0$anon3_Else#1;
+
+ inline$I8xDeviceControl$0$anon3_Else#1:
+ assume k != 0;
+ goto inline$I8xDeviceControl$0$anon4_Then#1, inline$I8xDeviceControl$0$anon4_Else#1;
+
+ inline$I8xDeviceControl$0$anon4_Else#1:
+ assume k != 1;
+ goto inline$I8xDeviceControl$0$anon2#1;
+
+ inline$I8xDeviceControl$0$anon4_Then#1:
+ assume k == 1;
+ goto inline$I8xDeviceControl$0$anon2#1;
+
+ inline$I8xDeviceControl$0$anon3_Then#1:
+ assume k == 0;
+ goto inline$I8xDeviceControl$0$anon2#1;
+
+ inline$I8xDeviceControl$0$anon2#1:
+ call contextSwitch();
+ goto inline$I8xDeviceControl$0$label_8#1;
+
+ inline$I8xDeviceControl$0$label_8#1:
+ goto inline$I8xKeyboardGetSysButtonEvent$0$Entry#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$Entry#1:
+ inline$I8xKeyboardGetSysButtonEvent$0$$Irp$2$140.9$I8xKeyboardGetSysButtonEvent_.1 := inline$I8xDeviceControl$0$$Irp$2$465.12$I8xDeviceControl;
+ goto inline$I8xKeyboardGetSysButtonEvent$0$start#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$start#1:
+ inline$I8xKeyboardGetSysButtonEvent$0$$Irp$2$140.9$I8xKeyboardGetSysButtonEvent := inline$I8xKeyboardGetSysButtonEvent$0$$Irp$2$140.9$I8xKeyboardGetSysButtonEvent_.1;
+ goto inline$I8xKeyboardGetSysButtonEvent$0$label_3#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$label_3#1:
+ goto inline$I8xKeyboardGetSysButtonEvent$0$label_4#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$label_4#1:
+ goto inline$I8xKeyboardGetSysButtonEvent$0$label_5#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$label_5#1:
+ goto inline$I8xKeyboardGetSysButtonEvent$0$label_6#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$label_6#1:
+ goto inline$I8xKeyboardGetSysButtonEvent$0$label_7#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$label_7#1:
+ goto inline$I8xKeyboardGetSysButtonEvent$0$label_8#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$label_8#1:
+ goto inline$I8xKeyboardGetSysButtonEvent$0$label_9#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$label_9#1:
+ goto inline$I8xKeyboardGetSysButtonEvent$0$label_9_true#1, inline$I8xKeyboardGetSysButtonEvent$0$label_9_false#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$label_9_false#1:
+ havoc inline$I8xKeyboardGetSysButtonEvent$0$myNondetVar_0;
+ assume inline$I8xKeyboardGetSysButtonEvent$0$myNondetVar_0 == 0;
+ goto inline$I8xKeyboardGetSysButtonEvent$0$label_10#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$label_10#1:
+ goto inline$storm_IoSetCancelRoutine$0$Entry#1;
+
+ inline$storm_IoSetCancelRoutine$0$Entry#1:
+ inline$storm_IoSetCancelRoutine$0$$pirp$1$384.10$storm_IoSetCancelRoutine_.1 := inline$I8xKeyboardGetSysButtonEvent$0$$Irp$2$140.9$I8xKeyboardGetSysButtonEvent;
+ inline$storm_IoSetCancelRoutine$0$$CancelRoutine$2$385.20$storm_IoSetCancelRoutine_.1 := I8xSysButtonCancelRoutine;
+ goto inline$storm_IoSetCancelRoutine$0$start#1;
+
+ inline$storm_IoSetCancelRoutine$0$start#1:
+ inline$storm_IoSetCancelRoutine$0$$pirp$1$384.10$storm_IoSetCancelRoutine := inline$storm_IoSetCancelRoutine$0$$pirp$1$384.10$storm_IoSetCancelRoutine_.1;
+ inline$storm_IoSetCancelRoutine$0$$CancelRoutine$2$385.20$storm_IoSetCancelRoutine := inline$storm_IoSetCancelRoutine$0$$CancelRoutine$2$385.20$storm_IoSetCancelRoutine_.1;
+ goto inline$storm_IoSetCancelRoutine$0$label_3#1;
+
+ inline$storm_IoSetCancelRoutine$0$label_3#1:
+ goto inline$storm_IoSetCancelRoutine$0$label_4#1;
+
+ inline$storm_IoSetCancelRoutine$0$label_4#1:
+ call inline$storm_IoSetCancelRoutine$0$$result.storm_nondet$389.2$2$ := storm_nondet();
+ goto inline$storm_IoSetCancelRoutine$0$label_7#1;
+
+ inline$storm_IoSetCancelRoutine$0$label_7#1:
+ goto inline$storm_IoSetCancelRoutine$0$label_7_true#1, inline$storm_IoSetCancelRoutine$0$label_7_false#1;
+
+ inline$storm_IoSetCancelRoutine$0$label_7_false#1:
+ assume inline$storm_IoSetCancelRoutine$0$$result.storm_nondet$389.2$2$ == 0;
+ goto inline$storm_IoSetCancelRoutine$0$label_8#1;
+
+ inline$storm_IoSetCancelRoutine$0$label_7_true#1:
+ assume inline$storm_IoSetCancelRoutine$0$$result.storm_nondet$389.2$2$ != 0;
+ goto inline$storm_IoSetCancelRoutine$0$label_11#1;
+
+ inline$storm_IoSetCancelRoutine$0$label_11#1:
+ assume k == 0 ==> INT_EQ(Res_0_COMPLETED[inline$storm_IoSetCancelRoutine$0$$pirp$1$384.10$storm_IoSetCancelRoutine], 1);
+ assume k == 1 ==> INT_EQ(Res_1_COMPLETED[inline$storm_IoSetCancelRoutine$0$$pirp$1$384.10$storm_IoSetCancelRoutine], 1);
+ call contextSwitch();
+ goto inline$storm_IoSetCancelRoutine$0$label_12#1;
+
+ inline$storm_IoSetCancelRoutine$0$label_12#1:
+ goto inline$storm_IoSetCancelRoutine$0$label_12_true#1, inline$storm_IoSetCancelRoutine$0$label_12_false#1;
+
+ inline$storm_IoSetCancelRoutine$0$label_12_false#1:
+ assume 0 == 0;
+ goto inline$storm_IoSetCancelRoutine$0$label_13#1;
+
+ inline$storm_IoSetCancelRoutine$0$label_13#1:
+ errorReached := true;
+ raiseException := true;
+ __storm_atomic := false;
+ __storm_init := false;
+ goto inline$storm_IoSetCancelRoutine$0$label_1#1;
+
+ inline$storm_IoSetCancelRoutine$0$label_12_true#1:
+ assume 0 != 0;
+ goto inline$storm_IoSetCancelRoutine$0$label_8#1;
+
+ inline$storm_IoSetCancelRoutine$0$label_8#1:
+ __storm_atomic := true;
+ goto inline$storm_IoSetCancelRoutine$0$label_16#1;
+
+ inline$storm_IoSetCancelRoutine$0$label_16#1:
+ goto inline$storm_IoSetCancelRoutine$0$anon9_Then#1, inline$storm_IoSetCancelRoutine$0$anon9_Else#1;
+
+ inline$storm_IoSetCancelRoutine$0$anon9_Else#1:
+ assume k != 0;
+ goto inline$storm_IoSetCancelRoutine$0$anon10_Then#1, inline$storm_IoSetCancelRoutine$0$anon10_Else#1;
+
+ inline$storm_IoSetCancelRoutine$0$anon10_Else#1:
+ assume k != 1;
+ goto inline$storm_IoSetCancelRoutine$0$anon3#1;
+
+ inline$storm_IoSetCancelRoutine$0$anon10_Then#1:
+ assume k == 1;
+ goto inline$storm_IoSetCancelRoutine$0$anon3#1;
+
+ inline$storm_IoSetCancelRoutine$0$anon9_Then#1:
+ assume k == 0;
+ goto inline$storm_IoSetCancelRoutine$0$anon3#1;
+
+ inline$storm_IoSetCancelRoutine$0$anon3#1:
+ call contextSwitch();
+ goto inline$storm_IoSetCancelRoutine$0$label_17#1;
+
+ inline$storm_IoSetCancelRoutine$0$label_17#1:
+ goto inline$storm_IoSetCancelRoutine$0$anon11_Then#1, inline$storm_IoSetCancelRoutine$0$anon11_Else#1;
+
+ inline$storm_IoSetCancelRoutine$0$anon11_Else#1:
+ assume k != 0;
+ goto inline$storm_IoSetCancelRoutine$0$anon12_Then#1, inline$storm_IoSetCancelRoutine$0$anon12_Else#1;
+
+ inline$storm_IoSetCancelRoutine$0$anon12_Else#1:
+ assume k != 1;
+ goto inline$storm_IoSetCancelRoutine$0$anon6#1;
+
+ inline$storm_IoSetCancelRoutine$0$anon12_Then#1:
+ assume k == 1;
+ Mem_1_T.CancelRoutine__IRP := Mem_1_T.CancelRoutine__IRP[CancelRoutine__IRP(inline$storm_IoSetCancelRoutine$0$$pirp$1$384.10$storm_IoSetCancelRoutine) := inline$storm_IoSetCancelRoutine$0$$CancelRoutine$2$385.20$storm_IoSetCancelRoutine];
+ goto inline$storm_IoSetCancelRoutine$0$anon6#1;
+
+ inline$storm_IoSetCancelRoutine$0$anon11_Then#1:
+ assume k == 0;
+ Mem_0_T.CancelRoutine__IRP := Mem_0_T.CancelRoutine__IRP[CancelRoutine__IRP(inline$storm_IoSetCancelRoutine$0$$pirp$1$384.10$storm_IoSetCancelRoutine) := inline$storm_IoSetCancelRoutine$0$$CancelRoutine$2$385.20$storm_IoSetCancelRoutine];
+ goto inline$storm_IoSetCancelRoutine$0$anon6#1;
+
+ inline$storm_IoSetCancelRoutine$0$anon6#1:
+ call contextSwitch();
+ goto inline$storm_IoSetCancelRoutine$0$label_18#1;
+
+ inline$storm_IoSetCancelRoutine$0$label_18#1:
+ goto inline$storm_IoSetCancelRoutine$0$anon13_Then#1, inline$storm_IoSetCancelRoutine$0$anon13_Else#1;
+
+ inline$storm_IoSetCancelRoutine$0$anon13_Else#1:
+ assume __storm_init;
+ goto inline$storm_IoSetCancelRoutine$0$anon8#1;
+
+ inline$storm_IoSetCancelRoutine$0$anon13_Then#1:
+ assume !__storm_init;
+ __storm_atomic := false;
+ goto inline$storm_IoSetCancelRoutine$0$anon8#1;
+
+ inline$storm_IoSetCancelRoutine$0$anon8#1:
+ call contextSwitch();
+ goto inline$storm_IoSetCancelRoutine$0$label_21#1;
+
+ inline$storm_IoSetCancelRoutine$0$label_21#1:
+ goto inline$storm_IoSetCancelRoutine$0$label_1#1;
+
+ inline$storm_IoSetCancelRoutine$0$label_1#1:
+ goto inline$storm_IoSetCancelRoutine$0$Return#1;
+
+ inline$storm_IoSetCancelRoutine$0$Return#1:
+ goto inline$I8xKeyboardGetSysButtonEvent$0$label_10$1#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$label_10$1#1:
+ goto inline$I8xKeyboardGetSysButtonEvent$0$label_18#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$label_18#1:
+ goto inline$I8xKeyboardGetSysButtonEvent$0$label_18_true#1, inline$I8xKeyboardGetSysButtonEvent$0$label_18_false#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$label_18_false#1:
+ goto inline$I8xKeyboardGetSysButtonEvent$0$anon8_Then#1, inline$I8xKeyboardGetSysButtonEvent$0$anon8_Else#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$anon8_Else#1:
+ assume k != 0;
+ goto inline$I8xKeyboardGetSysButtonEvent$0$anon9_Then#1, inline$I8xKeyboardGetSysButtonEvent$0$anon9_Else#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$anon9_Else#1:
+ assume k != 1;
+ goto inline$I8xKeyboardGetSysButtonEvent$0$anon5#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$anon9_Then#1:
+ assume k == 1;
+ inline$I8xKeyboardGetSysButtonEvent$0$myVar_0 := Mem_1_T.Cancel__IRP[Cancel__IRP(inline$I8xKeyboardGetSysButtonEvent$0$$Irp$2$140.9$I8xKeyboardGetSysButtonEvent)];
+ goto inline$I8xKeyboardGetSysButtonEvent$0$anon5#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$anon8_Then#1:
+ assume k == 0;
+ inline$I8xKeyboardGetSysButtonEvent$0$myVar_0 := Mem_0_T.Cancel__IRP[Cancel__IRP(inline$I8xKeyboardGetSysButtonEvent$0$$Irp$2$140.9$I8xKeyboardGetSysButtonEvent)];
+ goto inline$I8xKeyboardGetSysButtonEvent$0$anon5#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$anon5#1:
+ call contextSwitch();
+ assume inline$I8xKeyboardGetSysButtonEvent$0$myVar_0 == 0;
+ goto inline$I8xKeyboardGetSysButtonEvent$0$label_19#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$label_19#1:
+ inline$I8xKeyboardGetSysButtonEvent$0$$status$5$144.24$I8xKeyboardGetSysButtonEvent := 259;
+ goto inline$I8xKeyboardGetSysButtonEvent$0$label_13#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$label_18_true#1:
+ goto inline$I8xKeyboardGetSysButtonEvent$0$anon6_Then#1, inline$I8xKeyboardGetSysButtonEvent$0$anon6_Else#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$anon6_Else#1:
+ assume k != 0;
+ goto inline$I8xKeyboardGetSysButtonEvent$0$anon7_Then#1, inline$I8xKeyboardGetSysButtonEvent$0$anon7_Else#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$anon7_Else#1:
+ assume k != 1;
+ goto inline$I8xKeyboardGetSysButtonEvent$0$anon2#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$anon7_Then#1:
+ assume k == 1;
+ inline$I8xKeyboardGetSysButtonEvent$0$myVar_0 := Mem_1_T.Cancel__IRP[Cancel__IRP(inline$I8xKeyboardGetSysButtonEvent$0$$Irp$2$140.9$I8xKeyboardGetSysButtonEvent)];
+ goto inline$I8xKeyboardGetSysButtonEvent$0$anon2#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$anon6_Then#1:
+ assume k == 0;
+ inline$I8xKeyboardGetSysButtonEvent$0$myVar_0 := Mem_0_T.Cancel__IRP[Cancel__IRP(inline$I8xKeyboardGetSysButtonEvent$0$$Irp$2$140.9$I8xKeyboardGetSysButtonEvent)];
+ goto inline$I8xKeyboardGetSysButtonEvent$0$anon2#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$anon2#1:
+ call contextSwitch();
+ assume inline$I8xKeyboardGetSysButtonEvent$0$myVar_0 != 0;
+ goto inline$I8xKeyboardGetSysButtonEvent$0$label_20#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$label_20#1:
+ call inline$I8xKeyboardGetSysButtonEvent$0$$result.storm_nondet$162.31$3$ := storm_nondet();
+ goto inline$I8xKeyboardGetSysButtonEvent$0$label_23#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$label_23#1:
+ goto inline$I8xKeyboardGetSysButtonEvent$0$label_23_true#1, inline$I8xKeyboardGetSysButtonEvent$0$label_23_false#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$label_23_false#1:
+ assume inline$I8xKeyboardGetSysButtonEvent$0$$result.storm_nondet$162.31$3$ == 0;
+ goto inline$I8xKeyboardGetSysButtonEvent$0$label_24#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$label_24#1:
+ call inline$I8xKeyboardGetSysButtonEvent$0$$result.storm_nondet$173.41$4$ := storm_nondet();
+ goto inline$I8xKeyboardGetSysButtonEvent$0$label_28#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$label_28#1:
+ inline$I8xKeyboardGetSysButtonEvent$0$$status$5$144.24$I8xKeyboardGetSysButtonEvent := inline$I8xKeyboardGetSysButtonEvent$0$$result.storm_nondet$173.41$4$;
+ goto inline$I8xKeyboardGetSysButtonEvent$0$label_13#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$label_23_true#1:
+ assume inline$I8xKeyboardGetSysButtonEvent$0$$result.storm_nondet$162.31$3$ != 0;
+ goto inline$I8xKeyboardGetSysButtonEvent$0$label_27#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$label_27#1:
+ inline$I8xKeyboardGetSysButtonEvent$0$$status$5$144.24$I8xKeyboardGetSysButtonEvent := 0 - 1073741536;
+ goto inline$I8xKeyboardGetSysButtonEvent$0$label_13#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$label_9_true#1:
+ havoc inline$I8xKeyboardGetSysButtonEvent$0$myNondetVar_0;
+ assume inline$I8xKeyboardGetSysButtonEvent$0$myNondetVar_0 != 0;
+ goto inline$I8xKeyboardGetSysButtonEvent$0$label_13#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$label_13#1:
+ goto inline$I8xKeyboardGetSysButtonEvent$0$label_13_true#1, inline$I8xKeyboardGetSysButtonEvent$0$label_13_false#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$label_13_false#1:
+ assume !INT_NEQ(inline$I8xKeyboardGetSysButtonEvent$0$$status$5$144.24$I8xKeyboardGetSysButtonEvent, 259);
+ goto inline$I8xKeyboardGetSysButtonEvent$0$label_14#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$label_13_true#1:
+ assume INT_NEQ(inline$I8xKeyboardGetSysButtonEvent$0$$status$5$144.24$I8xKeyboardGetSysButtonEvent, 259);
+ goto inline$I8xKeyboardGetSysButtonEvent$0$label_15#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$label_15#1:
+ goto inline$I8xCompleteSysButtonIrp$0$Entry#1;
+
+ inline$I8xCompleteSysButtonIrp$0$Entry#1:
+ inline$I8xCompleteSysButtonIrp$0$$Irp$1$50.9$I8xCompleteSysButtonIrp_.1 := inline$I8xKeyboardGetSysButtonEvent$0$$Irp$2$140.9$I8xKeyboardGetSysButtonEvent;
+ goto inline$I8xCompleteSysButtonIrp$0$start#1;
+
+ inline$I8xCompleteSysButtonIrp$0$start#1:
+ inline$I8xCompleteSysButtonIrp$0$$Irp$1$50.9$I8xCompleteSysButtonIrp := inline$I8xCompleteSysButtonIrp$0$$Irp$1$50.9$I8xCompleteSysButtonIrp_.1;
+ goto inline$I8xCompleteSysButtonIrp$0$label_3#1;
+
+ inline$I8xCompleteSysButtonIrp$0$label_3#1:
+ goto inline$storm_IoCompleteRequest$0$Entry#1;
+
+ inline$storm_IoCompleteRequest$0$Entry#1:
+ inline$storm_IoCompleteRequest$0$$pirp$1$339.10$storm_IoCompleteRequest_.1 := inline$I8xCompleteSysButtonIrp$0$$Irp$1$50.9$I8xCompleteSysButtonIrp;
+ goto inline$storm_IoCompleteRequest$0$start#1;
+
+ inline$storm_IoCompleteRequest$0$start#1:
+ inline$storm_IoCompleteRequest$0$$pirp$1$339.10$storm_IoCompleteRequest := inline$storm_IoCompleteRequest$0$$pirp$1$339.10$storm_IoCompleteRequest_.1;
+ goto inline$storm_IoCompleteRequest$0$label_3#1;
+
+ inline$storm_IoCompleteRequest$0$label_3#1:
+ call inline$storm_IoCompleteRequest$0$$result.storm_nondet$343.2$1$ := storm_nondet();
+ goto inline$storm_IoCompleteRequest$0$label_6#1;
+
+ inline$storm_IoCompleteRequest$0$label_6#1:
+ goto inline$storm_IoCompleteRequest$0$label_6_true#1, inline$storm_IoCompleteRequest$0$label_6_false#1;
+
+ inline$storm_IoCompleteRequest$0$label_6_false#1:
+ assume inline$storm_IoCompleteRequest$0$$result.storm_nondet$343.2$1$ == 0;
+ goto inline$storm_IoCompleteRequest$0$label_7#1;
+
+ inline$storm_IoCompleteRequest$0$label_6_true#1:
+ assume inline$storm_IoCompleteRequest$0$$result.storm_nondet$343.2$1$ != 0;
+ goto inline$storm_IoCompleteRequest$0$label_8#1;
+
+ inline$storm_IoCompleteRequest$0$label_8#1:
+ assume k == 0 ==> INT_EQ(Res_0_COMPLETED[inline$storm_IoCompleteRequest$0$$pirp$1$339.10$storm_IoCompleteRequest], 1);
+ assume k == 1 ==> INT_EQ(Res_1_COMPLETED[inline$storm_IoCompleteRequest$0$$pirp$1$339.10$storm_IoCompleteRequest], 1);
+ call contextSwitch();
+ goto inline$storm_IoCompleteRequest$0$label_9#1;
+
+ inline$storm_IoCompleteRequest$0$label_9#1:
+ goto inline$storm_IoCompleteRequest$0$label_9_true#1, inline$storm_IoCompleteRequest$0$label_9_false#1;
+
+ inline$storm_IoCompleteRequest$0$label_9_false#1:
+ assume 0 == 0;
+ goto inline$storm_IoCompleteRequest$0$label_10#1;
+
+ inline$storm_IoCompleteRequest$0$label_10#1:
+ errorReached := true;
+ raiseException := true;
+ __storm_atomic := false;
+ __storm_init := false;
+ goto inline$storm_IoCompleteRequest$0$label_1#1;
+
+ inline$storm_IoCompleteRequest$0$label_9_true#1:
+ assume 0 != 0;
+ goto inline$storm_IoCompleteRequest$0$label_7#1;
+
+ inline$storm_IoCompleteRequest$0$label_7#1:
+ goto inline$storm_IoCompleteRequest$0$anon4_Then#1, inline$storm_IoCompleteRequest$0$anon4_Else#1;
+
+ inline$storm_IoCompleteRequest$0$anon4_Else#1:
+ assume k != 0;
+ goto inline$storm_IoCompleteRequest$0$anon5_Then#1, inline$storm_IoCompleteRequest$0$anon5_Else#1;
+
+ inline$storm_IoCompleteRequest$0$anon5_Else#1:
+ assume k != 1;
+ goto inline$storm_IoCompleteRequest$0$anon2#1;
+
+ inline$storm_IoCompleteRequest$0$anon5_Then#1:
+ assume k == 1;
+ Res_1_COMPLETED := Res_1_COMPLETED[inline$storm_IoCompleteRequest$0$$pirp$1$339.10$storm_IoCompleteRequest := 1];
+ goto inline$storm_IoCompleteRequest$0$anon2#1;
+
+ inline$storm_IoCompleteRequest$0$anon4_Then#1:
+ assume k == 0;
+ Res_0_COMPLETED := Res_0_COMPLETED[inline$storm_IoCompleteRequest$0$$pirp$1$339.10$storm_IoCompleteRequest := 1];
+ goto inline$storm_IoCompleteRequest$0$anon2#1;
+
+ inline$storm_IoCompleteRequest$0$anon2#1:
+ call contextSwitch();
+ goto inline$storm_IoCompleteRequest$0$label_1#1;
+
+ inline$storm_IoCompleteRequest$0$label_1#1:
+ goto inline$storm_IoCompleteRequest$0$Return#1;
+
+ inline$storm_IoCompleteRequest$0$Return#1:
+ goto inline$I8xCompleteSysButtonIrp$0$label_3$1#1;
+
+ inline$I8xCompleteSysButtonIrp$0$label_3$1#1:
+ goto inline$I8xCompleteSysButtonIrp$0$label_1#1;
+
+ inline$I8xCompleteSysButtonIrp$0$label_1#1:
+ goto inline$I8xCompleteSysButtonIrp$0$Return#1;
+
+ inline$I8xCompleteSysButtonIrp$0$Return#1:
+ goto inline$I8xKeyboardGetSysButtonEvent$0$label_15$1#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$label_15$1#1:
+ goto inline$I8xKeyboardGetSysButtonEvent$0$label_14#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$label_14#1:
+ goto inline$I8xKeyboardGetSysButtonEvent$0$label_1#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$label_1#1:
+ goto inline$I8xKeyboardGetSysButtonEvent$0$Return#1;
+
+ inline$I8xKeyboardGetSysButtonEvent$0$Return#1:
+ goto inline$I8xDeviceControl$0$label_8$1#1;
+
+ inline$I8xDeviceControl$0$label_8$1#1:
+ goto inline$I8xDeviceControl$0$label_11#1;
+
+ inline$I8xDeviceControl$0$label_11#1:
+ goto inline$I8xDeviceControl$0$label_1#1;
+
+ inline$I8xDeviceControl$0$label_1#1:
+ goto inline$I8xDeviceControl$0$Return#1;
+
+ inline$I8xDeviceControl$0$Return#1:
+ goto inline$dispatch$0$label_8$1#1;
+
+ inline$dispatch$0$label_8$1#1:
+ goto inline$dispatch$0$label_11#1;
+
+ inline$dispatch$0$label_11#1:
+ goto inline$dispatch$0$label_1#1;
+
+ inline$dispatch$0$label_1#1:
+ goto inline$dispatch$0$Return#1;
+
+ inline$dispatch$0$Return#1:
+ goto label_20$1#1;
+
+ label_20$1#1:
+ goto anon14_Then#1, anon14_Else#1;
+
+ anon14_Else#1:
+ assume !(errorReached || !raiseException);
+ goto anon7#1;
+
+ anon14_Then#1:
+ assume errorReached || !raiseException;
+ __storm_thread_done_1 := true;
+ goto anon7#1;
+
+ anon7#1:
+ k := k_old_0;
+ tid := tid_old_0;
+ goto label_23#1;
+
+ label_23#1:
+ goto label_24#1;
+
+ label_24#1:
+ k_old_1 := k;
+ tid_old_1 := tid;
+ tidCount_old := tidCount;
+ havoc tidCount;
+ assume tidCount_old < tidCount;
+ tid := tidCount;
+ raiseException := false;
+ call contextSwitch();
+ goto inline$cancel$0$Entry#1;
+
+ inline$cancel$0$Entry#1:
+ inline$cancel$0$$Irp$1$64.17$cancel_.1 := $irp$1$91.7$storm_main;
+ goto inline$cancel$0$start#1;
+
+ inline$cancel$0$start#1:
+ inline$cancel$0$$Irp$1$64.17$cancel := inline$cancel$0$$Irp$1$64.17$cancel_.1;
+ goto inline$cancel$0$label_3#1;
+
+ inline$cancel$0$label_3#1:
+ goto inline$storm_IoCancelIrp$0$Entry#1;
+
+ inline$storm_IoCancelIrp$0$Entry#1:
+ inline$storm_IoCancelIrp$0$$Irp$1$349.10$storm_IoCancelIrp_.1 := inline$cancel$0$$Irp$1$64.17$cancel;
+ goto inline$storm_IoCancelIrp$0$start#1;
+
+ inline$storm_IoCancelIrp$0$start#1:
+ inline$storm_IoCancelIrp$0$$Irp$1$349.10$storm_IoCancelIrp := inline$storm_IoCancelIrp$0$$Irp$1$349.10$storm_IoCancelIrp_.1;
+ goto inline$storm_IoCancelIrp$0$label_3#1;
+
+ inline$storm_IoCancelIrp$0$label_3#1:
+ goto inline$storm_IoCancelIrp$0$label_4#1;
+
+ inline$storm_IoCancelIrp$0$label_4#1:
+ goto inline$storm_IoCancelIrp$0$anon12_Then#1, inline$storm_IoCancelIrp$0$anon12_Else#1;
+
+ inline$storm_IoCancelIrp$0$anon12_Else#1:
+ assume k != 0;
+ goto inline$storm_IoCancelIrp$0$anon13_Then#1, inline$storm_IoCancelIrp$0$anon13_Else#1;
+
+ inline$storm_IoCancelIrp$0$anon13_Else#1:
+ assume k != 1;
+ goto inline$storm_IoCancelIrp$0$anon2#1;
+
+ inline$storm_IoCancelIrp$0$anon13_Then#1:
+ assume k == 1;
+ Mem_1_T.Cancel__IRP := Mem_1_T.Cancel__IRP[Cancel__IRP(inline$storm_IoCancelIrp$0$$Irp$1$349.10$storm_IoCancelIrp) := 1];
+ goto inline$storm_IoCancelIrp$0$anon2#1;
+
+ inline$storm_IoCancelIrp$0$anon12_Then#1:
+ assume k == 0;
+ Mem_0_T.Cancel__IRP := Mem_0_T.Cancel__IRP[Cancel__IRP(inline$storm_IoCancelIrp$0$$Irp$1$349.10$storm_IoCancelIrp) := 1];
+ goto inline$storm_IoCancelIrp$0$anon2#1;
+
+ inline$storm_IoCancelIrp$0$anon2#1:
+ call contextSwitch();
+ goto inline$storm_IoCancelIrp$0$label_5#1;
+
+ inline$storm_IoCancelIrp$0$label_5#1:
+ __storm_atomic := true;
+ goto inline$storm_IoCancelIrp$0$label_8#1;
+
+ inline$storm_IoCancelIrp$0$label_8#1:
+ goto inline$storm_IoCancelIrp$0$anon14_Then#1, inline$storm_IoCancelIrp$0$anon14_Else#1;
+
+ inline$storm_IoCancelIrp$0$anon14_Else#1:
+ assume k != 0;
+ goto inline$storm_IoCancelIrp$0$anon15_Then#1, inline$storm_IoCancelIrp$0$anon15_Else#1;
+
+ inline$storm_IoCancelIrp$0$anon15_Else#1:
+ assume k != 1;
+ goto inline$storm_IoCancelIrp$0$anon5#1;
+
+ inline$storm_IoCancelIrp$0$anon15_Then#1:
+ assume k == 1;
+ inline$storm_IoCancelIrp$0$myVar_0 := Mem_1_T.CancelRoutine__IRP[CancelRoutine__IRP(inline$storm_IoCancelIrp$0$$Irp$1$349.10$storm_IoCancelIrp)];
+ goto inline$storm_IoCancelIrp$0$anon5#1;
+
+ inline$storm_IoCancelIrp$0$anon14_Then#1:
+ assume k == 0;
+ inline$storm_IoCancelIrp$0$myVar_0 := Mem_0_T.CancelRoutine__IRP[CancelRoutine__IRP(inline$storm_IoCancelIrp$0$$Irp$1$349.10$storm_IoCancelIrp)];
+ goto inline$storm_IoCancelIrp$0$anon5#1;
+
+ inline$storm_IoCancelIrp$0$anon5#1:
+ call contextSwitch();
+ inline$storm_IoCancelIrp$0$$oldCancelRoutine$2$352.17$storm_IoCancelIrp := inline$storm_IoCancelIrp$0$myVar_0;
+ goto inline$storm_IoCancelIrp$0$label_9#1;
+
+ inline$storm_IoCancelIrp$0$label_9#1:
+ goto inline$storm_IoCancelIrp$0$anon16_Then#1, inline$storm_IoCancelIrp$0$anon16_Else#1;
+
+ inline$storm_IoCancelIrp$0$anon16_Else#1:
+ assume k != 0;
+ goto inline$storm_IoCancelIrp$0$anon17_Then#1, inline$storm_IoCancelIrp$0$anon17_Else#1;
+
+ inline$storm_IoCancelIrp$0$anon17_Else#1:
+ assume k != 1;
+ goto inline$storm_IoCancelIrp$0$anon8#1;
+
+ inline$storm_IoCancelIrp$0$anon17_Then#1:
+ assume k == 1;
+ Mem_1_T.CancelRoutine__IRP := Mem_1_T.CancelRoutine__IRP[CancelRoutine__IRP(inline$storm_IoCancelIrp$0$$Irp$1$349.10$storm_IoCancelIrp) := 0];
+ goto inline$storm_IoCancelIrp$0$anon8#1;
+
+ inline$storm_IoCancelIrp$0$anon16_Then#1:
+ assume k == 0;
+ Mem_0_T.CancelRoutine__IRP := Mem_0_T.CancelRoutine__IRP[CancelRoutine__IRP(inline$storm_IoCancelIrp$0$$Irp$1$349.10$storm_IoCancelIrp) := 0];
+ goto inline$storm_IoCancelIrp$0$anon8#1;
+
+ inline$storm_IoCancelIrp$0$anon8#1:
+ call contextSwitch();
+ goto inline$storm_IoCancelIrp$0$label_10#1;
+
+ inline$storm_IoCancelIrp$0$label_10#1:
+ goto inline$storm_IoCancelIrp$0$anon18_Then#1, inline$storm_IoCancelIrp$0$anon18_Else#1;
+
+ inline$storm_IoCancelIrp$0$anon18_Else#1:
+ assume __storm_init;
+ goto inline$storm_IoCancelIrp$0$anon10#1;
+
+ inline$storm_IoCancelIrp$0$anon18_Then#1:
+ assume !__storm_init;
+ __storm_atomic := false;
+ goto inline$storm_IoCancelIrp$0$anon10#1;
+
+ inline$storm_IoCancelIrp$0$anon10#1:
+ call contextSwitch();
+ goto inline$storm_IoCancelIrp$0$label_13#1;
+
+ inline$storm_IoCancelIrp$0$label_13#1:
+ havoc inline$storm_IoCancelIrp$0$myNondetVar_0;
+ havoc inline$storm_IoCancelIrp$0$myNondetVar_1;
+ assume inline$storm_IoCancelIrp$0$myNondetVar_0 == inline$storm_IoCancelIrp$0$myNondetVar_1;
+ goto inline$storm_IoAcquireCancelSpinLock$0$Entry#1;
+
+ inline$storm_IoAcquireCancelSpinLock$0$Entry#1:
+ goto inline$storm_IoAcquireCancelSpinLock$0$start#1;
+
+ inline$storm_IoAcquireCancelSpinLock$0$start#1:
+ goto inline$storm_IoAcquireCancelSpinLock$0$label_3#1;
+
+ inline$storm_IoAcquireCancelSpinLock$0$label_3#1:
+ goto inline$storm_IoAcquireCancelSpinLock$0$label_4#1;
+
+ inline$storm_IoAcquireCancelSpinLock$0$label_4#1:
+ goto inline$storm_getThreadID$0$Entry#1;
+
+ inline$storm_getThreadID$0$Entry#1:
+ goto inline$storm_getThreadID$0$anon0#1;
+
+ inline$storm_getThreadID$0$anon0#1:
+ inline$storm_getThreadID$0$tidRet := tid;
+ goto inline$storm_getThreadID$0$Return#1;
+
+ inline$storm_getThreadID$0$Return#1:
+ inline$storm_IoAcquireCancelSpinLock$0$$result.storm_getThreadID$185.29$1$ := inline$storm_getThreadID$0$tidRet;
+ goto inline$storm_IoAcquireCancelSpinLock$0$label_4$1#1;
+
+ inline$storm_IoAcquireCancelSpinLock$0$label_4$1#1:
+ goto inline$storm_IoAcquireCancelSpinLock$0$label_7#1;
+
+ inline$storm_IoAcquireCancelSpinLock$0$label_7#1:
+ inline$storm_IoAcquireCancelSpinLock$0$$tid$2$185.6$storm_IoAcquireCancelSpinLock := inline$storm_IoAcquireCancelSpinLock$0$$result.storm_getThreadID$185.29$1$;
+ goto inline$storm_IoAcquireCancelSpinLock$0$label_8#1;
+
+ inline$storm_IoAcquireCancelSpinLock$0$label_8#1:
+ __storm_atomic := true;
+ goto inline$storm_IoAcquireCancelSpinLock$0$label_11#1;
+
+ inline$storm_IoAcquireCancelSpinLock$0$label_11#1:
+ goto inline$storm_IoAcquireCancelSpinLock$0$label_11_true#1, inline$storm_IoAcquireCancelSpinLock$0$label_11_false#1;
+
+ inline$storm_IoAcquireCancelSpinLock$0$label_11_false#1:
+ assume k == 0 ==> !INT_NEQ(inline$storm_IoAcquireCancelSpinLock$0$$tid$2$185.6$storm_IoAcquireCancelSpinLock, cancelLockStatus_0);
+ assume k == 1 ==> !INT_NEQ(inline$storm_IoAcquireCancelSpinLock$0$$tid$2$185.6$storm_IoAcquireCancelSpinLock, cancelLockStatus_1);
+ call contextSwitch();
+ goto inline$storm_IoAcquireCancelSpinLock$0$label_12#1;
+
+ inline$storm_IoAcquireCancelSpinLock$0$label_12#1:
+ errorReached := true;
+ raiseException := true;
+ __storm_atomic := false;
+ __storm_init := false;
+ goto inline$storm_IoAcquireCancelSpinLock$0$label_1#1;
+
+ inline$storm_IoAcquireCancelSpinLock$0$label_11_true#1:
+ assume k == 0 ==> INT_NEQ(inline$storm_IoAcquireCancelSpinLock$0$$tid$2$185.6$storm_IoAcquireCancelSpinLock, cancelLockStatus_0);
+ assume k == 1 ==> INT_NEQ(inline$storm_IoAcquireCancelSpinLock$0$$tid$2$185.6$storm_IoAcquireCancelSpinLock, cancelLockStatus_1);
+ call contextSwitch();
+ goto inline$storm_IoAcquireCancelSpinLock$0$label_15#1;
+
+ inline$storm_IoAcquireCancelSpinLock$0$label_15#1:
+ assume k == 0 ==> INT_EQ(cancelLockStatus_0, 0);
+ assume k == 1 ==> INT_EQ(cancelLockStatus_1, 0);
+ call contextSwitch();
+ goto inline$storm_IoAcquireCancelSpinLock$0$label_16#1;
+
+ inline$storm_IoAcquireCancelSpinLock$0$label_16#1:
+ goto inline$storm_IoAcquireCancelSpinLock$0$anon6_Then#1, inline$storm_IoAcquireCancelSpinLock$0$anon6_Else#1;
+
+ inline$storm_IoAcquireCancelSpinLock$0$anon6_Else#1:
+ assume k != 0;
+ goto inline$storm_IoAcquireCancelSpinLock$0$anon7_Then#1, inline$storm_IoAcquireCancelSpinLock$0$anon7_Else#1;
+
+ inline$storm_IoAcquireCancelSpinLock$0$anon7_Else#1:
+ assume k != 1;
+ goto inline$storm_IoAcquireCancelSpinLock$0$anon3#1;
+
+ inline$storm_IoAcquireCancelSpinLock$0$anon7_Then#1:
+ assume k == 1;
+ cancelLockStatus_1 := inline$storm_IoAcquireCancelSpinLock$0$$tid$2$185.6$storm_IoAcquireCancelSpinLock;
+ goto inline$storm_IoAcquireCancelSpinLock$0$anon3#1;
+
+ inline$storm_IoAcquireCancelSpinLock$0$anon6_Then#1:
+ assume k == 0;
+ cancelLockStatus_0 := inline$storm_IoAcquireCancelSpinLock$0$$tid$2$185.6$storm_IoAcquireCancelSpinLock;
+ goto inline$storm_IoAcquireCancelSpinLock$0$anon3#1;
+
+ inline$storm_IoAcquireCancelSpinLock$0$anon3#1:
+ call contextSwitch();
+ goto inline$storm_IoAcquireCancelSpinLock$0$label_17#1;
+
+ inline$storm_IoAcquireCancelSpinLock$0$label_17#1:
+ goto inline$storm_IoAcquireCancelSpinLock$0$anon8_Then#1, inline$storm_IoAcquireCancelSpinLock$0$anon8_Else#1;
+
+ inline$storm_IoAcquireCancelSpinLock$0$anon8_Else#1:
+ assume __storm_init;
+ goto inline$storm_IoAcquireCancelSpinLock$0$anon5#1;
+
+ inline$storm_IoAcquireCancelSpinLock$0$anon8_Then#1:
+ assume !__storm_init;
+ __storm_atomic := false;
+ goto inline$storm_IoAcquireCancelSpinLock$0$anon5#1;
+
+ inline$storm_IoAcquireCancelSpinLock$0$anon5#1:
+ call contextSwitch();
+ goto inline$storm_IoAcquireCancelSpinLock$0$label_1#1;
+
+ inline$storm_IoAcquireCancelSpinLock$0$label_1#1:
+ goto inline$storm_IoAcquireCancelSpinLock$0$Return#1;
+
+ inline$storm_IoAcquireCancelSpinLock$0$Return#1:
+ goto inline$storm_IoCancelIrp$0$label_13$1#1;
+
+ inline$storm_IoCancelIrp$0$label_13$1#1:
+ havoc inline$storm_IoCancelIrp$0$myNondetVar_0;
+ goto inline$storm_IoCancelIrp$0$label_16#1;
+
+ inline$storm_IoCancelIrp$0$label_16#1:
+ goto inline$storm_IoCancelIrp$0$label_16_true#1, inline$storm_IoCancelIrp$0$label_16_false#1;
+
+ inline$storm_IoCancelIrp$0$label_16_false#1:
+ assume inline$storm_IoCancelIrp$0$$oldCancelRoutine$2$352.17$storm_IoCancelIrp == 0;
+ goto inline$storm_IoCancelIrp$0$label_17#1;
+
+ inline$storm_IoCancelIrp$0$label_17#1:
+ goto inline$storm_IoCancelIrp$0$label_1#1;
+
+ inline$storm_IoCancelIrp$0$label_16_true#1:
+ assume inline$storm_IoCancelIrp$0$$oldCancelRoutine$2$352.17$storm_IoCancelIrp != 0;
+ goto inline$storm_IoCancelIrp$0$label_18#1;
+
+ inline$storm_IoCancelIrp$0$label_18#1:
+ goto inline$storm_IoCancelIrp$0$label_19#1;
+
+ inline$storm_IoCancelIrp$0$label_19#1:
+ call inline$storm_IoCancelIrp$0$$result.storm_nondet$365.4$2$ := storm_nondet();
+ goto inline$storm_IoCancelIrp$0$label_22#1;
+
+ inline$storm_IoCancelIrp$0$label_22#1:
+ goto inline$storm_IoCancelIrp$0$label_22_true#1, inline$storm_IoCancelIrp$0$label_22_false#1;
+
+ inline$storm_IoCancelIrp$0$label_22_false#1:
+ assume inline$storm_IoCancelIrp$0$$result.storm_nondet$365.4$2$ == 0;
+ goto inline$storm_IoCancelIrp$0$label_23#1;
+
+ inline$storm_IoCancelIrp$0$label_22_true#1:
+ assume inline$storm_IoCancelIrp$0$$result.storm_nondet$365.4$2$ != 0;
+ goto inline$storm_IoCancelIrp$0$label_24#1;
+
+ inline$storm_IoCancelIrp$0$label_24#1:
+ assume k == 0 ==> INT_EQ(Res_0_COMPLETED[inline$storm_IoCancelIrp$0$$Irp$1$349.10$storm_IoCancelIrp], 1);
+ assume k == 1 ==> INT_EQ(Res_1_COMPLETED[inline$storm_IoCancelIrp$0$$Irp$1$349.10$storm_IoCancelIrp], 1);
+ call contextSwitch();
+ goto inline$storm_IoCancelIrp$0$label_25#1;
+
+ inline$storm_IoCancelIrp$0$label_25#1:
+ goto inline$storm_IoCancelIrp$0$label_25_true#1, inline$storm_IoCancelIrp$0$label_25_false#1;
+
+ inline$storm_IoCancelIrp$0$label_25_false#1:
+ assume 0 == 0;
+ goto inline$storm_IoCancelIrp$0$label_26#1;
+
+ inline$storm_IoCancelIrp$0$label_26#1:
+ errorReached := true;
+ raiseException := true;
+ __storm_atomic := false;
+ __storm_init := false;
+ goto inline$storm_IoCancelIrp$0$label_1#1;
+
+ inline$storm_IoCancelIrp$0$label_25_true#1:
+ assume 0 != 0;
+ goto inline$storm_IoCancelIrp$0$label_23#1;
+
+ inline$storm_IoCancelIrp$0$label_23#1:
+ goto inline$storm_IoCancelIrp$0$label_1#1;
+
+ inline$storm_IoCancelIrp$0$label_1#1:
+ goto inline$storm_IoCancelIrp$0$Return#1;
+
+ inline$storm_IoCancelIrp$0$Return#1:
+ goto inline$cancel$0$label_3$1#1;
+
+ inline$cancel$0$label_3$1#1:
+ goto inline$cancel$0$label_1#1;
+
+ inline$cancel$0$label_1#1:
+ goto inline$cancel$0$Return#1;
+
+ inline$cancel$0$Return#1:
+ goto label_24$1#1;
+
+ label_24$1#1:
+ goto anon15_Then#1, anon15_Else#1;
+
+ anon15_Else#1:
+ assume !(errorReached || !raiseException);
+ goto anon9#1;
+
+ anon15_Then#1:
+ assume errorReached || !raiseException;
+ __storm_thread_done_2 := true;
+ goto anon9#1;
+
+ anon9#1:
+ k := k_old_1;
+ tid := tid_old_1;
+ goto label_1#1;
+
+ label_1#1:
+ assume Mem_0_T.CancelRoutine__IRP == Mem_s_1_T.CancelRoutine__IRP;
+ assume Mem_0_T.Cancel__IRP == Mem_s_1_T.Cancel__IRP;
+ assume Mem_0_T.CurrentStackLocation___unnamed_4_3c640f23 == Mem_s_1_T.CurrentStackLocation___unnamed_4_3c640f23;
+ assume Mem_0_T.DeviceExtension__DEVICE_OBJECT == Mem_s_1_T.DeviceExtension__DEVICE_OBJECT;
+ assume Mem_0_T.DeviceObject__IO_STACK_LOCATION == Mem_s_1_T.DeviceObject__IO_STACK_LOCATION;
+ assume cancelLockStatus_0 == cancelLockStatus_s_1;
+ assume Res_0_COMPLETED == Res_s_1_COMPLETED;
+ assume Res_0_LOCK == Res_s_1_LOCK;
+ assert !errorReached;
+ return;
+}
+
+
+