/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/ntdrivers/kbfiltr.i.cil-2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 08:27:02,827 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 08:27:02,829 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 08:27:02,862 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 08:27:02,863 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 08:27:02,863 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 08:27:02,865 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 08:27:02,867 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 08:27:02,868 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 08:27:02,868 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 08:27:02,869 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 08:27:02,870 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 08:27:02,870 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 08:27:02,870 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 08:27:02,871 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 08:27:02,873 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 08:27:02,873 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 08:27:02,875 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 08:27:02,876 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 08:27:02,880 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 08:27:02,882 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 08:27:02,882 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 08:27:02,883 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 08:27:02,883 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 08:27:02,884 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 08:27:02,888 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 08:27:02,889 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 08:27:02,889 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 08:27:02,889 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 08:27:02,890 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 08:27:02,890 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 08:27:02,891 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 08:27:02,892 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 08:27:02,892 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 08:27:02,892 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 08:27:02,893 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 08:27:02,893 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 08:27:02,894 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 08:27:02,894 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 08:27:02,894 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 08:27:02,894 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 08:27:02,895 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 08:27:02,897 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-08 08:27:02,905 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 08:27:02,905 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 08:27:02,906 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 08:27:02,906 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-08 08:27:02,906 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 08:27:02,907 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-08 08:27:02,907 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 08:27:02,907 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 08:27:02,907 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 08:27:02,907 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 08:27:02,908 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-08 08:27:02,908 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 08:27:02,908 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 08:27:02,908 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 08:27:02,908 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 08:27:02,908 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 08:27:02,908 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 08:27:02,908 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 08:27:02,908 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 08:27:02,908 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 08:27:02,908 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 08:27:02,908 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 08:27:02,909 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 08:27:02,909 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 08:27:02,909 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-08 08:27:02,909 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-08 08:27:03,104 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 08:27:03,125 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 08:27:03,127 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 08:27:03,128 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 08:27:03,128 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 08:27:03,129 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/ntdrivers/kbfiltr.i.cil-2.c [2022-04-08 08:27:03,189 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/657b6f754/ea8e5a1fc2f44e6db1ce144f46972d2c/FLAG652c4a5ec [2022-04-08 08:27:03,624 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 08:27:03,625 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/ntdrivers/kbfiltr.i.cil-2.c [2022-04-08 08:27:03,653 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/657b6f754/ea8e5a1fc2f44e6db1ce144f46972d2c/FLAG652c4a5ec [2022-04-08 08:27:03,945 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/657b6f754/ea8e5a1fc2f44e6db1ce144f46972d2c [2022-04-08 08:27:03,946 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 08:27:03,947 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 08:27:03,957 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 08:27:03,958 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 08:27:03,960 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 08:27:03,961 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 08:27:03" (1/1) ... [2022-04-08 08:27:03,962 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@746a4f80 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 08:27:03, skipping insertion in model container [2022-04-08 08:27:03,962 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 08:27:03" (1/1) ... [2022-04-08 08:27:03,966 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 08:27:04,022 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 08:27:04,376 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/ntdrivers/kbfiltr.i.cil-2.c[62209,62222] [2022-04-08 08:27:04,554 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 08:27:04,562 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 08:27:04,631 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/ntdrivers/kbfiltr.i.cil-2.c[62209,62222] [2022-04-08 08:27:04,726 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 08:27:04,746 INFO L208 MainTranslator]: Completed translation [2022-04-08 08:27:04,747 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 08:27:04 WrapperNode [2022-04-08 08:27:04,751 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 08:27:04,752 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 08:27:04,752 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 08:27:04,752 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 08:27:04,759 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 08:27:04" (1/1) ... [2022-04-08 08:27:04,759 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 08:27:04" (1/1) ... [2022-04-08 08:27:04,793 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 08:27:04" (1/1) ... [2022-04-08 08:27:04,793 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 08:27:04" (1/1) ... [2022-04-08 08:27:04,867 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 08:27:04" (1/1) ... [2022-04-08 08:27:04,875 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 08:27:04" (1/1) ... [2022-04-08 08:27:04,891 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 08:27:04" (1/1) ... [2022-04-08 08:27:04,906 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 08:27:04,907 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 08:27:04,907 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 08:27:04,907 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 08:27:04,913 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 08:27:04" (1/1) ... [2022-04-08 08:27:04,918 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 08:27:04,925 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 08:27:04,934 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-08 08:27:04,943 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-08 08:27:04,970 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 08:27:04,970 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 08:27:04,971 INFO L138 BoogieDeclarations]: Found implementation of procedure ##fun~~PVOID~0~X~~PVOID~0~X~$Pointer$~X~$Pointer$~X~~PBOOLEAN~0~TO~~NTSTATUS~0 [2022-04-08 08:27:04,971 INFO L138 BoogieDeclarations]: Found implementation of procedure ##fun~~PVOID~0~X~~PKEYBOARD_INPUT_DATA~0~X~~POUTPUT_PACKET~0~X~~UCHAR~0~X~~PUCHAR~0~X~~PBOOLEAN~0~X~~PKEYBOARD_SCAN_STATE~0~TO~~BOOLEAN~0 [2022-04-08 08:27:04,971 INFO L138 BoogieDeclarations]: Found implementation of procedure ##fun~~PVOID~0~X~~PVOID~0~X~~PVOID~0~X~~PVOID~0~TO~VOID [2022-04-08 08:27:04,971 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 08:27:04,971 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 08:27:04,971 INFO L138 BoogieDeclarations]: Found implementation of procedure InterlockedIncrement [2022-04-08 08:27:04,971 INFO L138 BoogieDeclarations]: Found implementation of procedure InterlockedDecrement [2022-04-08 08:27:04,971 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_IoCtl [2022-04-08 08:27:04,971 INFO L138 BoogieDeclarations]: Found implementation of procedure errorFn [2022-04-08 08:27:04,972 INFO L138 BoogieDeclarations]: Found implementation of procedure _BLAST_init [2022-04-08 08:27:04,973 INFO L138 BoogieDeclarations]: Found implementation of procedure DriverEntry [2022-04-08 08:27:04,973 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_AddDevice [2022-04-08 08:27:04,973 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_Complete [2022-04-08 08:27:04,973 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_CreateClose [2022-04-08 08:27:04,973 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_DispatchPassThrough [2022-04-08 08:27:04,973 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_InternIoCtl [2022-04-08 08:27:04,973 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_PnP [2022-04-08 08:27:04,973 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_Power [2022-04-08 08:27:04,973 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_InitializationRoutine [2022-04-08 08:27:04,973 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_IsrHook [2022-04-08 08:27:04,973 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_ServiceCallback [2022-04-08 08:27:04,973 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_Unload [2022-04-08 08:27:04,973 INFO L138 BoogieDeclarations]: Found implementation of procedure stub_driver_init [2022-04-08 08:27:04,973 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 08:27:04,974 INFO L138 BoogieDeclarations]: Found implementation of procedure ExAcquireFastMutex [2022-04-08 08:27:04,974 INFO L138 BoogieDeclarations]: Found implementation of procedure ExReleaseFastMutex [2022-04-08 08:27:04,974 INFO L138 BoogieDeclarations]: Found implementation of procedure ExAllocatePoolWithTag [2022-04-08 08:27:04,974 INFO L138 BoogieDeclarations]: Found implementation of procedure ExFreePool [2022-04-08 08:27:04,974 INFO L138 BoogieDeclarations]: Found implementation of procedure ExfInterlockedInsertHeadList [2022-04-08 08:27:04,974 INFO L138 BoogieDeclarations]: Found implementation of procedure ExfInterlockedInsertTailList [2022-04-08 08:27:04,974 INFO L138 BoogieDeclarations]: Found implementation of procedure ExfInterlockedRemoveHeadList [2022-04-08 08:27:04,974 INFO L138 BoogieDeclarations]: Found implementation of procedure IoAllocateMdl [2022-04-08 08:27:04,974 INFO L138 BoogieDeclarations]: Found implementation of procedure IoAttachDeviceToDeviceStack [2022-04-08 08:27:04,974 INFO L138 BoogieDeclarations]: Found implementation of procedure IoBuildAsynchronousFsdRequest [2022-04-08 08:27:04,974 INFO L138 BoogieDeclarations]: Found implementation of procedure IoBuildDeviceIoControlRequest [2022-04-08 08:27:04,974 INFO L138 BoogieDeclarations]: Found implementation of procedure IoCreateDevice [2022-04-08 08:27:04,974 INFO L138 BoogieDeclarations]: Found implementation of procedure IoCreateSymbolicLink [2022-04-08 08:27:04,997 INFO L138 BoogieDeclarations]: Found implementation of procedure IoDeleteDevice [2022-04-08 08:27:04,997 INFO L138 BoogieDeclarations]: Found implementation of procedure IoDeleteSymbolicLink [2022-04-08 08:27:04,997 INFO L138 BoogieDeclarations]: Found implementation of procedure IoDetachDevice [2022-04-08 08:27:04,997 INFO L138 BoogieDeclarations]: Found implementation of procedure IoFreeIrp [2022-04-08 08:27:04,997 INFO L138 BoogieDeclarations]: Found implementation of procedure IoFreeMdl [2022-04-08 08:27:04,997 INFO L138 BoogieDeclarations]: Found implementation of procedure IoGetConfigurationInformation [2022-04-08 08:27:04,998 INFO L138 BoogieDeclarations]: Found implementation of procedure IoQueryDeviceDescription [2022-04-08 08:27:04,998 INFO L138 BoogieDeclarations]: Found implementation of procedure IoRegisterDeviceInterface [2022-04-08 08:27:04,998 INFO L138 BoogieDeclarations]: Found implementation of procedure IoReleaseCancelSpinLock [2022-04-08 08:27:04,998 INFO L138 BoogieDeclarations]: Found implementation of procedure IoSetDeviceInterfaceState [2022-04-08 08:27:04,998 INFO L138 BoogieDeclarations]: Found implementation of procedure IoSetHardErrorOrVerifyDevice [2022-04-08 08:27:04,998 INFO L138 BoogieDeclarations]: Found implementation of procedure stubMoreProcessingRequired [2022-04-08 08:27:04,998 INFO L138 BoogieDeclarations]: Found implementation of procedure IofCallDriver [2022-04-08 08:27:04,998 INFO L138 BoogieDeclarations]: Found implementation of procedure IofCompleteRequest [2022-04-08 08:27:04,998 INFO L138 BoogieDeclarations]: Found implementation of procedure KeAcquireSpinLockRaiseToDpc [2022-04-08 08:27:04,998 INFO L138 BoogieDeclarations]: Found implementation of procedure KeDelayExecutionThread [2022-04-08 08:27:04,998 INFO L138 BoogieDeclarations]: Found implementation of procedure KeInitializeEvent [2022-04-08 08:27:04,998 INFO L138 BoogieDeclarations]: Found implementation of procedure KeInitializeSemaphore [2022-04-08 08:27:04,998 INFO L138 BoogieDeclarations]: Found implementation of procedure KeInitializeSpinLock [2022-04-08 08:27:04,998 INFO L138 BoogieDeclarations]: Found implementation of procedure KeReleaseSemaphore [2022-04-08 08:27:04,999 INFO L138 BoogieDeclarations]: Found implementation of procedure KfReleaseSpinLock [2022-04-08 08:27:04,999 INFO L138 BoogieDeclarations]: Found implementation of procedure KeSetEvent [2022-04-08 08:27:04,999 INFO L138 BoogieDeclarations]: Found implementation of procedure KeWaitForSingleObject [2022-04-08 08:27:04,999 INFO L138 BoogieDeclarations]: Found implementation of procedure MmAllocateContiguousMemory [2022-04-08 08:27:04,999 INFO L138 BoogieDeclarations]: Found implementation of procedure MmFreeContiguousMemory [2022-04-08 08:27:05,000 INFO L138 BoogieDeclarations]: Found implementation of procedure MmMapLockedPagesSpecifyCache [2022-04-08 08:27:05,000 INFO L138 BoogieDeclarations]: Found implementation of procedure MmPageEntireDriver [2022-04-08 08:27:05,000 INFO L138 BoogieDeclarations]: Found implementation of procedure MmResetDriverPaging [2022-04-08 08:27:05,000 INFO L138 BoogieDeclarations]: Found implementation of procedure MmUnlockPages [2022-04-08 08:27:05,000 INFO L138 BoogieDeclarations]: Found implementation of procedure ObReferenceObjectByHandle [2022-04-08 08:27:05,000 INFO L138 BoogieDeclarations]: Found implementation of procedure ObfDereferenceObject [2022-04-08 08:27:05,000 INFO L138 BoogieDeclarations]: Found implementation of procedure PoCallDriver [2022-04-08 08:27:05,001 INFO L138 BoogieDeclarations]: Found implementation of procedure PoStartNextPowerIrp [2022-04-08 08:27:05,001 INFO L138 BoogieDeclarations]: Found implementation of procedure PsCreateSystemThread [2022-04-08 08:27:05,001 INFO L138 BoogieDeclarations]: Found implementation of procedure PsTerminateSystemThread [2022-04-08 08:27:05,001 INFO L138 BoogieDeclarations]: Found implementation of procedure RtlAnsiStringToUnicodeString [2022-04-08 08:27:05,001 INFO L138 BoogieDeclarations]: Found implementation of procedure RtlCompareMemory [2022-04-08 08:27:05,001 INFO L138 BoogieDeclarations]: Found implementation of procedure RtlCopyUnicodeString [2022-04-08 08:27:05,001 INFO L138 BoogieDeclarations]: Found implementation of procedure RtlDeleteRegistryValue [2022-04-08 08:27:05,001 INFO L138 BoogieDeclarations]: Found implementation of procedure RtlFreeUnicodeString [2022-04-08 08:27:05,001 INFO L138 BoogieDeclarations]: Found implementation of procedure RtlInitString [2022-04-08 08:27:05,002 INFO L138 BoogieDeclarations]: Found implementation of procedure RtlInitUnicodeString [2022-04-08 08:27:05,002 INFO L138 BoogieDeclarations]: Found implementation of procedure RtlQueryRegistryValues [2022-04-08 08:27:05,002 INFO L138 BoogieDeclarations]: Found implementation of procedure ZwClose [2022-04-08 08:27:05,002 INFO L138 BoogieDeclarations]: Found implementation of procedure #Ultimate.C_memset [2022-04-08 08:27:05,003 INFO L138 BoogieDeclarations]: Found implementation of procedure #Ultimate.C_memmove [2022-04-08 08:27:05,003 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 08:27:05,003 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 08:27:05,003 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 08:27:05,003 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 08:27:05,003 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_char [2022-04-08 08:27:05,003 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 08:27:05,004 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_long [2022-04-08 08:27:05,004 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_ulong [2022-04-08 08:27:05,004 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 08:27:05,004 INFO L130 BoogieDeclarations]: Found specification of procedure memcpy [2022-04-08 08:27:05,004 INFO L130 BoogieDeclarations]: Found specification of procedure memmove [2022-04-08 08:27:05,004 INFO L130 BoogieDeclarations]: Found specification of procedure memset [2022-04-08 08:27:05,004 INFO L130 BoogieDeclarations]: Found specification of procedure RtlQueryRegistryValues [2022-04-08 08:27:05,004 INFO L130 BoogieDeclarations]: Found specification of procedure RtlDeleteRegistryValue [2022-04-08 08:27:05,004 INFO L130 BoogieDeclarations]: Found specification of procedure RtlInitString [2022-04-08 08:27:05,004 INFO L130 BoogieDeclarations]: Found specification of procedure RtlInitUnicodeString [2022-04-08 08:27:05,004 INFO L130 BoogieDeclarations]: Found specification of procedure RtlAnsiStringToUnicodeString [2022-04-08 08:27:05,004 INFO L130 BoogieDeclarations]: Found specification of procedure RtlCopyUnicodeString [2022-04-08 08:27:05,004 INFO L130 BoogieDeclarations]: Found specification of procedure RtlFreeUnicodeString [2022-04-08 08:27:05,004 INFO L130 BoogieDeclarations]: Found specification of procedure RtlCompareMemory [2022-04-08 08:27:05,005 INFO L130 BoogieDeclarations]: Found specification of procedure InterlockedIncrement [2022-04-08 08:27:05,005 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 08:27:05,005 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 08:27:05,005 INFO L130 BoogieDeclarations]: Found specification of procedure InterlockedDecrement [2022-04-08 08:27:05,006 INFO L130 BoogieDeclarations]: Found specification of procedure KeInitializeEvent [2022-04-08 08:27:05,006 INFO L130 BoogieDeclarations]: Found specification of procedure KeSetEvent [2022-04-08 08:27:05,006 INFO L130 BoogieDeclarations]: Found specification of procedure KeInitializeSemaphore [2022-04-08 08:27:05,006 INFO L130 BoogieDeclarations]: Found specification of procedure KeReleaseSemaphore [2022-04-08 08:27:05,006 INFO L130 BoogieDeclarations]: Found specification of procedure KeDelayExecutionThread [2022-04-08 08:27:05,006 INFO L130 BoogieDeclarations]: Found specification of procedure KeWaitForSingleObject [2022-04-08 08:27:05,007 INFO L130 BoogieDeclarations]: Found specification of procedure KeInitializeSpinLock [2022-04-08 08:27:05,007 INFO L130 BoogieDeclarations]: Found specification of procedure KfReleaseSpinLock [2022-04-08 08:27:05,007 INFO L130 BoogieDeclarations]: Found specification of procedure ExAllocatePoolWithTag [2022-04-08 08:27:05,007 INFO L130 BoogieDeclarations]: Found specification of procedure ExFreePool [2022-04-08 08:27:05,007 INFO L130 BoogieDeclarations]: Found specification of procedure ExAcquireFastMutex [2022-04-08 08:27:05,007 INFO L130 BoogieDeclarations]: Found specification of procedure ExReleaseFastMutex [2022-04-08 08:27:05,007 INFO L130 BoogieDeclarations]: Found specification of procedure ExfInterlockedInsertHeadList [2022-04-08 08:27:05,007 INFO L130 BoogieDeclarations]: Found specification of procedure ExfInterlockedInsertTailList [2022-04-08 08:27:05,007 INFO L130 BoogieDeclarations]: Found specification of procedure ExfInterlockedRemoveHeadList [2022-04-08 08:27:05,007 INFO L130 BoogieDeclarations]: Found specification of procedure MmUnlockPages [2022-04-08 08:27:05,007 INFO L130 BoogieDeclarations]: Found specification of procedure MmMapLockedPagesSpecifyCache [2022-04-08 08:27:05,007 INFO L130 BoogieDeclarations]: Found specification of procedure MmAllocateContiguousMemory [2022-04-08 08:27:05,008 INFO L130 BoogieDeclarations]: Found specification of procedure MmFreeContiguousMemory [2022-04-08 08:27:05,008 INFO L130 BoogieDeclarations]: Found specification of procedure MmResetDriverPaging [2022-04-08 08:27:05,008 INFO L130 BoogieDeclarations]: Found specification of procedure MmPageEntireDriver [2022-04-08 08:27:05,008 INFO L130 BoogieDeclarations]: Found specification of procedure PsCreateSystemThread [2022-04-08 08:27:05,008 INFO L130 BoogieDeclarations]: Found specification of procedure PsTerminateSystemThread [2022-04-08 08:27:05,008 INFO L130 BoogieDeclarations]: Found specification of procedure IoAllocateMdl [2022-04-08 08:27:05,008 INFO L130 BoogieDeclarations]: Found specification of procedure IoAttachDeviceToDeviceStack [2022-04-08 08:27:05,008 INFO L130 BoogieDeclarations]: Found specification of procedure IoBuildAsynchronousFsdRequest [2022-04-08 08:27:05,009 INFO L130 BoogieDeclarations]: Found specification of procedure IoBuildDeviceIoControlRequest [2022-04-08 08:27:05,010 INFO L130 BoogieDeclarations]: Found specification of procedure IofCallDriver [2022-04-08 08:27:05,010 INFO L130 BoogieDeclarations]: Found specification of procedure IofCompleteRequest [2022-04-08 08:27:05,012 INFO L130 BoogieDeclarations]: Found specification of procedure IoCreateDevice [2022-04-08 08:27:05,012 INFO L130 BoogieDeclarations]: Found specification of procedure IoCreateSymbolicLink [2022-04-08 08:27:05,014 INFO L130 BoogieDeclarations]: Found specification of procedure IoDeleteDevice [2022-04-08 08:27:05,014 INFO L130 BoogieDeclarations]: Found specification of procedure IoDeleteSymbolicLink [2022-04-08 08:27:05,014 INFO L130 BoogieDeclarations]: Found specification of procedure IoDetachDevice [2022-04-08 08:27:05,014 INFO L130 BoogieDeclarations]: Found specification of procedure IoFreeIrp [2022-04-08 08:27:05,014 INFO L130 BoogieDeclarations]: Found specification of procedure IoFreeMdl [2022-04-08 08:27:05,014 INFO L130 BoogieDeclarations]: Found specification of procedure IoGetConfigurationInformation [2022-04-08 08:27:05,014 INFO L130 BoogieDeclarations]: Found specification of procedure IoQueryDeviceDescription [2022-04-08 08:27:05,014 INFO L130 BoogieDeclarations]: Found specification of procedure IoReleaseCancelSpinLock [2022-04-08 08:27:05,014 INFO L130 BoogieDeclarations]: Found specification of procedure IoSetHardErrorOrVerifyDevice [2022-04-08 08:27:05,014 INFO L130 BoogieDeclarations]: Found specification of procedure IoRegisterDeviceInterface [2022-04-08 08:27:05,014 INFO L130 BoogieDeclarations]: Found specification of procedure IoSetDeviceInterfaceState [2022-04-08 08:27:05,015 INFO L130 BoogieDeclarations]: Found specification of procedure PoCallDriver [2022-04-08 08:27:05,015 INFO L130 BoogieDeclarations]: Found specification of procedure PoStartNextPowerIrp [2022-04-08 08:27:05,015 INFO L130 BoogieDeclarations]: Found specification of procedure ObReferenceObjectByHandle [2022-04-08 08:27:05,015 INFO L130 BoogieDeclarations]: Found specification of procedure ObfDereferenceObject [2022-04-08 08:27:05,015 INFO L130 BoogieDeclarations]: Found specification of procedure ZwClose [2022-04-08 08:27:05,015 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_AddDevice [2022-04-08 08:27:05,015 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_CreateClose [2022-04-08 08:27:05,015 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_DispatchPassThrough [2022-04-08 08:27:05,015 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_InternIoCtl [2022-04-08 08:27:05,015 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_IoCtl [2022-04-08 08:27:05,015 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_PnP [2022-04-08 08:27:05,015 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_Power [2022-04-08 08:27:05,015 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_InitializationRoutine [2022-04-08 08:27:05,015 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_IsrHook [2022-04-08 08:27:05,015 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_ServiceCallback [2022-04-08 08:27:05,015 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_Unload [2022-04-08 08:27:05,016 INFO L130 BoogieDeclarations]: Found specification of procedure DriverEntry [2022-04-08 08:27:05,016 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2022-04-08 08:27:05,016 INFO L130 BoogieDeclarations]: Found specification of procedure errorFn [2022-04-08 08:27:05,016 INFO L130 BoogieDeclarations]: Found specification of procedure _BLAST_init [2022-04-08 08:27:05,016 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-04-08 08:27:05,016 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-04-08 08:27:05,016 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-04-08 08:27:05,016 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 08:27:05,016 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.C_memset [2022-04-08 08:27:05,016 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_Complete [2022-04-08 08:27:05,016 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.C_memmove [2022-04-08 08:27:05,016 INFO L130 BoogieDeclarations]: Found specification of procedure ##fun~~PVOID~0~X~~PVOID~0~X~$Pointer$~X~$Pointer$~X~~PBOOLEAN~0~TO~~NTSTATUS~0 [2022-04-08 08:27:05,016 INFO L130 BoogieDeclarations]: Found specification of procedure ##fun~~PVOID~0~X~~PKEYBOARD_INPUT_DATA~0~X~~POUTPUT_PACKET~0~X~~UCHAR~0~X~~PUCHAR~0~X~~PBOOLEAN~0~X~~PKEYBOARD_SCAN_STATE~0~TO~~BOOLEAN~0 [2022-04-08 08:27:05,016 INFO L130 BoogieDeclarations]: Found specification of procedure ##fun~~PVOID~0~X~~PVOID~0~X~~PVOID~0~X~~PVOID~0~TO~VOID [2022-04-08 08:27:05,016 INFO L130 BoogieDeclarations]: Found specification of procedure stub_driver_init [2022-04-08 08:27:05,016 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uchar [2022-04-08 08:27:05,017 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 08:27:05,017 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-04-08 08:27:05,017 INFO L130 BoogieDeclarations]: Found specification of procedure stubMoreProcessingRequired [2022-04-08 08:27:05,017 INFO L130 BoogieDeclarations]: Found specification of procedure KeAcquireSpinLockRaiseToDpc [2022-04-08 08:27:05,017 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 08:27:05,017 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 08:27:05,017 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 08:27:05,017 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int [2022-04-08 08:27:05,017 INFO L130 BoogieDeclarations]: Found specification of procedure read~unchecked~int [2022-04-08 08:27:05,017 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~$Pointer$ [2022-04-08 08:27:05,017 INFO L130 BoogieDeclarations]: Found specification of procedure read~unchecked~$Pointer$ [2022-04-08 08:27:05,374 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 08:27:05,376 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 08:27:05,410 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 08:27:05,461 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 08:27:05,461 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 08:27:05,461 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 08:27:05,478 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 08:27:05,479 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 08:27:05,505 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 08:27:05,521 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 08:27:05,521 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 08:27:05,522 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 08:27:05,548 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 08:27:05,548 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 08:27:05,553 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 08:27:05,576 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 08:27:05,577 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 08:27:05,816 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 08:27:05,823 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 08:27:05,823 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 08:27:05,823 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 08:27:05,850 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 08:27:05,850 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 08:27:05,851 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 08:27:05,871 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 08:27:05,871 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 08:27:05,886 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 08:27:05,892 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 08:27:05,892 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 08:27:05,893 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 08:27:05,899 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 08:27:05,899 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 08:27:05,899 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 08:27:05,913 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 08:27:05,913 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 08:27:05,994 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 08:27:06,000 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 08:27:06,001 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 08:27:06,003 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 08:27:06,008 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 08:27:06,008 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 08:27:06,027 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 08:27:06,159 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##43: assume false; [2022-04-08 08:27:06,160 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##44: assume !false; [2022-04-08 08:27:06,170 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 08:27:06,202 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##12: assume !false; [2022-04-08 08:27:06,202 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##11: assume false; [2022-04-08 08:27:06,212 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 08:27:06,216 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 08:27:06,216 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 08:27:06,219 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 08:27:08,026 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##21: assume !false; [2022-04-08 08:27:08,026 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##20: assume false; [2022-04-08 08:27:08,176 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 08:27:08,182 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 08:27:08,182 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 08:27:08,324 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 08:27:08,334 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 08:27:08,334 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 08:27:08,351 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 08:27:08,366 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##12: assume !false; [2022-04-08 08:27:08,366 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##11: assume false; [2022-04-08 08:27:08,376 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 08:27:08,385 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##16: assume !false; [2022-04-08 08:27:08,385 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##15: assume false; [2022-04-08 08:27:08,417 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 08:27:08,423 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 08:27:08,423 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 08:27:08,424 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 08:27:08,459 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##10: assume !false; [2022-04-08 08:27:08,459 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##9: assume false; [2022-04-08 08:27:08,464 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 08:27:08,470 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 08:27:08,470 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 08:27:08,499 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 08:27:08,507 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 08:27:08,507 INFO L299 CfgBuilder]: Removed 0 assume(true) statements. [2022-04-08 08:27:08,509 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 08:27:08 BoogieIcfgContainer [2022-04-08 08:27:08,509 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 08:27:08,510 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 08:27:08,510 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 08:27:08,513 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 08:27:08,513 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 08:27:03" (1/3) ... [2022-04-08 08:27:08,513 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1223c697 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 08:27:08, skipping insertion in model container [2022-04-08 08:27:08,514 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 08:27:04" (2/3) ... [2022-04-08 08:27:08,514 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1223c697 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 08:27:08, skipping insertion in model container [2022-04-08 08:27:08,514 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 08:27:08" (3/3) ... [2022-04-08 08:27:08,515 INFO L111 eAbstractionObserver]: Analyzing ICFG kbfiltr.i.cil-2.c [2022-04-08 08:27:08,521 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 08:27:08,521 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 08:27:08,554 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 08:27:08,568 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-08 08:27:08,568 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 08:27:08,593 INFO L276 IsEmpty]: Start isEmpty. Operand has 308 states, 230 states have (on average 1.5) internal successors, (345), 248 states have internal predecessors, (345), 49 states have call successors, (49), 27 states have call predecessors, (49), 27 states have return successors, (49), 47 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-08 08:27:08,599 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-04-08 08:27:08,599 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:27:08,600 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:27:08,600 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:27:08,603 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:27:08,604 INFO L85 PathProgramCache]: Analyzing trace with hash 1774662017, now seen corresponding path program 1 times [2022-04-08 08:27:08,609 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:27:08,609 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1697838375] [2022-04-08 08:27:08,616 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 08:27:08,617 INFO L85 PathProgramCache]: Analyzing trace with hash 1774662017, now seen corresponding path program 2 times [2022-04-08 08:27:08,619 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:27:08,619 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1902198234] [2022-04-08 08:27:08,619 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:27:08,620 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:27:08,880 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:27:09,003 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:27:09,009 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:27:09,054 INFO L290 TraceCheckUtils]: 0: Hoare triple {328#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {311#true} is VALID [2022-04-08 08:27:09,054 INFO L290 TraceCheckUtils]: 1: Hoare triple {311#true} assume true; {311#true} is VALID [2022-04-08 08:27:09,054 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {311#true} {311#true} #1270#return; {311#true} is VALID [2022-04-08 08:27:09,081 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:27:09,086 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:27:09,132 INFO L290 TraceCheckUtils]: 0: Hoare triple {329#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {311#true} is VALID [2022-04-08 08:27:09,133 INFO L290 TraceCheckUtils]: 1: Hoare triple {311#true} assume true; {311#true} is VALID [2022-04-08 08:27:09,133 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {311#true} {311#true} #1216#return; {311#true} is VALID [2022-04-08 08:27:09,139 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:27:09,153 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:27:09,172 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:27:09,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:27:09,187 INFO L290 TraceCheckUtils]: 0: Hoare triple {311#true} ~cond := #in~cond; {311#true} is VALID [2022-04-08 08:27:09,188 INFO L290 TraceCheckUtils]: 1: Hoare triple {311#true} assume 0 == ~cond;assume false; {312#false} is VALID [2022-04-08 08:27:09,188 INFO L290 TraceCheckUtils]: 2: Hoare triple {312#false} assume true; {312#false} is VALID [2022-04-08 08:27:09,188 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {312#false} {311#true} #1254#return; {312#false} is VALID [2022-04-08 08:27:09,189 INFO L290 TraceCheckUtils]: 0: Hoare triple {330#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {311#true} is VALID [2022-04-08 08:27:09,190 INFO L272 TraceCheckUtils]: 1: Hoare triple {311#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {311#true} is VALID [2022-04-08 08:27:09,190 INFO L290 TraceCheckUtils]: 2: Hoare triple {311#true} ~cond := #in~cond; {311#true} is VALID [2022-04-08 08:27:09,190 INFO L290 TraceCheckUtils]: 3: Hoare triple {311#true} assume 0 == ~cond;assume false; {312#false} is VALID [2022-04-08 08:27:09,191 INFO L290 TraceCheckUtils]: 4: Hoare triple {312#false} assume true; {312#false} is VALID [2022-04-08 08:27:09,192 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {312#false} {311#true} #1254#return; {312#false} is VALID [2022-04-08 08:27:09,192 INFO L290 TraceCheckUtils]: 6: Hoare triple {312#false} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {312#false} is VALID [2022-04-08 08:27:09,192 INFO L290 TraceCheckUtils]: 7: Hoare triple {312#false} assume true; {312#false} is VALID [2022-04-08 08:27:09,193 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {312#false} {311#true} #1218#return; {312#false} is VALID [2022-04-08 08:27:09,194 INFO L272 TraceCheckUtils]: 0: Hoare triple {311#true} call ULTIMATE.init(); {328#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:27:09,195 INFO L290 TraceCheckUtils]: 1: Hoare triple {328#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {311#true} is VALID [2022-04-08 08:27:09,195 INFO L290 TraceCheckUtils]: 2: Hoare triple {311#true} assume true; {311#true} is VALID [2022-04-08 08:27:09,195 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {311#true} {311#true} #1270#return; {311#true} is VALID [2022-04-08 08:27:09,195 INFO L272 TraceCheckUtils]: 4: Hoare triple {311#true} call #t~ret213 := main(); {311#true} is VALID [2022-04-08 08:27:09,199 INFO L290 TraceCheckUtils]: 5: Hoare triple {311#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {311#true} is VALID [2022-04-08 08:27:09,200 INFO L272 TraceCheckUtils]: 6: Hoare triple {311#true} call _BLAST_init(); {329#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:27:09,201 INFO L290 TraceCheckUtils]: 7: Hoare triple {329#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {311#true} is VALID [2022-04-08 08:27:09,201 INFO L290 TraceCheckUtils]: 8: Hoare triple {311#true} assume true; {311#true} is VALID [2022-04-08 08:27:09,201 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {311#true} {311#true} #1216#return; {311#true} is VALID [2022-04-08 08:27:09,202 INFO L272 TraceCheckUtils]: 10: Hoare triple {311#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {330#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:27:09,202 INFO L290 TraceCheckUtils]: 11: Hoare triple {330#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {311#true} is VALID [2022-04-08 08:27:09,202 INFO L272 TraceCheckUtils]: 12: Hoare triple {311#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {311#true} is VALID [2022-04-08 08:27:09,202 INFO L290 TraceCheckUtils]: 13: Hoare triple {311#true} ~cond := #in~cond; {311#true} is VALID [2022-04-08 08:27:09,203 INFO L290 TraceCheckUtils]: 14: Hoare triple {311#true} assume 0 == ~cond;assume false; {312#false} is VALID [2022-04-08 08:27:09,203 INFO L290 TraceCheckUtils]: 15: Hoare triple {312#false} assume true; {312#false} is VALID [2022-04-08 08:27:09,203 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {312#false} {311#true} #1254#return; {312#false} is VALID [2022-04-08 08:27:09,203 INFO L290 TraceCheckUtils]: 17: Hoare triple {312#false} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {312#false} is VALID [2022-04-08 08:27:09,203 INFO L290 TraceCheckUtils]: 18: Hoare triple {312#false} assume true; {312#false} is VALID [2022-04-08 08:27:09,203 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {312#false} {311#true} #1218#return; {312#false} is VALID [2022-04-08 08:27:09,203 INFO L290 TraceCheckUtils]: 20: Hoare triple {312#false} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {312#false} is VALID [2022-04-08 08:27:09,204 INFO L290 TraceCheckUtils]: 21: Hoare triple {312#false} assume !(~status~5 >= 0); {312#false} is VALID [2022-04-08 08:27:09,205 INFO L290 TraceCheckUtils]: 22: Hoare triple {312#false} assume !(1 == ~pended~0); {312#false} is VALID [2022-04-08 08:27:09,205 INFO L290 TraceCheckUtils]: 23: Hoare triple {312#false} assume !(1 == ~pended~0); {312#false} is VALID [2022-04-08 08:27:09,205 INFO L290 TraceCheckUtils]: 24: Hoare triple {312#false} assume !(~s~0 == ~UNLOADED~0); {312#false} is VALID [2022-04-08 08:27:09,205 INFO L290 TraceCheckUtils]: 25: Hoare triple {312#false} assume !(-1 == ~status~5); {312#false} is VALID [2022-04-08 08:27:09,205 INFO L290 TraceCheckUtils]: 26: Hoare triple {312#false} assume !(~s~0 != ~SKIP2~0); {312#false} is VALID [2022-04-08 08:27:09,205 INFO L290 TraceCheckUtils]: 27: Hoare triple {312#false} assume 1 == ~pended~0; {312#false} is VALID [2022-04-08 08:27:09,205 INFO L290 TraceCheckUtils]: 28: Hoare triple {312#false} assume 259 != ~status~5; {312#false} is VALID [2022-04-08 08:27:09,208 INFO L272 TraceCheckUtils]: 29: Hoare triple {312#false} call errorFn(); {312#false} is VALID [2022-04-08 08:27:09,208 INFO L290 TraceCheckUtils]: 30: Hoare triple {312#false} assume !false; {312#false} is VALID [2022-04-08 08:27:09,208 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 08:27:09,209 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:27:09,209 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1902198234] [2022-04-08 08:27:09,209 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1902198234] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:27:09,210 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:27:09,210 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 08:27:09,211 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:27:09,212 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1697838375] [2022-04-08 08:27:09,212 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1697838375] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:27:09,212 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:27:09,212 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 08:27:09,212 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [207151435] [2022-04-08 08:27:09,213 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:27:09,217 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.2) internal successors, (21), 2 states have internal predecessors, (21), 2 states have call successors, (6), 5 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 31 [2022-04-08 08:27:09,218 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:27:09,221 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.2) internal successors, (21), 2 states have internal predecessors, (21), 2 states have call successors, (6), 5 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 08:27:09,262 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:27:09,262 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 08:27:09,262 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:27:09,283 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 08:27:09,284 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-08 08:27:09,290 INFO L87 Difference]: Start difference. First operand has 308 states, 230 states have (on average 1.5) internal successors, (345), 248 states have internal predecessors, (345), 49 states have call successors, (49), 27 states have call predecessors, (49), 27 states have return successors, (49), 47 states have call predecessors, (49), 49 states have call successors, (49) Second operand has 5 states, 5 states have (on average 4.2) internal successors, (21), 2 states have internal predecessors, (21), 2 states have call successors, (6), 5 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 08:27:11,394 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:27:16,529 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:27:16,529 INFO L93 Difference]: Finished difference Result 643 states and 953 transitions. [2022-04-08 08:27:16,529 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 08:27:16,530 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.2) internal successors, (21), 2 states have internal predecessors, (21), 2 states have call successors, (6), 5 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 31 [2022-04-08 08:27:16,530 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:27:16,531 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.2) internal successors, (21), 2 states have internal predecessors, (21), 2 states have call successors, (6), 5 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 08:27:16,561 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 953 transitions. [2022-04-08 08:27:16,561 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.2) internal successors, (21), 2 states have internal predecessors, (21), 2 states have call successors, (6), 5 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 08:27:16,578 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 953 transitions. [2022-04-08 08:27:16,578 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 953 transitions. [2022-04-08 08:27:17,587 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 953 edges. 953 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:27:17,615 INFO L225 Difference]: With dead ends: 643 [2022-04-08 08:27:17,615 INFO L226 Difference]: Without dead ends: 343 [2022-04-08 08:27:17,619 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 10 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=13, Invalid=17, Unknown=0, NotChecked=0, Total=30 [2022-04-08 08:27:17,622 INFO L913 BasicCegarLoop]: 335 mSDtfsCounter, 597 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 379 mSolverCounterSat, 220 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 602 SdHoareTripleChecker+Valid, 463 SdHoareTripleChecker+Invalid, 600 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 220 IncrementalHoareTripleChecker+Valid, 379 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.0s IncrementalHoareTripleChecker+Time [2022-04-08 08:27:17,623 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [602 Valid, 463 Invalid, 600 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [220 Valid, 379 Invalid, 1 Unknown, 0 Unchecked, 4.0s Time] [2022-04-08 08:27:17,638 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 343 states. [2022-04-08 08:27:17,720 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 343 to 299. [2022-04-08 08:27:17,720 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:27:17,727 INFO L82 GeneralOperation]: Start isEquivalent. First operand 343 states. Second operand has 299 states, 224 states have (on average 1.4464285714285714) internal successors, (324), 240 states have internal predecessors, (324), 49 states have call successors, (49), 27 states have call predecessors, (49), 25 states have return successors, (34), 34 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-08 08:27:17,729 INFO L74 IsIncluded]: Start isIncluded. First operand 343 states. Second operand has 299 states, 224 states have (on average 1.4464285714285714) internal successors, (324), 240 states have internal predecessors, (324), 49 states have call successors, (49), 27 states have call predecessors, (49), 25 states have return successors, (34), 34 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-08 08:27:17,731 INFO L87 Difference]: Start difference. First operand 343 states. Second operand has 299 states, 224 states have (on average 1.4464285714285714) internal successors, (324), 240 states have internal predecessors, (324), 49 states have call successors, (49), 27 states have call predecessors, (49), 25 states have return successors, (34), 34 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-08 08:27:17,764 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:27:17,764 INFO L93 Difference]: Finished difference Result 343 states and 471 transitions. [2022-04-08 08:27:17,764 INFO L276 IsEmpty]: Start isEmpty. Operand 343 states and 471 transitions. [2022-04-08 08:27:17,774 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:27:17,774 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:27:17,777 INFO L74 IsIncluded]: Start isIncluded. First operand has 299 states, 224 states have (on average 1.4464285714285714) internal successors, (324), 240 states have internal predecessors, (324), 49 states have call successors, (49), 27 states have call predecessors, (49), 25 states have return successors, (34), 34 states have call predecessors, (34), 34 states have call successors, (34) Second operand 343 states. [2022-04-08 08:27:17,779 INFO L87 Difference]: Start difference. First operand has 299 states, 224 states have (on average 1.4464285714285714) internal successors, (324), 240 states have internal predecessors, (324), 49 states have call successors, (49), 27 states have call predecessors, (49), 25 states have return successors, (34), 34 states have call predecessors, (34), 34 states have call successors, (34) Second operand 343 states. [2022-04-08 08:27:17,809 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:27:17,809 INFO L93 Difference]: Finished difference Result 343 states and 471 transitions. [2022-04-08 08:27:17,809 INFO L276 IsEmpty]: Start isEmpty. Operand 343 states and 471 transitions. [2022-04-08 08:27:17,810 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:27:17,810 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:27:17,811 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:27:17,811 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:27:17,813 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 299 states, 224 states have (on average 1.4464285714285714) internal successors, (324), 240 states have internal predecessors, (324), 49 states have call successors, (49), 27 states have call predecessors, (49), 25 states have return successors, (34), 34 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-08 08:27:17,836 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 299 states to 299 states and 407 transitions. [2022-04-08 08:27:17,838 INFO L78 Accepts]: Start accepts. Automaton has 299 states and 407 transitions. Word has length 31 [2022-04-08 08:27:17,839 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:27:17,839 INFO L478 AbstractCegarLoop]: Abstraction has 299 states and 407 transitions. [2022-04-08 08:27:17,839 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.2) internal successors, (21), 2 states have internal predecessors, (21), 2 states have call successors, (6), 5 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 08:27:17,839 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 299 states and 407 transitions. [2022-04-08 08:27:18,399 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 407 edges. 407 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:27:18,400 INFO L276 IsEmpty]: Start isEmpty. Operand 299 states and 407 transitions. [2022-04-08 08:27:18,400 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-04-08 08:27:18,400 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:27:18,400 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:27:18,401 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 08:27:18,401 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:27:18,401 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:27:18,401 INFO L85 PathProgramCache]: Analyzing trace with hash 186314115, now seen corresponding path program 1 times [2022-04-08 08:27:18,401 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:27:18,401 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [408668160] [2022-04-08 08:27:18,402 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 08:27:18,402 INFO L85 PathProgramCache]: Analyzing trace with hash 186314115, now seen corresponding path program 2 times [2022-04-08 08:27:18,402 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:27:18,402 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1733686124] [2022-04-08 08:27:18,402 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:27:18,402 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:27:18,518 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:27:18,685 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:27:18,688 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:27:18,708 INFO L290 TraceCheckUtils]: 0: Hoare triple {2929#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {2910#true} is VALID [2022-04-08 08:27:18,708 INFO L290 TraceCheckUtils]: 1: Hoare triple {2910#true} assume true; {2910#true} is VALID [2022-04-08 08:27:18,709 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2910#true} {2910#true} #1270#return; {2910#true} is VALID [2022-04-08 08:27:18,738 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:27:18,741 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:27:18,752 INFO L290 TraceCheckUtils]: 0: Hoare triple {2930#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {2910#true} is VALID [2022-04-08 08:27:18,752 INFO L290 TraceCheckUtils]: 1: Hoare triple {2910#true} assume true; {2910#true} is VALID [2022-04-08 08:27:18,752 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2910#true} {2910#true} #1216#return; {2910#true} is VALID [2022-04-08 08:27:18,761 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:27:18,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:27:18,808 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:27:18,809 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:27:18,818 INFO L290 TraceCheckUtils]: 0: Hoare triple {2910#true} ~cond := #in~cond; {2910#true} is VALID [2022-04-08 08:27:18,819 INFO L290 TraceCheckUtils]: 1: Hoare triple {2910#true} assume !(0 == ~cond); {2910#true} is VALID [2022-04-08 08:27:18,819 INFO L290 TraceCheckUtils]: 2: Hoare triple {2910#true} assume true; {2910#true} is VALID [2022-04-08 08:27:18,819 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2910#true} {2910#true} #1254#return; {2910#true} is VALID [2022-04-08 08:27:18,819 INFO L290 TraceCheckUtils]: 0: Hoare triple {2931#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {2910#true} is VALID [2022-04-08 08:27:18,820 INFO L272 TraceCheckUtils]: 1: Hoare triple {2910#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {2910#true} is VALID [2022-04-08 08:27:18,820 INFO L290 TraceCheckUtils]: 2: Hoare triple {2910#true} ~cond := #in~cond; {2910#true} is VALID [2022-04-08 08:27:18,820 INFO L290 TraceCheckUtils]: 3: Hoare triple {2910#true} assume !(0 == ~cond); {2910#true} is VALID [2022-04-08 08:27:18,820 INFO L290 TraceCheckUtils]: 4: Hoare triple {2910#true} assume true; {2910#true} is VALID [2022-04-08 08:27:18,820 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {2910#true} {2910#true} #1254#return; {2910#true} is VALID [2022-04-08 08:27:18,821 INFO L290 TraceCheckUtils]: 6: Hoare triple {2910#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {2936#(= |DriverEntry_#res| 0)} is VALID [2022-04-08 08:27:18,821 INFO L290 TraceCheckUtils]: 7: Hoare triple {2936#(= |DriverEntry_#res| 0)} assume true; {2936#(= |DriverEntry_#res| 0)} is VALID [2022-04-08 08:27:18,822 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {2936#(= |DriverEntry_#res| 0)} {2910#true} #1218#return; {2927#(= 0 |main_#t~ret169|)} is VALID [2022-04-08 08:27:18,824 INFO L272 TraceCheckUtils]: 0: Hoare triple {2910#true} call ULTIMATE.init(); {2929#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:27:18,824 INFO L290 TraceCheckUtils]: 1: Hoare triple {2929#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {2910#true} is VALID [2022-04-08 08:27:18,824 INFO L290 TraceCheckUtils]: 2: Hoare triple {2910#true} assume true; {2910#true} is VALID [2022-04-08 08:27:18,824 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2910#true} {2910#true} #1270#return; {2910#true} is VALID [2022-04-08 08:27:18,825 INFO L272 TraceCheckUtils]: 4: Hoare triple {2910#true} call #t~ret213 := main(); {2910#true} is VALID [2022-04-08 08:27:18,825 INFO L290 TraceCheckUtils]: 5: Hoare triple {2910#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {2910#true} is VALID [2022-04-08 08:27:18,826 INFO L272 TraceCheckUtils]: 6: Hoare triple {2910#true} call _BLAST_init(); {2930#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:27:18,826 INFO L290 TraceCheckUtils]: 7: Hoare triple {2930#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {2910#true} is VALID [2022-04-08 08:27:18,827 INFO L290 TraceCheckUtils]: 8: Hoare triple {2910#true} assume true; {2910#true} is VALID [2022-04-08 08:27:18,827 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2910#true} {2910#true} #1216#return; {2910#true} is VALID [2022-04-08 08:27:18,828 INFO L272 TraceCheckUtils]: 10: Hoare triple {2910#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {2931#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:27:18,828 INFO L290 TraceCheckUtils]: 11: Hoare triple {2931#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {2910#true} is VALID [2022-04-08 08:27:18,828 INFO L272 TraceCheckUtils]: 12: Hoare triple {2910#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {2910#true} is VALID [2022-04-08 08:27:18,828 INFO L290 TraceCheckUtils]: 13: Hoare triple {2910#true} ~cond := #in~cond; {2910#true} is VALID [2022-04-08 08:27:18,828 INFO L290 TraceCheckUtils]: 14: Hoare triple {2910#true} assume !(0 == ~cond); {2910#true} is VALID [2022-04-08 08:27:18,828 INFO L290 TraceCheckUtils]: 15: Hoare triple {2910#true} assume true; {2910#true} is VALID [2022-04-08 08:27:18,829 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2910#true} {2910#true} #1254#return; {2910#true} is VALID [2022-04-08 08:27:18,829 INFO L290 TraceCheckUtils]: 17: Hoare triple {2910#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {2936#(= |DriverEntry_#res| 0)} is VALID [2022-04-08 08:27:18,829 INFO L290 TraceCheckUtils]: 18: Hoare triple {2936#(= |DriverEntry_#res| 0)} assume true; {2936#(= |DriverEntry_#res| 0)} is VALID [2022-04-08 08:27:18,830 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {2936#(= |DriverEntry_#res| 0)} {2910#true} #1218#return; {2927#(= 0 |main_#t~ret169|)} is VALID [2022-04-08 08:27:18,831 INFO L290 TraceCheckUtils]: 20: Hoare triple {2927#(= 0 |main_#t~ret169|)} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {2928#(= main_~status~5 0)} is VALID [2022-04-08 08:27:18,831 INFO L290 TraceCheckUtils]: 21: Hoare triple {2928#(= main_~status~5 0)} assume !(~status~5 >= 0); {2911#false} is VALID [2022-04-08 08:27:18,831 INFO L290 TraceCheckUtils]: 22: Hoare triple {2911#false} assume !(1 == ~pended~0); {2911#false} is VALID [2022-04-08 08:27:18,832 INFO L290 TraceCheckUtils]: 23: Hoare triple {2911#false} assume !(1 == ~pended~0); {2911#false} is VALID [2022-04-08 08:27:18,832 INFO L290 TraceCheckUtils]: 24: Hoare triple {2911#false} assume !(~s~0 == ~UNLOADED~0); {2911#false} is VALID [2022-04-08 08:27:18,832 INFO L290 TraceCheckUtils]: 25: Hoare triple {2911#false} assume !(-1 == ~status~5); {2911#false} is VALID [2022-04-08 08:27:18,832 INFO L290 TraceCheckUtils]: 26: Hoare triple {2911#false} assume !(~s~0 != ~SKIP2~0); {2911#false} is VALID [2022-04-08 08:27:18,832 INFO L290 TraceCheckUtils]: 27: Hoare triple {2911#false} assume 1 == ~pended~0; {2911#false} is VALID [2022-04-08 08:27:18,832 INFO L290 TraceCheckUtils]: 28: Hoare triple {2911#false} assume 259 != ~status~5; {2911#false} is VALID [2022-04-08 08:27:18,832 INFO L272 TraceCheckUtils]: 29: Hoare triple {2911#false} call errorFn(); {2911#false} is VALID [2022-04-08 08:27:18,833 INFO L290 TraceCheckUtils]: 30: Hoare triple {2911#false} assume !false; {2911#false} is VALID [2022-04-08 08:27:18,833 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 08:27:18,833 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:27:18,833 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1733686124] [2022-04-08 08:27:18,834 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1733686124] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:27:18,834 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:27:18,834 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 08:27:18,834 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:27:18,834 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [408668160] [2022-04-08 08:27:18,834 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [408668160] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:27:18,834 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:27:18,835 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 08:27:18,835 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [577175265] [2022-04-08 08:27:18,835 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:27:18,836 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.625) internal successors, (21), 4 states have internal predecessors, (21), 2 states have call successors, (6), 5 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 31 [2022-04-08 08:27:18,836 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:27:18,836 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.625) internal successors, (21), 4 states have internal predecessors, (21), 2 states have call successors, (6), 5 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 08:27:18,870 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:27:18,870 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 08:27:18,871 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:27:18,871 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 08:27:18,871 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2022-04-08 08:27:18,872 INFO L87 Difference]: Start difference. First operand 299 states and 407 transitions. Second operand has 8 states, 8 states have (on average 2.625) internal successors, (21), 4 states have internal predecessors, (21), 2 states have call successors, (6), 5 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 08:27:22,162 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.12s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:27:24,170 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:27:26,210 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:27:28,229 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.02s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:27:31,677 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:27:42,479 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:27:42,479 INFO L93 Difference]: Finished difference Result 360 states and 492 transitions. [2022-04-08 08:27:42,479 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 08:27:42,480 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.625) internal successors, (21), 4 states have internal predecessors, (21), 2 states have call successors, (6), 5 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 31 [2022-04-08 08:27:42,480 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:27:42,480 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.625) internal successors, (21), 4 states have internal predecessors, (21), 2 states have call successors, (6), 5 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 08:27:42,487 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 492 transitions. [2022-04-08 08:27:42,487 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.625) internal successors, (21), 4 states have internal predecessors, (21), 2 states have call successors, (6), 5 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 08:27:42,493 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 492 transitions. [2022-04-08 08:27:42,493 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 492 transitions. [2022-04-08 08:27:43,120 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 492 edges. 492 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:27:43,131 INFO L225 Difference]: With dead ends: 360 [2022-04-08 08:27:43,131 INFO L226 Difference]: Without dead ends: 343 [2022-04-08 08:27:43,132 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-08 08:27:43,133 INFO L913 BasicCegarLoop]: 315 mSDtfsCounter, 600 mSDsluCounter, 369 mSDsCounter, 0 mSdLazyCounter, 1369 mSolverCounterSat, 221 mSolverCounterUnsat, 4 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 15.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 606 SdHoareTripleChecker+Valid, 684 SdHoareTripleChecker+Invalid, 1594 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 221 IncrementalHoareTripleChecker+Valid, 1369 IncrementalHoareTripleChecker+Invalid, 4 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 15.4s IncrementalHoareTripleChecker+Time [2022-04-08 08:27:43,133 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [606 Valid, 684 Invalid, 1594 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [221 Valid, 1369 Invalid, 4 Unknown, 0 Unchecked, 15.4s Time] [2022-04-08 08:27:43,135 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 343 states. [2022-04-08 08:27:43,169 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 343 to 299. [2022-04-08 08:27:43,169 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:27:43,170 INFO L82 GeneralOperation]: Start isEquivalent. First operand 343 states. Second operand has 299 states, 224 states have (on average 1.4419642857142858) internal successors, (323), 240 states have internal predecessors, (323), 49 states have call successors, (49), 27 states have call predecessors, (49), 25 states have return successors, (34), 34 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-08 08:27:43,171 INFO L74 IsIncluded]: Start isIncluded. First operand 343 states. Second operand has 299 states, 224 states have (on average 1.4419642857142858) internal successors, (323), 240 states have internal predecessors, (323), 49 states have call successors, (49), 27 states have call predecessors, (49), 25 states have return successors, (34), 34 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-08 08:27:43,172 INFO L87 Difference]: Start difference. First operand 343 states. Second operand has 299 states, 224 states have (on average 1.4419642857142858) internal successors, (323), 240 states have internal predecessors, (323), 49 states have call successors, (49), 27 states have call predecessors, (49), 25 states have return successors, (34), 34 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-08 08:27:43,184 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:27:43,184 INFO L93 Difference]: Finished difference Result 343 states and 470 transitions. [2022-04-08 08:27:43,184 INFO L276 IsEmpty]: Start isEmpty. Operand 343 states and 470 transitions. [2022-04-08 08:27:43,186 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:27:43,186 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:27:43,187 INFO L74 IsIncluded]: Start isIncluded. First operand has 299 states, 224 states have (on average 1.4419642857142858) internal successors, (323), 240 states have internal predecessors, (323), 49 states have call successors, (49), 27 states have call predecessors, (49), 25 states have return successors, (34), 34 states have call predecessors, (34), 34 states have call successors, (34) Second operand 343 states. [2022-04-08 08:27:43,188 INFO L87 Difference]: Start difference. First operand has 299 states, 224 states have (on average 1.4419642857142858) internal successors, (323), 240 states have internal predecessors, (323), 49 states have call successors, (49), 27 states have call predecessors, (49), 25 states have return successors, (34), 34 states have call predecessors, (34), 34 states have call successors, (34) Second operand 343 states. [2022-04-08 08:27:43,200 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:27:43,200 INFO L93 Difference]: Finished difference Result 343 states and 470 transitions. [2022-04-08 08:27:43,200 INFO L276 IsEmpty]: Start isEmpty. Operand 343 states and 470 transitions. [2022-04-08 08:27:43,201 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:27:43,201 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:27:43,202 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:27:43,202 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:27:43,203 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 299 states, 224 states have (on average 1.4419642857142858) internal successors, (323), 240 states have internal predecessors, (323), 49 states have call successors, (49), 27 states have call predecessors, (49), 25 states have return successors, (34), 34 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-08 08:27:43,214 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 299 states to 299 states and 406 transitions. [2022-04-08 08:27:43,214 INFO L78 Accepts]: Start accepts. Automaton has 299 states and 406 transitions. Word has length 31 [2022-04-08 08:27:43,214 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:27:43,214 INFO L478 AbstractCegarLoop]: Abstraction has 299 states and 406 transitions. [2022-04-08 08:27:43,215 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.625) internal successors, (21), 4 states have internal predecessors, (21), 2 states have call successors, (6), 5 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 08:27:43,215 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 299 states and 406 transitions. [2022-04-08 08:27:43,768 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 406 edges. 406 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:27:43,768 INFO L276 IsEmpty]: Start isEmpty. Operand 299 states and 406 transitions. [2022-04-08 08:27:43,769 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2022-04-08 08:27:43,769 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:27:43,770 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:27:43,770 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-08 08:27:43,770 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:27:43,770 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:27:43,770 INFO L85 PathProgramCache]: Analyzing trace with hash -1201516382, now seen corresponding path program 1 times [2022-04-08 08:27:43,770 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:27:43,770 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1194397594] [2022-04-08 08:27:43,771 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 08:27:43,771 INFO L85 PathProgramCache]: Analyzing trace with hash -1201516382, now seen corresponding path program 2 times [2022-04-08 08:27:43,771 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:27:43,771 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [319118778] [2022-04-08 08:27:43,771 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:27:43,771 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:27:43,847 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:27:43,921 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:27:43,924 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:27:43,934 INFO L290 TraceCheckUtils]: 0: Hoare triple {4979#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {4948#true} is VALID [2022-04-08 08:27:43,934 INFO L290 TraceCheckUtils]: 1: Hoare triple {4948#true} assume true; {4948#true} is VALID [2022-04-08 08:27:43,934 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4948#true} {4948#true} #1270#return; {4948#true} is VALID [2022-04-08 08:27:43,955 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:27:43,957 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:27:43,968 INFO L290 TraceCheckUtils]: 0: Hoare triple {4980#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {4948#true} is VALID [2022-04-08 08:27:43,968 INFO L290 TraceCheckUtils]: 1: Hoare triple {4948#true} assume true; {4948#true} is VALID [2022-04-08 08:27:43,968 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4948#true} {4948#true} #1216#return; {4948#true} is VALID [2022-04-08 08:27:43,974 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:27:43,979 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:27:43,994 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:27:43,994 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:27:44,003 INFO L290 TraceCheckUtils]: 0: Hoare triple {4948#true} ~cond := #in~cond; {4948#true} is VALID [2022-04-08 08:27:44,003 INFO L290 TraceCheckUtils]: 1: Hoare triple {4948#true} assume !(0 == ~cond); {4948#true} is VALID [2022-04-08 08:27:44,003 INFO L290 TraceCheckUtils]: 2: Hoare triple {4948#true} assume true; {4948#true} is VALID [2022-04-08 08:27:44,003 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4948#true} {4948#true} #1254#return; {4948#true} is VALID [2022-04-08 08:27:44,004 INFO L290 TraceCheckUtils]: 0: Hoare triple {4981#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {4948#true} is VALID [2022-04-08 08:27:44,005 INFO L272 TraceCheckUtils]: 1: Hoare triple {4948#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {4948#true} is VALID [2022-04-08 08:27:44,005 INFO L290 TraceCheckUtils]: 2: Hoare triple {4948#true} ~cond := #in~cond; {4948#true} is VALID [2022-04-08 08:27:44,005 INFO L290 TraceCheckUtils]: 3: Hoare triple {4948#true} assume !(0 == ~cond); {4948#true} is VALID [2022-04-08 08:27:44,006 INFO L290 TraceCheckUtils]: 4: Hoare triple {4948#true} assume true; {4948#true} is VALID [2022-04-08 08:27:44,006 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {4948#true} {4948#true} #1254#return; {4948#true} is VALID [2022-04-08 08:27:44,013 INFO L290 TraceCheckUtils]: 6: Hoare triple {4948#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {4948#true} is VALID [2022-04-08 08:27:44,014 INFO L290 TraceCheckUtils]: 7: Hoare triple {4948#true} assume true; {4948#true} is VALID [2022-04-08 08:27:44,015 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {4948#true} {4948#true} #1218#return; {4948#true} is VALID [2022-04-08 08:27:44,023 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:27:44,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:27:44,082 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:27:44,090 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:27:44,127 INFO L290 TraceCheckUtils]: 0: Hoare triple {4986#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {4948#true} is VALID [2022-04-08 08:27:44,127 INFO L290 TraceCheckUtils]: 1: Hoare triple {4948#true} assume 0 == ~__BLAST_NONDET~5; {4948#true} is VALID [2022-04-08 08:27:44,128 INFO L290 TraceCheckUtils]: 2: Hoare triple {4948#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {4994#(and (<= |IoCreateDevice_#res| 0) (<= 0 |IoCreateDevice_#res|))} is VALID [2022-04-08 08:27:44,129 INFO L290 TraceCheckUtils]: 3: Hoare triple {4994#(and (<= |IoCreateDevice_#res| 0) (<= 0 |IoCreateDevice_#res|))} assume true; {4994#(and (<= |IoCreateDevice_#res| 0) (<= 0 |IoCreateDevice_#res|))} is VALID [2022-04-08 08:27:44,130 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {4994#(and (<= |IoCreateDevice_#res| 0) (<= 0 |IoCreateDevice_#res|))} {4948#true} #1176#return; {4992#(= |KbFilter_AddDevice_#t~ret22| 0)} is VALID [2022-04-08 08:27:44,130 INFO L290 TraceCheckUtils]: 0: Hoare triple {4986#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {4948#true} is VALID [2022-04-08 08:27:44,131 INFO L272 TraceCheckUtils]: 1: Hoare triple {4948#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {4986#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:27:44,131 INFO L290 TraceCheckUtils]: 2: Hoare triple {4986#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {4948#true} is VALID [2022-04-08 08:27:44,131 INFO L290 TraceCheckUtils]: 3: Hoare triple {4948#true} assume 0 == ~__BLAST_NONDET~5; {4948#true} is VALID [2022-04-08 08:27:44,132 INFO L290 TraceCheckUtils]: 4: Hoare triple {4948#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {4994#(and (<= |IoCreateDevice_#res| 0) (<= 0 |IoCreateDevice_#res|))} is VALID [2022-04-08 08:27:44,132 INFO L290 TraceCheckUtils]: 5: Hoare triple {4994#(and (<= |IoCreateDevice_#res| 0) (<= 0 |IoCreateDevice_#res|))} assume true; {4994#(and (<= |IoCreateDevice_#res| 0) (<= 0 |IoCreateDevice_#res|))} is VALID [2022-04-08 08:27:44,133 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {4994#(and (<= |IoCreateDevice_#res| 0) (<= 0 |IoCreateDevice_#res|))} {4948#true} #1176#return; {4992#(= |KbFilter_AddDevice_#t~ret22| 0)} is VALID [2022-04-08 08:27:44,133 INFO L290 TraceCheckUtils]: 7: Hoare triple {4992#(= |KbFilter_AddDevice_#t~ret22| 0)} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {4993#(= KbFilter_AddDevice_~status~0 0)} is VALID [2022-04-08 08:27:44,134 INFO L290 TraceCheckUtils]: 8: Hoare triple {4993#(= KbFilter_AddDevice_~status~0 0)} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {4949#false} is VALID [2022-04-08 08:27:44,134 INFO L290 TraceCheckUtils]: 9: Hoare triple {4949#false} assume true; {4949#false} is VALID [2022-04-08 08:27:44,134 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4949#false} {4948#true} #1220#return; {4949#false} is VALID [2022-04-08 08:27:44,150 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 08:27:44,152 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:27:44,158 INFO L290 TraceCheckUtils]: 0: Hoare triple {4995#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {4948#true} is VALID [2022-04-08 08:27:44,158 INFO L290 TraceCheckUtils]: 1: Hoare triple {4948#true} assume true; {4948#true} is VALID [2022-04-08 08:27:44,158 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4948#true} {4949#false} #1222#return; {4949#false} is VALID [2022-04-08 08:27:44,159 INFO L272 TraceCheckUtils]: 0: Hoare triple {4948#true} call ULTIMATE.init(); {4979#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:27:44,159 INFO L290 TraceCheckUtils]: 1: Hoare triple {4979#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {4948#true} is VALID [2022-04-08 08:27:44,159 INFO L290 TraceCheckUtils]: 2: Hoare triple {4948#true} assume true; {4948#true} is VALID [2022-04-08 08:27:44,159 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4948#true} {4948#true} #1270#return; {4948#true} is VALID [2022-04-08 08:27:44,160 INFO L272 TraceCheckUtils]: 4: Hoare triple {4948#true} call #t~ret213 := main(); {4948#true} is VALID [2022-04-08 08:27:44,160 INFO L290 TraceCheckUtils]: 5: Hoare triple {4948#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {4948#true} is VALID [2022-04-08 08:27:44,160 INFO L272 TraceCheckUtils]: 6: Hoare triple {4948#true} call _BLAST_init(); {4980#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:27:44,160 INFO L290 TraceCheckUtils]: 7: Hoare triple {4980#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {4948#true} is VALID [2022-04-08 08:27:44,161 INFO L290 TraceCheckUtils]: 8: Hoare triple {4948#true} assume true; {4948#true} is VALID [2022-04-08 08:27:44,161 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {4948#true} {4948#true} #1216#return; {4948#true} is VALID [2022-04-08 08:27:44,161 INFO L272 TraceCheckUtils]: 10: Hoare triple {4948#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {4981#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:27:44,161 INFO L290 TraceCheckUtils]: 11: Hoare triple {4981#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {4948#true} is VALID [2022-04-08 08:27:44,162 INFO L272 TraceCheckUtils]: 12: Hoare triple {4948#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {4948#true} is VALID [2022-04-08 08:27:44,162 INFO L290 TraceCheckUtils]: 13: Hoare triple {4948#true} ~cond := #in~cond; {4948#true} is VALID [2022-04-08 08:27:44,162 INFO L290 TraceCheckUtils]: 14: Hoare triple {4948#true} assume !(0 == ~cond); {4948#true} is VALID [2022-04-08 08:27:44,162 INFO L290 TraceCheckUtils]: 15: Hoare triple {4948#true} assume true; {4948#true} is VALID [2022-04-08 08:27:44,162 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4948#true} {4948#true} #1254#return; {4948#true} is VALID [2022-04-08 08:27:44,162 INFO L290 TraceCheckUtils]: 17: Hoare triple {4948#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {4948#true} is VALID [2022-04-08 08:27:44,162 INFO L290 TraceCheckUtils]: 18: Hoare triple {4948#true} assume true; {4948#true} is VALID [2022-04-08 08:27:44,162 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {4948#true} {4948#true} #1218#return; {4948#true} is VALID [2022-04-08 08:27:44,162 INFO L290 TraceCheckUtils]: 20: Hoare triple {4948#true} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {4948#true} is VALID [2022-04-08 08:27:44,163 INFO L290 TraceCheckUtils]: 21: Hoare triple {4948#true} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {4948#true} is VALID [2022-04-08 08:27:44,163 INFO L290 TraceCheckUtils]: 22: Hoare triple {4948#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {4948#true} is VALID [2022-04-08 08:27:44,164 INFO L272 TraceCheckUtils]: 23: Hoare triple {4948#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {4986#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:27:44,164 INFO L290 TraceCheckUtils]: 24: Hoare triple {4986#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {4948#true} is VALID [2022-04-08 08:27:44,165 INFO L272 TraceCheckUtils]: 25: Hoare triple {4948#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {4986#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:27:44,165 INFO L290 TraceCheckUtils]: 26: Hoare triple {4986#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {4948#true} is VALID [2022-04-08 08:27:44,165 INFO L290 TraceCheckUtils]: 27: Hoare triple {4948#true} assume 0 == ~__BLAST_NONDET~5; {4948#true} is VALID [2022-04-08 08:27:44,166 INFO L290 TraceCheckUtils]: 28: Hoare triple {4948#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {4994#(and (<= |IoCreateDevice_#res| 0) (<= 0 |IoCreateDevice_#res|))} is VALID [2022-04-08 08:27:44,166 INFO L290 TraceCheckUtils]: 29: Hoare triple {4994#(and (<= |IoCreateDevice_#res| 0) (<= 0 |IoCreateDevice_#res|))} assume true; {4994#(and (<= |IoCreateDevice_#res| 0) (<= 0 |IoCreateDevice_#res|))} is VALID [2022-04-08 08:27:44,167 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {4994#(and (<= |IoCreateDevice_#res| 0) (<= 0 |IoCreateDevice_#res|))} {4948#true} #1176#return; {4992#(= |KbFilter_AddDevice_#t~ret22| 0)} is VALID [2022-04-08 08:27:44,168 INFO L290 TraceCheckUtils]: 31: Hoare triple {4992#(= |KbFilter_AddDevice_#t~ret22| 0)} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {4993#(= KbFilter_AddDevice_~status~0 0)} is VALID [2022-04-08 08:27:44,168 INFO L290 TraceCheckUtils]: 32: Hoare triple {4993#(= KbFilter_AddDevice_~status~0 0)} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {4949#false} is VALID [2022-04-08 08:27:44,168 INFO L290 TraceCheckUtils]: 33: Hoare triple {4949#false} assume true; {4949#false} is VALID [2022-04-08 08:27:44,168 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4949#false} {4948#true} #1220#return; {4949#false} is VALID [2022-04-08 08:27:44,168 INFO L290 TraceCheckUtils]: 35: Hoare triple {4949#false} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {4949#false} is VALID [2022-04-08 08:27:44,169 INFO L272 TraceCheckUtils]: 36: Hoare triple {4949#false} call stub_driver_init(); {4995#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:27:44,169 INFO L290 TraceCheckUtils]: 37: Hoare triple {4995#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {4948#true} is VALID [2022-04-08 08:27:44,169 INFO L290 TraceCheckUtils]: 38: Hoare triple {4948#true} assume true; {4948#true} is VALID [2022-04-08 08:27:44,169 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4948#true} {4949#false} #1222#return; {4949#false} is VALID [2022-04-08 08:27:44,169 INFO L290 TraceCheckUtils]: 40: Hoare triple {4949#false} assume !!(~status~5 >= 0); {4949#false} is VALID [2022-04-08 08:27:44,169 INFO L290 TraceCheckUtils]: 41: Hoare triple {4949#false} assume 0 == ~__BLAST_NONDET~0; {4949#false} is VALID [2022-04-08 08:27:44,169 INFO L272 TraceCheckUtils]: 42: Hoare triple {4949#false} call #t~ret171 := KbFilter_CreateClose(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {4949#false} is VALID [2022-04-08 08:27:44,170 INFO L290 TraceCheckUtils]: 43: Hoare triple {4949#false} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~irpStack~0.base, ~irpStack~0.offset;havoc ~status~1;havoc ~devExt~1.base, ~devExt~1.offset;havoc ~tmp~0;havoc ~tmp___0~0;havoc ~tmp___1~0;call #t~mem36.base, #t~mem36.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~0.base, ~irpStack~0.offset := #t~mem36.base, #t~mem36.offset;havoc #t~mem36.base, #t~mem36.offset;call #t~mem37.base, #t~mem37.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~1.base, ~devExt~1.offset := #t~mem37.base, #t~mem37.offset;havoc #t~mem37.base, #t~mem37.offset;call #t~mem38 := read~int(~Irp.base, 24 + ~Irp.offset, 4);~status~1 := #t~mem38;havoc #t~mem38;~status~1 := ~myStatus~0;call #t~mem39 := read~int(~irpStack~0.base, ~irpStack~0.offset, 1); {4949#false} is VALID [2022-04-08 08:27:44,170 INFO L290 TraceCheckUtils]: 44: Hoare triple {4949#false} assume 0 == #t~mem39 % 256;havoc #t~mem39; {4949#false} is VALID [2022-04-08 08:27:44,170 INFO L290 TraceCheckUtils]: 45: Hoare triple {4949#false} call #t~mem41.base, #t~mem41.offset := read~$Pointer$(~devExt~1.base, 20 + ~devExt~1.offset, 4); {4949#false} is VALID [2022-04-08 08:27:44,170 INFO L290 TraceCheckUtils]: 46: Hoare triple {4949#false} assume 0 == (#t~mem41.base + #t~mem41.offset) % 4294967296;havoc #t~mem41.base, #t~mem41.offset;~status~1 := -1073741436; {4949#false} is VALID [2022-04-08 08:27:44,170 INFO L290 TraceCheckUtils]: 47: Hoare triple {4949#false} call write~int(~status~1, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~1; {4949#false} is VALID [2022-04-08 08:27:44,170 INFO L272 TraceCheckUtils]: 48: Hoare triple {4949#false} call #t~ret44 := KbFilter_DispatchPassThrough(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset); {4949#false} is VALID [2022-04-08 08:27:44,170 INFO L290 TraceCheckUtils]: 49: Hoare triple {4949#false} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~irpStack~1.base, ~irpStack~1.offset;havoc ~tmp~1;call #t~mem45.base, #t~mem45.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~1.base, ~irpStack~1.offset := #t~mem45.base, #t~mem45.offset;havoc #t~mem45.base, #t~mem45.offset; {4949#false} is VALID [2022-04-08 08:27:44,170 INFO L290 TraceCheckUtils]: 50: Hoare triple {4949#false} assume !(~s~0 == ~NP~0); {4949#false} is VALID [2022-04-08 08:27:44,170 INFO L272 TraceCheckUtils]: 51: Hoare triple {4949#false} call errorFn(); {4949#false} is VALID [2022-04-08 08:27:44,170 INFO L290 TraceCheckUtils]: 52: Hoare triple {4949#false} assume !false; {4949#false} is VALID [2022-04-08 08:27:44,171 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 08:27:44,171 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:27:44,171 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [319118778] [2022-04-08 08:27:44,171 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [319118778] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:27:44,171 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:27:44,171 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 08:27:44,171 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:27:44,171 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1194397594] [2022-04-08 08:27:44,171 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1194397594] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:27:44,172 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:27:44,172 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 08:27:44,172 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1463381896] [2022-04-08 08:27:44,172 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:27:44,172 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.5) internal successors, (35), 4 states have internal predecessors, (35), 2 states have call successors, (11), 7 states have call predecessors, (11), 3 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) Word has length 53 [2022-04-08 08:27:44,172 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:27:44,172 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.5) internal successors, (35), 4 states have internal predecessors, (35), 2 states have call successors, (11), 7 states have call predecessors, (11), 3 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 08:27:44,211 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:27:44,212 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 08:27:44,212 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:27:44,212 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 08:27:44,213 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-08 08:27:44,213 INFO L87 Difference]: Start difference. First operand 299 states and 406 transitions. Second operand has 10 states, 10 states have (on average 3.5) internal successors, (35), 4 states have internal predecessors, (35), 2 states have call successors, (11), 7 states have call predecessors, (11), 3 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 08:27:46,332 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:28:00,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:28:00,418 INFO L93 Difference]: Finished difference Result 599 states and 829 transitions. [2022-04-08 08:28:00,418 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 08:28:00,419 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.5) internal successors, (35), 4 states have internal predecessors, (35), 2 states have call successors, (11), 7 states have call predecessors, (11), 3 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) Word has length 53 [2022-04-08 08:28:00,419 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:28:00,419 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.5) internal successors, (35), 4 states have internal predecessors, (35), 2 states have call successors, (11), 7 states have call predecessors, (11), 3 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 08:28:00,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 829 transitions. [2022-04-08 08:28:00,430 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.5) internal successors, (35), 4 states have internal predecessors, (35), 2 states have call successors, (11), 7 states have call predecessors, (11), 3 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 08:28:00,435 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 829 transitions. [2022-04-08 08:28:00,435 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 829 transitions. [2022-04-08 08:28:01,340 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 829 edges. 829 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:28:01,353 INFO L225 Difference]: With dead ends: 599 [2022-04-08 08:28:01,354 INFO L226 Difference]: Without dead ends: 348 [2022-04-08 08:28:01,355 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 29 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=64, Invalid=176, Unknown=0, NotChecked=0, Total=240 [2022-04-08 08:28:01,360 INFO L913 BasicCegarLoop]: 312 mSDtfsCounter, 397 mSDsluCounter, 480 mSDsCounter, 0 mSdLazyCounter, 1840 mSolverCounterSat, 170 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 8.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 400 SdHoareTripleChecker+Valid, 792 SdHoareTripleChecker+Invalid, 2011 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 170 IncrementalHoareTripleChecker+Valid, 1840 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 8.8s IncrementalHoareTripleChecker+Time [2022-04-08 08:28:01,364 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [400 Valid, 792 Invalid, 2011 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [170 Valid, 1840 Invalid, 1 Unknown, 0 Unchecked, 8.8s Time] [2022-04-08 08:28:01,365 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 348 states. [2022-04-08 08:28:01,404 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 348 to 303. [2022-04-08 08:28:01,405 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:28:01,406 INFO L82 GeneralOperation]: Start isEquivalent. First operand 348 states. Second operand has 303 states, 227 states have (on average 1.4361233480176212) internal successors, (326), 243 states have internal predecessors, (326), 49 states have call successors, (49), 27 states have call predecessors, (49), 26 states have return successors, (35), 35 states have call predecessors, (35), 34 states have call successors, (35) [2022-04-08 08:28:01,406 INFO L74 IsIncluded]: Start isIncluded. First operand 348 states. Second operand has 303 states, 227 states have (on average 1.4361233480176212) internal successors, (326), 243 states have internal predecessors, (326), 49 states have call successors, (49), 27 states have call predecessors, (49), 26 states have return successors, (35), 35 states have call predecessors, (35), 34 states have call successors, (35) [2022-04-08 08:28:01,407 INFO L87 Difference]: Start difference. First operand 348 states. Second operand has 303 states, 227 states have (on average 1.4361233480176212) internal successors, (326), 243 states have internal predecessors, (326), 49 states have call successors, (49), 27 states have call predecessors, (49), 26 states have return successors, (35), 35 states have call predecessors, (35), 34 states have call successors, (35) [2022-04-08 08:28:01,420 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:28:01,420 INFO L93 Difference]: Finished difference Result 348 states and 475 transitions. [2022-04-08 08:28:01,420 INFO L276 IsEmpty]: Start isEmpty. Operand 348 states and 475 transitions. [2022-04-08 08:28:01,422 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:28:01,422 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:28:01,423 INFO L74 IsIncluded]: Start isIncluded. First operand has 303 states, 227 states have (on average 1.4361233480176212) internal successors, (326), 243 states have internal predecessors, (326), 49 states have call successors, (49), 27 states have call predecessors, (49), 26 states have return successors, (35), 35 states have call predecessors, (35), 34 states have call successors, (35) Second operand 348 states. [2022-04-08 08:28:01,424 INFO L87 Difference]: Start difference. First operand has 303 states, 227 states have (on average 1.4361233480176212) internal successors, (326), 243 states have internal predecessors, (326), 49 states have call successors, (49), 27 states have call predecessors, (49), 26 states have return successors, (35), 35 states have call predecessors, (35), 34 states have call successors, (35) Second operand 348 states. [2022-04-08 08:28:01,434 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:28:01,434 INFO L93 Difference]: Finished difference Result 348 states and 475 transitions. [2022-04-08 08:28:01,434 INFO L276 IsEmpty]: Start isEmpty. Operand 348 states and 475 transitions. [2022-04-08 08:28:01,436 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:28:01,436 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:28:01,436 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:28:01,436 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:28:01,437 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 303 states, 227 states have (on average 1.4361233480176212) internal successors, (326), 243 states have internal predecessors, (326), 49 states have call successors, (49), 27 states have call predecessors, (49), 26 states have return successors, (35), 35 states have call predecessors, (35), 34 states have call successors, (35) [2022-04-08 08:28:01,446 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 303 states to 303 states and 410 transitions. [2022-04-08 08:28:01,446 INFO L78 Accepts]: Start accepts. Automaton has 303 states and 410 transitions. Word has length 53 [2022-04-08 08:28:01,448 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:28:01,449 INFO L478 AbstractCegarLoop]: Abstraction has 303 states and 410 transitions. [2022-04-08 08:28:01,449 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.5) internal successors, (35), 4 states have internal predecessors, (35), 2 states have call successors, (11), 7 states have call predecessors, (11), 3 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 08:28:01,450 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 303 states and 410 transitions. [2022-04-08 08:28:01,993 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 410 edges. 410 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:28:01,993 INFO L276 IsEmpty]: Start isEmpty. Operand 303 states and 410 transitions. [2022-04-08 08:28:01,995 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2022-04-08 08:28:01,995 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:28:01,995 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:28:01,995 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-08 08:28:01,995 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:28:01,996 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:28:01,996 INFO L85 PathProgramCache]: Analyzing trace with hash 1078281185, now seen corresponding path program 1 times [2022-04-08 08:28:01,996 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:28:01,996 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [533883105] [2022-04-08 08:28:01,997 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 08:28:01,997 INFO L85 PathProgramCache]: Analyzing trace with hash 1078281185, now seen corresponding path program 2 times [2022-04-08 08:28:01,997 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:28:01,998 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1609372449] [2022-04-08 08:28:01,998 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:28:01,998 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:28:02,085 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:02,189 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:28:02,192 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:02,199 INFO L290 TraceCheckUtils]: 0: Hoare triple {7544#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {7512#true} is VALID [2022-04-08 08:28:02,199 INFO L290 TraceCheckUtils]: 1: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-08 08:28:02,199 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7512#true} {7512#true} #1270#return; {7512#true} is VALID [2022-04-08 08:28:02,218 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:28:02,220 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:02,227 INFO L290 TraceCheckUtils]: 0: Hoare triple {7545#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {7512#true} is VALID [2022-04-08 08:28:02,228 INFO L290 TraceCheckUtils]: 1: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-08 08:28:02,228 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7512#true} {7512#true} #1216#return; {7512#true} is VALID [2022-04-08 08:28:02,234 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:28:02,242 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:02,253 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:28:02,254 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:02,260 INFO L290 TraceCheckUtils]: 0: Hoare triple {7512#true} ~cond := #in~cond; {7512#true} is VALID [2022-04-08 08:28:02,260 INFO L290 TraceCheckUtils]: 1: Hoare triple {7512#true} assume !(0 == ~cond); {7512#true} is VALID [2022-04-08 08:28:02,260 INFO L290 TraceCheckUtils]: 2: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-08 08:28:02,260 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7512#true} {7512#true} #1254#return; {7512#true} is VALID [2022-04-08 08:28:02,260 INFO L290 TraceCheckUtils]: 0: Hoare triple {7546#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {7512#true} is VALID [2022-04-08 08:28:02,260 INFO L272 TraceCheckUtils]: 1: Hoare triple {7512#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {7512#true} is VALID [2022-04-08 08:28:02,261 INFO L290 TraceCheckUtils]: 2: Hoare triple {7512#true} ~cond := #in~cond; {7512#true} is VALID [2022-04-08 08:28:02,261 INFO L290 TraceCheckUtils]: 3: Hoare triple {7512#true} assume !(0 == ~cond); {7512#true} is VALID [2022-04-08 08:28:02,261 INFO L290 TraceCheckUtils]: 4: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-08 08:28:02,261 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {7512#true} {7512#true} #1254#return; {7512#true} is VALID [2022-04-08 08:28:02,261 INFO L290 TraceCheckUtils]: 6: Hoare triple {7512#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {7512#true} is VALID [2022-04-08 08:28:02,261 INFO L290 TraceCheckUtils]: 7: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-08 08:28:02,261 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {7512#true} {7512#true} #1218#return; {7512#true} is VALID [2022-04-08 08:28:02,270 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:28:02,273 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:02,280 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:28:02,281 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:02,288 INFO L290 TraceCheckUtils]: 0: Hoare triple {7551#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {7512#true} is VALID [2022-04-08 08:28:02,288 INFO L290 TraceCheckUtils]: 1: Hoare triple {7512#true} assume !(0 == ~__BLAST_NONDET~5); {7512#true} is VALID [2022-04-08 08:28:02,288 INFO L290 TraceCheckUtils]: 2: Hoare triple {7512#true} #res := -1073741823; {7512#true} is VALID [2022-04-08 08:28:02,288 INFO L290 TraceCheckUtils]: 3: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-08 08:28:02,288 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {7512#true} {7512#true} #1176#return; {7512#true} is VALID [2022-04-08 08:28:02,289 INFO L290 TraceCheckUtils]: 0: Hoare triple {7551#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {7512#true} is VALID [2022-04-08 08:28:02,290 INFO L272 TraceCheckUtils]: 1: Hoare triple {7512#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {7551#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:28:02,290 INFO L290 TraceCheckUtils]: 2: Hoare triple {7551#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {7512#true} is VALID [2022-04-08 08:28:02,290 INFO L290 TraceCheckUtils]: 3: Hoare triple {7512#true} assume !(0 == ~__BLAST_NONDET~5); {7512#true} is VALID [2022-04-08 08:28:02,290 INFO L290 TraceCheckUtils]: 4: Hoare triple {7512#true} #res := -1073741823; {7512#true} is VALID [2022-04-08 08:28:02,290 INFO L290 TraceCheckUtils]: 5: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-08 08:28:02,290 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {7512#true} {7512#true} #1176#return; {7512#true} is VALID [2022-04-08 08:28:02,290 INFO L290 TraceCheckUtils]: 7: Hoare triple {7512#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {7512#true} is VALID [2022-04-08 08:28:02,290 INFO L290 TraceCheckUtils]: 8: Hoare triple {7512#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {7512#true} is VALID [2022-04-08 08:28:02,290 INFO L290 TraceCheckUtils]: 9: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-08 08:28:02,290 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7512#true} {7512#true} #1220#return; {7512#true} is VALID [2022-04-08 08:28:02,303 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 08:28:02,305 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:02,313 INFO L290 TraceCheckUtils]: 0: Hoare triple {7557#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {7543#(= ~s~0 ~NP~0)} is VALID [2022-04-08 08:28:02,313 INFO L290 TraceCheckUtils]: 1: Hoare triple {7543#(= ~s~0 ~NP~0)} assume true; {7543#(= ~s~0 ~NP~0)} is VALID [2022-04-08 08:28:02,313 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7543#(= ~s~0 ~NP~0)} {7512#true} #1222#return; {7543#(= ~s~0 ~NP~0)} is VALID [2022-04-08 08:28:02,315 INFO L272 TraceCheckUtils]: 0: Hoare triple {7512#true} call ULTIMATE.init(); {7544#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:28:02,315 INFO L290 TraceCheckUtils]: 1: Hoare triple {7544#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {7512#true} is VALID [2022-04-08 08:28:02,315 INFO L290 TraceCheckUtils]: 2: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-08 08:28:02,315 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7512#true} {7512#true} #1270#return; {7512#true} is VALID [2022-04-08 08:28:02,315 INFO L272 TraceCheckUtils]: 4: Hoare triple {7512#true} call #t~ret213 := main(); {7512#true} is VALID [2022-04-08 08:28:02,315 INFO L290 TraceCheckUtils]: 5: Hoare triple {7512#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {7512#true} is VALID [2022-04-08 08:28:02,316 INFO L272 TraceCheckUtils]: 6: Hoare triple {7512#true} call _BLAST_init(); {7545#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:28:02,316 INFO L290 TraceCheckUtils]: 7: Hoare triple {7545#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {7512#true} is VALID [2022-04-08 08:28:02,316 INFO L290 TraceCheckUtils]: 8: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-08 08:28:02,316 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {7512#true} {7512#true} #1216#return; {7512#true} is VALID [2022-04-08 08:28:02,317 INFO L272 TraceCheckUtils]: 10: Hoare triple {7512#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {7546#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:28:02,317 INFO L290 TraceCheckUtils]: 11: Hoare triple {7546#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {7512#true} is VALID [2022-04-08 08:28:02,317 INFO L272 TraceCheckUtils]: 12: Hoare triple {7512#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {7512#true} is VALID [2022-04-08 08:28:02,317 INFO L290 TraceCheckUtils]: 13: Hoare triple {7512#true} ~cond := #in~cond; {7512#true} is VALID [2022-04-08 08:28:02,317 INFO L290 TraceCheckUtils]: 14: Hoare triple {7512#true} assume !(0 == ~cond); {7512#true} is VALID [2022-04-08 08:28:02,317 INFO L290 TraceCheckUtils]: 15: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-08 08:28:02,317 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7512#true} {7512#true} #1254#return; {7512#true} is VALID [2022-04-08 08:28:02,318 INFO L290 TraceCheckUtils]: 17: Hoare triple {7512#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {7512#true} is VALID [2022-04-08 08:28:02,318 INFO L290 TraceCheckUtils]: 18: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-08 08:28:02,318 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {7512#true} {7512#true} #1218#return; {7512#true} is VALID [2022-04-08 08:28:02,318 INFO L290 TraceCheckUtils]: 20: Hoare triple {7512#true} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {7512#true} is VALID [2022-04-08 08:28:02,318 INFO L290 TraceCheckUtils]: 21: Hoare triple {7512#true} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {7512#true} is VALID [2022-04-08 08:28:02,318 INFO L290 TraceCheckUtils]: 22: Hoare triple {7512#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {7512#true} is VALID [2022-04-08 08:28:02,319 INFO L272 TraceCheckUtils]: 23: Hoare triple {7512#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {7551#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:28:02,319 INFO L290 TraceCheckUtils]: 24: Hoare triple {7551#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {7512#true} is VALID [2022-04-08 08:28:02,320 INFO L272 TraceCheckUtils]: 25: Hoare triple {7512#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {7551#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:28:02,320 INFO L290 TraceCheckUtils]: 26: Hoare triple {7551#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {7512#true} is VALID [2022-04-08 08:28:02,320 INFO L290 TraceCheckUtils]: 27: Hoare triple {7512#true} assume !(0 == ~__BLAST_NONDET~5); {7512#true} is VALID [2022-04-08 08:28:02,320 INFO L290 TraceCheckUtils]: 28: Hoare triple {7512#true} #res := -1073741823; {7512#true} is VALID [2022-04-08 08:28:02,320 INFO L290 TraceCheckUtils]: 29: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-08 08:28:02,320 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {7512#true} {7512#true} #1176#return; {7512#true} is VALID [2022-04-08 08:28:02,320 INFO L290 TraceCheckUtils]: 31: Hoare triple {7512#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {7512#true} is VALID [2022-04-08 08:28:02,321 INFO L290 TraceCheckUtils]: 32: Hoare triple {7512#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {7512#true} is VALID [2022-04-08 08:28:02,321 INFO L290 TraceCheckUtils]: 33: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-08 08:28:02,321 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {7512#true} {7512#true} #1220#return; {7512#true} is VALID [2022-04-08 08:28:02,321 INFO L290 TraceCheckUtils]: 35: Hoare triple {7512#true} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {7512#true} is VALID [2022-04-08 08:28:02,321 INFO L272 TraceCheckUtils]: 36: Hoare triple {7512#true} call stub_driver_init(); {7557#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:28:02,322 INFO L290 TraceCheckUtils]: 37: Hoare triple {7557#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {7543#(= ~s~0 ~NP~0)} is VALID [2022-04-08 08:28:02,322 INFO L290 TraceCheckUtils]: 38: Hoare triple {7543#(= ~s~0 ~NP~0)} assume true; {7543#(= ~s~0 ~NP~0)} is VALID [2022-04-08 08:28:02,322 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {7543#(= ~s~0 ~NP~0)} {7512#true} #1222#return; {7543#(= ~s~0 ~NP~0)} is VALID [2022-04-08 08:28:02,323 INFO L290 TraceCheckUtils]: 40: Hoare triple {7543#(= ~s~0 ~NP~0)} assume !!(~status~5 >= 0); {7543#(= ~s~0 ~NP~0)} is VALID [2022-04-08 08:28:02,323 INFO L290 TraceCheckUtils]: 41: Hoare triple {7543#(= ~s~0 ~NP~0)} assume 0 == ~__BLAST_NONDET~0; {7543#(= ~s~0 ~NP~0)} is VALID [2022-04-08 08:28:02,323 INFO L272 TraceCheckUtils]: 42: Hoare triple {7543#(= ~s~0 ~NP~0)} call #t~ret171 := KbFilter_CreateClose(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {7543#(= ~s~0 ~NP~0)} is VALID [2022-04-08 08:28:02,324 INFO L290 TraceCheckUtils]: 43: Hoare triple {7543#(= ~s~0 ~NP~0)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~irpStack~0.base, ~irpStack~0.offset;havoc ~status~1;havoc ~devExt~1.base, ~devExt~1.offset;havoc ~tmp~0;havoc ~tmp___0~0;havoc ~tmp___1~0;call #t~mem36.base, #t~mem36.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~0.base, ~irpStack~0.offset := #t~mem36.base, #t~mem36.offset;havoc #t~mem36.base, #t~mem36.offset;call #t~mem37.base, #t~mem37.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~1.base, ~devExt~1.offset := #t~mem37.base, #t~mem37.offset;havoc #t~mem37.base, #t~mem37.offset;call #t~mem38 := read~int(~Irp.base, 24 + ~Irp.offset, 4);~status~1 := #t~mem38;havoc #t~mem38;~status~1 := ~myStatus~0;call #t~mem39 := read~int(~irpStack~0.base, ~irpStack~0.offset, 1); {7543#(= ~s~0 ~NP~0)} is VALID [2022-04-08 08:28:02,324 INFO L290 TraceCheckUtils]: 44: Hoare triple {7543#(= ~s~0 ~NP~0)} assume 0 == #t~mem39 % 256;havoc #t~mem39; {7543#(= ~s~0 ~NP~0)} is VALID [2022-04-08 08:28:02,324 INFO L290 TraceCheckUtils]: 45: Hoare triple {7543#(= ~s~0 ~NP~0)} call #t~mem41.base, #t~mem41.offset := read~$Pointer$(~devExt~1.base, 20 + ~devExt~1.offset, 4); {7543#(= ~s~0 ~NP~0)} is VALID [2022-04-08 08:28:02,324 INFO L290 TraceCheckUtils]: 46: Hoare triple {7543#(= ~s~0 ~NP~0)} assume 0 == (#t~mem41.base + #t~mem41.offset) % 4294967296;havoc #t~mem41.base, #t~mem41.offset;~status~1 := -1073741436; {7543#(= ~s~0 ~NP~0)} is VALID [2022-04-08 08:28:02,325 INFO L290 TraceCheckUtils]: 47: Hoare triple {7543#(= ~s~0 ~NP~0)} call write~int(~status~1, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~1; {7543#(= ~s~0 ~NP~0)} is VALID [2022-04-08 08:28:02,325 INFO L272 TraceCheckUtils]: 48: Hoare triple {7543#(= ~s~0 ~NP~0)} call #t~ret44 := KbFilter_DispatchPassThrough(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset); {7543#(= ~s~0 ~NP~0)} is VALID [2022-04-08 08:28:02,326 INFO L290 TraceCheckUtils]: 49: Hoare triple {7543#(= ~s~0 ~NP~0)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~irpStack~1.base, ~irpStack~1.offset;havoc ~tmp~1;call #t~mem45.base, #t~mem45.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~1.base, ~irpStack~1.offset := #t~mem45.base, #t~mem45.offset;havoc #t~mem45.base, #t~mem45.offset; {7543#(= ~s~0 ~NP~0)} is VALID [2022-04-08 08:28:02,326 INFO L290 TraceCheckUtils]: 50: Hoare triple {7543#(= ~s~0 ~NP~0)} assume !(~s~0 == ~NP~0); {7513#false} is VALID [2022-04-08 08:28:02,326 INFO L272 TraceCheckUtils]: 51: Hoare triple {7513#false} call errorFn(); {7513#false} is VALID [2022-04-08 08:28:02,326 INFO L290 TraceCheckUtils]: 52: Hoare triple {7513#false} assume !false; {7513#false} is VALID [2022-04-08 08:28:02,326 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 08:28:02,326 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:28:02,327 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1609372449] [2022-04-08 08:28:02,327 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1609372449] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:28:02,327 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:28:02,327 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 08:28:02,327 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:28:02,327 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [533883105] [2022-04-08 08:28:02,327 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [533883105] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:28:02,327 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:28:02,327 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 08:28:02,327 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1485926573] [2022-04-08 08:28:02,327 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:28:02,328 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.375) internal successors, (35), 3 states have internal predecessors, (35), 3 states have call successors, (11), 8 states have call predecessors, (11), 2 states have return successors, (7), 2 states have call predecessors, (7), 1 states have call successors, (7) Word has length 53 [2022-04-08 08:28:02,328 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:28:02,328 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.375) internal successors, (35), 3 states have internal predecessors, (35), 3 states have call successors, (11), 8 states have call predecessors, (11), 2 states have return successors, (7), 2 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-08 08:28:02,374 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:28:02,374 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 08:28:02,374 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:28:02,375 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 08:28:02,375 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-08 08:28:02,375 INFO L87 Difference]: Start difference. First operand 303 states and 410 transitions. Second operand has 8 states, 8 states have (on average 4.375) internal successors, (35), 3 states have internal predecessors, (35), 3 states have call successors, (11), 8 states have call predecessors, (11), 2 states have return successors, (7), 2 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-08 08:28:04,534 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:28:12,795 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:28:12,796 INFO L93 Difference]: Finished difference Result 492 states and 667 transitions. [2022-04-08 08:28:12,796 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 08:28:12,796 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.375) internal successors, (35), 3 states have internal predecessors, (35), 3 states have call successors, (11), 8 states have call predecessors, (11), 2 states have return successors, (7), 2 states have call predecessors, (7), 1 states have call successors, (7) Word has length 53 [2022-04-08 08:28:12,796 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:28:12,796 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.375) internal successors, (35), 3 states have internal predecessors, (35), 3 states have call successors, (11), 8 states have call predecessors, (11), 2 states have return successors, (7), 2 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-08 08:28:12,801 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 667 transitions. [2022-04-08 08:28:12,801 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.375) internal successors, (35), 3 states have internal predecessors, (35), 3 states have call successors, (11), 8 states have call predecessors, (11), 2 states have return successors, (7), 2 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-08 08:28:12,805 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 667 transitions. [2022-04-08 08:28:12,805 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 667 transitions. [2022-04-08 08:28:13,508 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 667 edges. 667 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:28:13,518 INFO L225 Difference]: With dead ends: 492 [2022-04-08 08:28:13,519 INFO L226 Difference]: Without dead ends: 431 [2022-04-08 08:28:13,519 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 30 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=63, Invalid=119, Unknown=0, NotChecked=0, Total=182 [2022-04-08 08:28:13,521 INFO L913 BasicCegarLoop]: 367 mSDtfsCounter, 659 mSDsluCounter, 283 mSDsCounter, 0 mSdLazyCounter, 1245 mSolverCounterSat, 219 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 664 SdHoareTripleChecker+Valid, 650 SdHoareTripleChecker+Invalid, 1465 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 219 IncrementalHoareTripleChecker+Valid, 1245 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.1s IncrementalHoareTripleChecker+Time [2022-04-08 08:28:13,521 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [664 Valid, 650 Invalid, 1465 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [219 Valid, 1245 Invalid, 1 Unknown, 0 Unchecked, 5.1s Time] [2022-04-08 08:28:13,523 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 431 states. [2022-04-08 08:28:13,560 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 431 to 374. [2022-04-08 08:28:13,560 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:28:13,561 INFO L82 GeneralOperation]: Start isEquivalent. First operand 431 states. Second operand has 374 states, 288 states have (on average 1.3715277777777777) internal successors, (395), 292 states have internal predecessors, (395), 48 states have call successors, (48), 33 states have call predecessors, (48), 37 states have return successors, (55), 51 states have call predecessors, (55), 39 states have call successors, (55) [2022-04-08 08:28:13,562 INFO L74 IsIncluded]: Start isIncluded. First operand 431 states. Second operand has 374 states, 288 states have (on average 1.3715277777777777) internal successors, (395), 292 states have internal predecessors, (395), 48 states have call successors, (48), 33 states have call predecessors, (48), 37 states have return successors, (55), 51 states have call predecessors, (55), 39 states have call successors, (55) [2022-04-08 08:28:13,562 INFO L87 Difference]: Start difference. First operand 431 states. Second operand has 374 states, 288 states have (on average 1.3715277777777777) internal successors, (395), 292 states have internal predecessors, (395), 48 states have call successors, (48), 33 states have call predecessors, (48), 37 states have return successors, (55), 51 states have call predecessors, (55), 39 states have call successors, (55) [2022-04-08 08:28:13,574 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:28:13,574 INFO L93 Difference]: Finished difference Result 431 states and 578 transitions. [2022-04-08 08:28:13,574 INFO L276 IsEmpty]: Start isEmpty. Operand 431 states and 578 transitions. [2022-04-08 08:28:13,575 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:28:13,575 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:28:13,576 INFO L74 IsIncluded]: Start isIncluded. First operand has 374 states, 288 states have (on average 1.3715277777777777) internal successors, (395), 292 states have internal predecessors, (395), 48 states have call successors, (48), 33 states have call predecessors, (48), 37 states have return successors, (55), 51 states have call predecessors, (55), 39 states have call successors, (55) Second operand 431 states. [2022-04-08 08:28:13,577 INFO L87 Difference]: Start difference. First operand has 374 states, 288 states have (on average 1.3715277777777777) internal successors, (395), 292 states have internal predecessors, (395), 48 states have call successors, (48), 33 states have call predecessors, (48), 37 states have return successors, (55), 51 states have call predecessors, (55), 39 states have call successors, (55) Second operand 431 states. [2022-04-08 08:28:13,587 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:28:13,587 INFO L93 Difference]: Finished difference Result 431 states and 578 transitions. [2022-04-08 08:28:13,587 INFO L276 IsEmpty]: Start isEmpty. Operand 431 states and 578 transitions. [2022-04-08 08:28:13,588 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:28:13,588 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:28:13,588 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:28:13,588 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:28:13,589 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 374 states, 288 states have (on average 1.3715277777777777) internal successors, (395), 292 states have internal predecessors, (395), 48 states have call successors, (48), 33 states have call predecessors, (48), 37 states have return successors, (55), 51 states have call predecessors, (55), 39 states have call successors, (55) [2022-04-08 08:28:13,597 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 374 states to 374 states and 498 transitions. [2022-04-08 08:28:13,597 INFO L78 Accepts]: Start accepts. Automaton has 374 states and 498 transitions. Word has length 53 [2022-04-08 08:28:13,598 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:28:13,598 INFO L478 AbstractCegarLoop]: Abstraction has 374 states and 498 transitions. [2022-04-08 08:28:13,598 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.375) internal successors, (35), 3 states have internal predecessors, (35), 3 states have call successors, (11), 8 states have call predecessors, (11), 2 states have return successors, (7), 2 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-08 08:28:13,598 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 374 states and 498 transitions. [2022-04-08 08:28:14,205 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 498 edges. 498 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:28:14,206 INFO L276 IsEmpty]: Start isEmpty. Operand 374 states and 498 transitions. [2022-04-08 08:28:14,206 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2022-04-08 08:28:14,206 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:28:14,206 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:28:14,207 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-04-08 08:28:14,207 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:28:14,207 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:28:14,207 INFO L85 PathProgramCache]: Analyzing trace with hash 17478568, now seen corresponding path program 1 times [2022-04-08 08:28:14,207 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:28:14,207 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1871534624] [2022-04-08 08:28:14,207 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 08:28:14,208 INFO L85 PathProgramCache]: Analyzing trace with hash 17478568, now seen corresponding path program 2 times [2022-04-08 08:28:14,208 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:28:14,208 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1338005373] [2022-04-08 08:28:14,208 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:28:14,208 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:28:14,268 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:14,351 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:28:14,353 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:14,360 INFO L290 TraceCheckUtils]: 0: Hoare triple {10208#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {10171#true} is VALID [2022-04-08 08:28:14,360 INFO L290 TraceCheckUtils]: 1: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-08 08:28:14,360 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {10171#true} {10171#true} #1270#return; {10171#true} is VALID [2022-04-08 08:28:14,379 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:28:14,381 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:14,388 INFO L290 TraceCheckUtils]: 0: Hoare triple {10209#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {10171#true} is VALID [2022-04-08 08:28:14,388 INFO L290 TraceCheckUtils]: 1: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-08 08:28:14,388 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {10171#true} {10171#true} #1216#return; {10171#true} is VALID [2022-04-08 08:28:14,394 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:28:14,401 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:14,413 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:28:14,413 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:14,419 INFO L290 TraceCheckUtils]: 0: Hoare triple {10171#true} ~cond := #in~cond; {10171#true} is VALID [2022-04-08 08:28:14,419 INFO L290 TraceCheckUtils]: 1: Hoare triple {10171#true} assume !(0 == ~cond); {10171#true} is VALID [2022-04-08 08:28:14,419 INFO L290 TraceCheckUtils]: 2: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-08 08:28:14,419 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10171#true} {10171#true} #1254#return; {10171#true} is VALID [2022-04-08 08:28:14,419 INFO L290 TraceCheckUtils]: 0: Hoare triple {10210#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {10171#true} is VALID [2022-04-08 08:28:14,419 INFO L272 TraceCheckUtils]: 1: Hoare triple {10171#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {10171#true} is VALID [2022-04-08 08:28:14,419 INFO L290 TraceCheckUtils]: 2: Hoare triple {10171#true} ~cond := #in~cond; {10171#true} is VALID [2022-04-08 08:28:14,419 INFO L290 TraceCheckUtils]: 3: Hoare triple {10171#true} assume !(0 == ~cond); {10171#true} is VALID [2022-04-08 08:28:14,419 INFO L290 TraceCheckUtils]: 4: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-08 08:28:14,419 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {10171#true} {10171#true} #1254#return; {10171#true} is VALID [2022-04-08 08:28:14,420 INFO L290 TraceCheckUtils]: 6: Hoare triple {10171#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {10171#true} is VALID [2022-04-08 08:28:14,420 INFO L290 TraceCheckUtils]: 7: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-08 08:28:14,420 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {10171#true} {10171#true} #1218#return; {10171#true} is VALID [2022-04-08 08:28:14,428 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:28:14,431 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:14,443 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:28:14,445 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:14,451 INFO L290 TraceCheckUtils]: 0: Hoare triple {10215#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {10171#true} is VALID [2022-04-08 08:28:14,452 INFO L290 TraceCheckUtils]: 1: Hoare triple {10171#true} assume !(0 == ~__BLAST_NONDET~5); {10171#true} is VALID [2022-04-08 08:28:14,452 INFO L290 TraceCheckUtils]: 2: Hoare triple {10171#true} #res := -1073741823; {10171#true} is VALID [2022-04-08 08:28:14,452 INFO L290 TraceCheckUtils]: 3: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-08 08:28:14,452 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {10171#true} {10171#true} #1176#return; {10171#true} is VALID [2022-04-08 08:28:14,452 INFO L290 TraceCheckUtils]: 0: Hoare triple {10215#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {10171#true} is VALID [2022-04-08 08:28:14,454 INFO L272 TraceCheckUtils]: 1: Hoare triple {10171#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {10215#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:28:14,454 INFO L290 TraceCheckUtils]: 2: Hoare triple {10215#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {10171#true} is VALID [2022-04-08 08:28:14,454 INFO L290 TraceCheckUtils]: 3: Hoare triple {10171#true} assume !(0 == ~__BLAST_NONDET~5); {10171#true} is VALID [2022-04-08 08:28:14,454 INFO L290 TraceCheckUtils]: 4: Hoare triple {10171#true} #res := -1073741823; {10171#true} is VALID [2022-04-08 08:28:14,454 INFO L290 TraceCheckUtils]: 5: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-08 08:28:14,454 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {10171#true} {10171#true} #1176#return; {10171#true} is VALID [2022-04-08 08:28:14,454 INFO L290 TraceCheckUtils]: 7: Hoare triple {10171#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {10171#true} is VALID [2022-04-08 08:28:14,454 INFO L290 TraceCheckUtils]: 8: Hoare triple {10171#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {10171#true} is VALID [2022-04-08 08:28:14,454 INFO L290 TraceCheckUtils]: 9: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-08 08:28:14,455 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10171#true} {10171#true} #1220#return; {10171#true} is VALID [2022-04-08 08:28:14,467 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 08:28:14,474 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:14,498 INFO L290 TraceCheckUtils]: 0: Hoare triple {10221#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {10202#(= ~compRegistered~0 0)} is VALID [2022-04-08 08:28:14,498 INFO L290 TraceCheckUtils]: 1: Hoare triple {10202#(= ~compRegistered~0 0)} assume true; {10202#(= ~compRegistered~0 0)} is VALID [2022-04-08 08:28:14,499 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {10202#(= ~compRegistered~0 0)} {10171#true} #1222#return; {10202#(= ~compRegistered~0 0)} is VALID [2022-04-08 08:28:14,499 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 49 [2022-04-08 08:28:14,503 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:14,511 INFO L290 TraceCheckUtils]: 0: Hoare triple {10210#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {10171#true} is VALID [2022-04-08 08:28:14,511 INFO L290 TraceCheckUtils]: 1: Hoare triple {10171#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {10171#true} is VALID [2022-04-08 08:28:14,511 INFO L290 TraceCheckUtils]: 2: Hoare triple {10171#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {10171#true} is VALID [2022-04-08 08:28:14,511 INFO L290 TraceCheckUtils]: 3: Hoare triple {10171#true} assume #res.base == dest.base && #res.offset == dest.offset; {10171#true} is VALID [2022-04-08 08:28:14,512 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {10171#true} {10202#(= ~compRegistered~0 0)} #1186#return; {10202#(= ~compRegistered~0 0)} is VALID [2022-04-08 08:28:14,515 INFO L272 TraceCheckUtils]: 0: Hoare triple {10171#true} call ULTIMATE.init(); {10208#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:28:14,515 INFO L290 TraceCheckUtils]: 1: Hoare triple {10208#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {10171#true} is VALID [2022-04-08 08:28:14,515 INFO L290 TraceCheckUtils]: 2: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-08 08:28:14,515 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10171#true} {10171#true} #1270#return; {10171#true} is VALID [2022-04-08 08:28:14,516 INFO L272 TraceCheckUtils]: 4: Hoare triple {10171#true} call #t~ret213 := main(); {10171#true} is VALID [2022-04-08 08:28:14,516 INFO L290 TraceCheckUtils]: 5: Hoare triple {10171#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {10171#true} is VALID [2022-04-08 08:28:14,516 INFO L272 TraceCheckUtils]: 6: Hoare triple {10171#true} call _BLAST_init(); {10209#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:28:14,517 INFO L290 TraceCheckUtils]: 7: Hoare triple {10209#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {10171#true} is VALID [2022-04-08 08:28:14,517 INFO L290 TraceCheckUtils]: 8: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-08 08:28:14,517 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {10171#true} {10171#true} #1216#return; {10171#true} is VALID [2022-04-08 08:28:14,517 INFO L272 TraceCheckUtils]: 10: Hoare triple {10171#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {10210#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:28:14,518 INFO L290 TraceCheckUtils]: 11: Hoare triple {10210#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {10171#true} is VALID [2022-04-08 08:28:14,518 INFO L272 TraceCheckUtils]: 12: Hoare triple {10171#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {10171#true} is VALID [2022-04-08 08:28:14,518 INFO L290 TraceCheckUtils]: 13: Hoare triple {10171#true} ~cond := #in~cond; {10171#true} is VALID [2022-04-08 08:28:14,518 INFO L290 TraceCheckUtils]: 14: Hoare triple {10171#true} assume !(0 == ~cond); {10171#true} is VALID [2022-04-08 08:28:14,518 INFO L290 TraceCheckUtils]: 15: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-08 08:28:14,518 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10171#true} {10171#true} #1254#return; {10171#true} is VALID [2022-04-08 08:28:14,518 INFO L290 TraceCheckUtils]: 17: Hoare triple {10171#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {10171#true} is VALID [2022-04-08 08:28:14,518 INFO L290 TraceCheckUtils]: 18: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-08 08:28:14,518 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {10171#true} {10171#true} #1218#return; {10171#true} is VALID [2022-04-08 08:28:14,518 INFO L290 TraceCheckUtils]: 20: Hoare triple {10171#true} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {10171#true} is VALID [2022-04-08 08:28:14,518 INFO L290 TraceCheckUtils]: 21: Hoare triple {10171#true} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {10171#true} is VALID [2022-04-08 08:28:14,518 INFO L290 TraceCheckUtils]: 22: Hoare triple {10171#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {10171#true} is VALID [2022-04-08 08:28:14,519 INFO L272 TraceCheckUtils]: 23: Hoare triple {10171#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {10215#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:28:14,519 INFO L290 TraceCheckUtils]: 24: Hoare triple {10215#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {10171#true} is VALID [2022-04-08 08:28:14,520 INFO L272 TraceCheckUtils]: 25: Hoare triple {10171#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {10215#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:28:14,520 INFO L290 TraceCheckUtils]: 26: Hoare triple {10215#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {10171#true} is VALID [2022-04-08 08:28:14,520 INFO L290 TraceCheckUtils]: 27: Hoare triple {10171#true} assume !(0 == ~__BLAST_NONDET~5); {10171#true} is VALID [2022-04-08 08:28:14,520 INFO L290 TraceCheckUtils]: 28: Hoare triple {10171#true} #res := -1073741823; {10171#true} is VALID [2022-04-08 08:28:14,521 INFO L290 TraceCheckUtils]: 29: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-08 08:28:14,521 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {10171#true} {10171#true} #1176#return; {10171#true} is VALID [2022-04-08 08:28:14,521 INFO L290 TraceCheckUtils]: 31: Hoare triple {10171#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {10171#true} is VALID [2022-04-08 08:28:14,521 INFO L290 TraceCheckUtils]: 32: Hoare triple {10171#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {10171#true} is VALID [2022-04-08 08:28:14,521 INFO L290 TraceCheckUtils]: 33: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-08 08:28:14,521 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {10171#true} {10171#true} #1220#return; {10171#true} is VALID [2022-04-08 08:28:14,521 INFO L290 TraceCheckUtils]: 35: Hoare triple {10171#true} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {10171#true} is VALID [2022-04-08 08:28:14,521 INFO L272 TraceCheckUtils]: 36: Hoare triple {10171#true} call stub_driver_init(); {10221#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:28:14,522 INFO L290 TraceCheckUtils]: 37: Hoare triple {10221#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {10202#(= ~compRegistered~0 0)} is VALID [2022-04-08 08:28:14,522 INFO L290 TraceCheckUtils]: 38: Hoare triple {10202#(= ~compRegistered~0 0)} assume true; {10202#(= ~compRegistered~0 0)} is VALID [2022-04-08 08:28:14,522 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {10202#(= ~compRegistered~0 0)} {10171#true} #1222#return; {10202#(= ~compRegistered~0 0)} is VALID [2022-04-08 08:28:14,522 INFO L290 TraceCheckUtils]: 40: Hoare triple {10202#(= ~compRegistered~0 0)} assume !!(~status~5 >= 0); {10202#(= ~compRegistered~0 0)} is VALID [2022-04-08 08:28:14,523 INFO L290 TraceCheckUtils]: 41: Hoare triple {10202#(= ~compRegistered~0 0)} assume !(0 == ~__BLAST_NONDET~0); {10202#(= ~compRegistered~0 0)} is VALID [2022-04-08 08:28:14,523 INFO L290 TraceCheckUtils]: 42: Hoare triple {10202#(= ~compRegistered~0 0)} assume !(1 == ~__BLAST_NONDET~0); {10202#(= ~compRegistered~0 0)} is VALID [2022-04-08 08:28:14,523 INFO L290 TraceCheckUtils]: 43: Hoare triple {10202#(= ~compRegistered~0 0)} assume !(2 == ~__BLAST_NONDET~0); {10202#(= ~compRegistered~0 0)} is VALID [2022-04-08 08:28:14,524 INFO L290 TraceCheckUtils]: 44: Hoare triple {10202#(= ~compRegistered~0 0)} assume 3 == ~__BLAST_NONDET~0; {10202#(= ~compRegistered~0 0)} is VALID [2022-04-08 08:28:14,525 INFO L272 TraceCheckUtils]: 45: Hoare triple {10202#(= ~compRegistered~0 0)} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {10202#(= ~compRegistered~0 0)} is VALID [2022-04-08 08:28:14,528 INFO L290 TraceCheckUtils]: 46: Hoare triple {10202#(= ~compRegistered~0 0)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~devExt~3.base, ~devExt~3.offset;havoc ~irpStack~3.base, ~irpStack~3.offset;havoc ~status~3;call ~#event~1.base, ~#event~1.offset := #Ultimate.allocOnStack(16);havoc ~irpSp~0.base, ~irpSp~0.offset;havoc ~nextIrpSp~0.base, ~nextIrpSp~0.offset;havoc ~irpSp___0~0.base, ~irpSp___0~0.offset;~status~3 := 0;call #t~mem79.base, #t~mem79.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~3.base, ~devExt~3.offset := #t~mem79.base, #t~mem79.offset;havoc #t~mem79.base, #t~mem79.offset;call #t~mem80.base, #t~mem80.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~3.base, ~irpStack~3.offset := #t~mem80.base, #t~mem80.offset;havoc #t~mem80.base, #t~mem80.offset;call #t~mem81 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {10202#(= ~compRegistered~0 0)} is VALID [2022-04-08 08:28:14,529 INFO L290 TraceCheckUtils]: 47: Hoare triple {10202#(= ~compRegistered~0 0)} assume 0 == #t~mem81 % 256;havoc #t~mem81; {10202#(= ~compRegistered~0 0)} is VALID [2022-04-08 08:28:14,530 INFO L290 TraceCheckUtils]: 48: Hoare triple {10202#(= ~compRegistered~0 0)} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp~0.base, ~irpSp~0.offset := #t~mem102.base, #t~mem102.offset;havoc #t~mem102.base, #t~mem102.offset;call #t~mem103.base, #t~mem103.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 36;havoc #t~mem103.base, #t~mem103.offset; {10202#(= ~compRegistered~0 0)} is VALID [2022-04-08 08:28:14,531 INFO L272 TraceCheckUtils]: 49: Hoare triple {10202#(= ~compRegistered~0 0)} call #t~memmove~res104.base, #t~memmove~res104.offset := #Ultimate.C_memmove(~nextIrpSp~0.base, ~nextIrpSp~0.offset, ~irpSp~0.base, ~irpSp~0.offset, 28); {10210#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:28:14,531 INFO L290 TraceCheckUtils]: 50: Hoare triple {10210#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {10171#true} is VALID [2022-04-08 08:28:14,532 INFO L290 TraceCheckUtils]: 51: Hoare triple {10171#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {10171#true} is VALID [2022-04-08 08:28:14,532 INFO L290 TraceCheckUtils]: 52: Hoare triple {10171#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {10171#true} is VALID [2022-04-08 08:28:14,532 INFO L290 TraceCheckUtils]: 53: Hoare triple {10171#true} assume #res.base == dest.base && #res.offset == dest.offset; {10171#true} is VALID [2022-04-08 08:28:14,533 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {10171#true} {10202#(= ~compRegistered~0 0)} #1186#return; {10202#(= ~compRegistered~0 0)} is VALID [2022-04-08 08:28:14,534 INFO L290 TraceCheckUtils]: 55: Hoare triple {10202#(= ~compRegistered~0 0)} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {10202#(= ~compRegistered~0 0)} is VALID [2022-04-08 08:28:14,536 INFO L290 TraceCheckUtils]: 56: Hoare triple {10202#(= ~compRegistered~0 0)} assume !(~s~0 != ~NP~0); {10202#(= ~compRegistered~0 0)} is VALID [2022-04-08 08:28:14,537 INFO L290 TraceCheckUtils]: 57: Hoare triple {10202#(= ~compRegistered~0 0)} assume 0 != ~compRegistered~0; {10172#false} is VALID [2022-04-08 08:28:14,539 INFO L272 TraceCheckUtils]: 58: Hoare triple {10172#false} call errorFn(); {10172#false} is VALID [2022-04-08 08:28:14,539 INFO L290 TraceCheckUtils]: 59: Hoare triple {10172#false} assume !false; {10172#false} is VALID [2022-04-08 08:28:14,539 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 08:28:14,539 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:28:14,539 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1338005373] [2022-04-08 08:28:14,539 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1338005373] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:28:14,540 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:28:14,540 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 08:28:14,540 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:28:14,540 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1871534624] [2022-04-08 08:28:14,541 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1871534624] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:28:14,541 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:28:14,541 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 08:28:14,541 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [609025359] [2022-04-08 08:28:14,541 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:28:14,541 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.125) internal successors, (41), 3 states have internal predecessors, (41), 3 states have call successors, (11), 8 states have call predecessors, (11), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 60 [2022-04-08 08:28:14,542 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:28:14,542 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 5.125) internal successors, (41), 3 states have internal predecessors, (41), 3 states have call successors, (11), 8 states have call predecessors, (11), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 08:28:14,586 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:28:14,586 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 08:28:14,586 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:28:14,587 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 08:28:14,587 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-08 08:28:14,587 INFO L87 Difference]: Start difference. First operand 374 states and 498 transitions. Second operand has 8 states, 8 states have (on average 5.125) internal successors, (41), 3 states have internal predecessors, (41), 3 states have call successors, (11), 8 states have call predecessors, (11), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 08:28:16,734 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:28:21,260 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:28:21,260 INFO L93 Difference]: Finished difference Result 569 states and 751 transitions. [2022-04-08 08:28:21,260 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 08:28:21,260 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.125) internal successors, (41), 3 states have internal predecessors, (41), 3 states have call successors, (11), 8 states have call predecessors, (11), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 60 [2022-04-08 08:28:21,260 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:28:21,260 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.125) internal successors, (41), 3 states have internal predecessors, (41), 3 states have call successors, (11), 8 states have call predecessors, (11), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 08:28:21,264 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 618 transitions. [2022-04-08 08:28:21,265 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.125) internal successors, (41), 3 states have internal predecessors, (41), 3 states have call successors, (11), 8 states have call predecessors, (11), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 08:28:21,268 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 618 transitions. [2022-04-08 08:28:21,268 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 618 transitions. [2022-04-08 08:28:21,878 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 618 edges. 618 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:28:21,889 INFO L225 Difference]: With dead ends: 569 [2022-04-08 08:28:21,889 INFO L226 Difference]: Without dead ends: 450 [2022-04-08 08:28:21,890 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 31 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=70, Invalid=140, Unknown=0, NotChecked=0, Total=210 [2022-04-08 08:28:21,890 INFO L913 BasicCegarLoop]: 318 mSDtfsCounter, 977 mSDsluCounter, 169 mSDsCounter, 0 mSdLazyCounter, 650 mSolverCounterSat, 334 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 989 SdHoareTripleChecker+Valid, 487 SdHoareTripleChecker+Invalid, 985 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 334 IncrementalHoareTripleChecker+Valid, 650 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.6s IncrementalHoareTripleChecker+Time [2022-04-08 08:28:21,890 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [989 Valid, 487 Invalid, 985 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [334 Valid, 650 Invalid, 1 Unknown, 0 Unchecked, 3.6s Time] [2022-04-08 08:28:21,891 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 450 states. [2022-04-08 08:28:21,959 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 450 to 410. [2022-04-08 08:28:21,959 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:28:21,960 INFO L82 GeneralOperation]: Start isEquivalent. First operand 450 states. Second operand has 410 states, 325 states have (on average 1.3723076923076922) internal successors, (446), 327 states have internal predecessors, (446), 44 states have call successors, (44), 33 states have call predecessors, (44), 40 states have return successors, (55), 50 states have call predecessors, (55), 37 states have call successors, (55) [2022-04-08 08:28:21,960 INFO L74 IsIncluded]: Start isIncluded. First operand 450 states. Second operand has 410 states, 325 states have (on average 1.3723076923076922) internal successors, (446), 327 states have internal predecessors, (446), 44 states have call successors, (44), 33 states have call predecessors, (44), 40 states have return successors, (55), 50 states have call predecessors, (55), 37 states have call successors, (55) [2022-04-08 08:28:21,961 INFO L87 Difference]: Start difference. First operand 450 states. Second operand has 410 states, 325 states have (on average 1.3723076923076922) internal successors, (446), 327 states have internal predecessors, (446), 44 states have call successors, (44), 33 states have call predecessors, (44), 40 states have return successors, (55), 50 states have call predecessors, (55), 37 states have call successors, (55) [2022-04-08 08:28:21,972 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:28:21,973 INFO L93 Difference]: Finished difference Result 450 states and 596 transitions. [2022-04-08 08:28:21,973 INFO L276 IsEmpty]: Start isEmpty. Operand 450 states and 596 transitions. [2022-04-08 08:28:21,973 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:28:21,973 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:28:21,974 INFO L74 IsIncluded]: Start isIncluded. First operand has 410 states, 325 states have (on average 1.3723076923076922) internal successors, (446), 327 states have internal predecessors, (446), 44 states have call successors, (44), 33 states have call predecessors, (44), 40 states have return successors, (55), 50 states have call predecessors, (55), 37 states have call successors, (55) Second operand 450 states. [2022-04-08 08:28:21,975 INFO L87 Difference]: Start difference. First operand has 410 states, 325 states have (on average 1.3723076923076922) internal successors, (446), 327 states have internal predecessors, (446), 44 states have call successors, (44), 33 states have call predecessors, (44), 40 states have return successors, (55), 50 states have call predecessors, (55), 37 states have call successors, (55) Second operand 450 states. [2022-04-08 08:28:21,985 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:28:21,985 INFO L93 Difference]: Finished difference Result 450 states and 596 transitions. [2022-04-08 08:28:21,986 INFO L276 IsEmpty]: Start isEmpty. Operand 450 states and 596 transitions. [2022-04-08 08:28:21,986 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:28:21,986 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:28:21,986 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:28:21,986 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:28:21,987 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 410 states, 325 states have (on average 1.3723076923076922) internal successors, (446), 327 states have internal predecessors, (446), 44 states have call successors, (44), 33 states have call predecessors, (44), 40 states have return successors, (55), 50 states have call predecessors, (55), 37 states have call successors, (55) [2022-04-08 08:28:21,997 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 410 states to 410 states and 545 transitions. [2022-04-08 08:28:21,998 INFO L78 Accepts]: Start accepts. Automaton has 410 states and 545 transitions. Word has length 60 [2022-04-08 08:28:21,998 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:28:21,998 INFO L478 AbstractCegarLoop]: Abstraction has 410 states and 545 transitions. [2022-04-08 08:28:21,998 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 5.125) internal successors, (41), 3 states have internal predecessors, (41), 3 states have call successors, (11), 8 states have call predecessors, (11), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-08 08:28:21,999 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 410 states and 545 transitions. [2022-04-08 08:28:22,792 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 545 edges. 545 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:28:22,792 INFO L276 IsEmpty]: Start isEmpty. Operand 410 states and 545 transitions. [2022-04-08 08:28:22,793 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2022-04-08 08:28:22,793 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:28:22,793 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:28:22,793 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-04-08 08:28:22,793 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:28:22,793 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:28:22,793 INFO L85 PathProgramCache]: Analyzing trace with hash -110356200, now seen corresponding path program 1 times [2022-04-08 08:28:22,793 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:28:22,793 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2107134684] [2022-04-08 08:28:22,794 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 08:28:22,794 INFO L85 PathProgramCache]: Analyzing trace with hash -110356200, now seen corresponding path program 2 times [2022-04-08 08:28:22,794 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:28:22,794 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1635754674] [2022-04-08 08:28:22,794 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:28:22,794 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:28:22,859 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:22,970 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:28:22,972 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:22,980 INFO L290 TraceCheckUtils]: 0: Hoare triple {13137#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {13100#true} is VALID [2022-04-08 08:28:22,980 INFO L290 TraceCheckUtils]: 1: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-08 08:28:22,980 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {13100#true} {13100#true} #1270#return; {13100#true} is VALID [2022-04-08 08:28:23,001 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:28:23,004 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:23,020 INFO L290 TraceCheckUtils]: 0: Hoare triple {13138#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {13139#(and (= (+ (- 1) ~NP~0) 0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 08:28:23,021 INFO L290 TraceCheckUtils]: 1: Hoare triple {13139#(and (= (+ (- 1) ~NP~0) 0) (<= 4 ~SKIP2~0))} assume true; {13139#(and (= (+ (- 1) ~NP~0) 0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 08:28:23,021 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {13139#(and (= (+ (- 1) ~NP~0) 0) (<= 4 ~SKIP2~0))} {13100#true} #1216#return; {13108#(and (not (= ~SKIP2~0 1)) (= ~NP~0 1))} is VALID [2022-04-08 08:28:23,028 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:28:23,040 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:23,054 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:28:23,055 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:23,062 INFO L290 TraceCheckUtils]: 0: Hoare triple {13100#true} ~cond := #in~cond; {13100#true} is VALID [2022-04-08 08:28:23,062 INFO L290 TraceCheckUtils]: 1: Hoare triple {13100#true} assume !(0 == ~cond); {13100#true} is VALID [2022-04-08 08:28:23,062 INFO L290 TraceCheckUtils]: 2: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-08 08:28:23,062 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13100#true} {13100#true} #1254#return; {13100#true} is VALID [2022-04-08 08:28:23,062 INFO L290 TraceCheckUtils]: 0: Hoare triple {13140#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {13100#true} is VALID [2022-04-08 08:28:23,062 INFO L272 TraceCheckUtils]: 1: Hoare triple {13100#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {13100#true} is VALID [2022-04-08 08:28:23,063 INFO L290 TraceCheckUtils]: 2: Hoare triple {13100#true} ~cond := #in~cond; {13100#true} is VALID [2022-04-08 08:28:23,063 INFO L290 TraceCheckUtils]: 3: Hoare triple {13100#true} assume !(0 == ~cond); {13100#true} is VALID [2022-04-08 08:28:23,063 INFO L290 TraceCheckUtils]: 4: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-08 08:28:23,063 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {13100#true} {13100#true} #1254#return; {13100#true} is VALID [2022-04-08 08:28:23,063 INFO L290 TraceCheckUtils]: 6: Hoare triple {13100#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {13100#true} is VALID [2022-04-08 08:28:23,063 INFO L290 TraceCheckUtils]: 7: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-08 08:28:23,063 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {13100#true} {13108#(and (not (= ~SKIP2~0 1)) (= ~NP~0 1))} #1218#return; {13108#(and (not (= ~SKIP2~0 1)) (= ~NP~0 1))} is VALID [2022-04-08 08:28:23,073 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:28:23,078 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:23,085 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:28:23,087 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:23,093 INFO L290 TraceCheckUtils]: 0: Hoare triple {13145#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {13100#true} is VALID [2022-04-08 08:28:23,093 INFO L290 TraceCheckUtils]: 1: Hoare triple {13100#true} assume !(0 == ~__BLAST_NONDET~5); {13100#true} is VALID [2022-04-08 08:28:23,093 INFO L290 TraceCheckUtils]: 2: Hoare triple {13100#true} #res := -1073741823; {13100#true} is VALID [2022-04-08 08:28:23,093 INFO L290 TraceCheckUtils]: 3: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-08 08:28:23,093 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {13100#true} {13100#true} #1176#return; {13100#true} is VALID [2022-04-08 08:28:23,093 INFO L290 TraceCheckUtils]: 0: Hoare triple {13145#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {13100#true} is VALID [2022-04-08 08:28:23,094 INFO L272 TraceCheckUtils]: 1: Hoare triple {13100#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {13145#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:28:23,094 INFO L290 TraceCheckUtils]: 2: Hoare triple {13145#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {13100#true} is VALID [2022-04-08 08:28:23,095 INFO L290 TraceCheckUtils]: 3: Hoare triple {13100#true} assume !(0 == ~__BLAST_NONDET~5); {13100#true} is VALID [2022-04-08 08:28:23,095 INFO L290 TraceCheckUtils]: 4: Hoare triple {13100#true} #res := -1073741823; {13100#true} is VALID [2022-04-08 08:28:23,095 INFO L290 TraceCheckUtils]: 5: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-08 08:28:23,095 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {13100#true} {13100#true} #1176#return; {13100#true} is VALID [2022-04-08 08:28:23,095 INFO L290 TraceCheckUtils]: 7: Hoare triple {13100#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {13100#true} is VALID [2022-04-08 08:28:23,095 INFO L290 TraceCheckUtils]: 8: Hoare triple {13100#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {13100#true} is VALID [2022-04-08 08:28:23,095 INFO L290 TraceCheckUtils]: 9: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-08 08:28:23,096 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13100#true} {13108#(and (not (= ~SKIP2~0 1)) (= ~NP~0 1))} #1220#return; {13108#(and (not (= ~SKIP2~0 1)) (= ~NP~0 1))} is VALID [2022-04-08 08:28:23,108 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 08:28:23,111 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:23,158 INFO L290 TraceCheckUtils]: 0: Hoare triple {13151#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {13152#(and (or (not (<= ~s~0 0)) (<= ~NP~0 ~s~0)) (or (<= ~s~0 ~NP~0) (<= ~s~0 1)))} is VALID [2022-04-08 08:28:23,158 INFO L290 TraceCheckUtils]: 1: Hoare triple {13152#(and (or (not (<= ~s~0 0)) (<= ~NP~0 ~s~0)) (or (<= ~s~0 ~NP~0) (<= ~s~0 1)))} assume true; {13152#(and (or (not (<= ~s~0 0)) (<= ~NP~0 ~s~0)) (or (<= ~s~0 ~NP~0) (<= ~s~0 1)))} is VALID [2022-04-08 08:28:23,159 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {13152#(and (or (not (<= ~s~0 0)) (<= ~NP~0 ~s~0)) (or (<= ~s~0 ~NP~0) (<= ~s~0 1)))} {13108#(and (not (= ~SKIP2~0 1)) (= ~NP~0 1))} #1222#return; {13132#(and (= ~s~0 1) (not (= ~SKIP2~0 1)))} is VALID [2022-04-08 08:28:23,159 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 44 [2022-04-08 08:28:23,161 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:23,170 INFO L290 TraceCheckUtils]: 0: Hoare triple {13100#true} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647; {13100#true} is VALID [2022-04-08 08:28:23,170 INFO L290 TraceCheckUtils]: 1: Hoare triple {13100#true} assume 0 != #t~nondet17;havoc #t~nondet17;#res := 0; {13100#true} is VALID [2022-04-08 08:28:23,170 INFO L290 TraceCheckUtils]: 2: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-08 08:28:23,171 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13100#true} {13132#(and (= ~s~0 1) (not (= ~SKIP2~0 1)))} #1228#return; {13132#(and (= ~s~0 1) (not (= ~SKIP2~0 1)))} is VALID [2022-04-08 08:28:23,173 INFO L272 TraceCheckUtils]: 0: Hoare triple {13100#true} call ULTIMATE.init(); {13137#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:28:23,173 INFO L290 TraceCheckUtils]: 1: Hoare triple {13137#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {13100#true} is VALID [2022-04-08 08:28:23,173 INFO L290 TraceCheckUtils]: 2: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-08 08:28:23,173 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13100#true} {13100#true} #1270#return; {13100#true} is VALID [2022-04-08 08:28:23,174 INFO L272 TraceCheckUtils]: 4: Hoare triple {13100#true} call #t~ret213 := main(); {13100#true} is VALID [2022-04-08 08:28:23,174 INFO L290 TraceCheckUtils]: 5: Hoare triple {13100#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {13100#true} is VALID [2022-04-08 08:28:23,175 INFO L272 TraceCheckUtils]: 6: Hoare triple {13100#true} call _BLAST_init(); {13138#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:28:23,175 INFO L290 TraceCheckUtils]: 7: Hoare triple {13138#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {13139#(and (= (+ (- 1) ~NP~0) 0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 08:28:23,176 INFO L290 TraceCheckUtils]: 8: Hoare triple {13139#(and (= (+ (- 1) ~NP~0) 0) (<= 4 ~SKIP2~0))} assume true; {13139#(and (= (+ (- 1) ~NP~0) 0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 08:28:23,176 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {13139#(and (= (+ (- 1) ~NP~0) 0) (<= 4 ~SKIP2~0))} {13100#true} #1216#return; {13108#(and (not (= ~SKIP2~0 1)) (= ~NP~0 1))} is VALID [2022-04-08 08:28:23,177 INFO L272 TraceCheckUtils]: 10: Hoare triple {13108#(and (not (= ~SKIP2~0 1)) (= ~NP~0 1))} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {13140#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:28:23,177 INFO L290 TraceCheckUtils]: 11: Hoare triple {13140#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {13100#true} is VALID [2022-04-08 08:28:23,177 INFO L272 TraceCheckUtils]: 12: Hoare triple {13100#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {13100#true} is VALID [2022-04-08 08:28:23,177 INFO L290 TraceCheckUtils]: 13: Hoare triple {13100#true} ~cond := #in~cond; {13100#true} is VALID [2022-04-08 08:28:23,177 INFO L290 TraceCheckUtils]: 14: Hoare triple {13100#true} assume !(0 == ~cond); {13100#true} is VALID [2022-04-08 08:28:23,177 INFO L290 TraceCheckUtils]: 15: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-08 08:28:23,177 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13100#true} {13100#true} #1254#return; {13100#true} is VALID [2022-04-08 08:28:23,177 INFO L290 TraceCheckUtils]: 17: Hoare triple {13100#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {13100#true} is VALID [2022-04-08 08:28:23,177 INFO L290 TraceCheckUtils]: 18: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-08 08:28:23,178 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {13100#true} {13108#(and (not (= ~SKIP2~0 1)) (= ~NP~0 1))} #1218#return; {13108#(and (not (= ~SKIP2~0 1)) (= ~NP~0 1))} is VALID [2022-04-08 08:28:23,178 INFO L290 TraceCheckUtils]: 20: Hoare triple {13108#(and (not (= ~SKIP2~0 1)) (= ~NP~0 1))} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {13108#(and (not (= ~SKIP2~0 1)) (= ~NP~0 1))} is VALID [2022-04-08 08:28:23,179 INFO L290 TraceCheckUtils]: 21: Hoare triple {13108#(and (not (= ~SKIP2~0 1)) (= ~NP~0 1))} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {13108#(and (not (= ~SKIP2~0 1)) (= ~NP~0 1))} is VALID [2022-04-08 08:28:23,179 INFO L290 TraceCheckUtils]: 22: Hoare triple {13108#(and (not (= ~SKIP2~0 1)) (= ~NP~0 1))} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {13108#(and (not (= ~SKIP2~0 1)) (= ~NP~0 1))} is VALID [2022-04-08 08:28:23,180 INFO L272 TraceCheckUtils]: 23: Hoare triple {13108#(and (not (= ~SKIP2~0 1)) (= ~NP~0 1))} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {13145#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:28:23,180 INFO L290 TraceCheckUtils]: 24: Hoare triple {13145#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {13100#true} is VALID [2022-04-08 08:28:23,181 INFO L272 TraceCheckUtils]: 25: Hoare triple {13100#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {13145#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:28:23,181 INFO L290 TraceCheckUtils]: 26: Hoare triple {13145#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {13100#true} is VALID [2022-04-08 08:28:23,181 INFO L290 TraceCheckUtils]: 27: Hoare triple {13100#true} assume !(0 == ~__BLAST_NONDET~5); {13100#true} is VALID [2022-04-08 08:28:23,181 INFO L290 TraceCheckUtils]: 28: Hoare triple {13100#true} #res := -1073741823; {13100#true} is VALID [2022-04-08 08:28:23,181 INFO L290 TraceCheckUtils]: 29: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-08 08:28:23,181 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {13100#true} {13100#true} #1176#return; {13100#true} is VALID [2022-04-08 08:28:23,181 INFO L290 TraceCheckUtils]: 31: Hoare triple {13100#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {13100#true} is VALID [2022-04-08 08:28:23,182 INFO L290 TraceCheckUtils]: 32: Hoare triple {13100#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {13100#true} is VALID [2022-04-08 08:28:23,182 INFO L290 TraceCheckUtils]: 33: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-08 08:28:23,182 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {13100#true} {13108#(and (not (= ~SKIP2~0 1)) (= ~NP~0 1))} #1220#return; {13108#(and (not (= ~SKIP2~0 1)) (= ~NP~0 1))} is VALID [2022-04-08 08:28:23,183 INFO L290 TraceCheckUtils]: 35: Hoare triple {13108#(and (not (= ~SKIP2~0 1)) (= ~NP~0 1))} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {13108#(and (not (= ~SKIP2~0 1)) (= ~NP~0 1))} is VALID [2022-04-08 08:28:23,183 INFO L272 TraceCheckUtils]: 36: Hoare triple {13108#(and (not (= ~SKIP2~0 1)) (= ~NP~0 1))} call stub_driver_init(); {13151#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:28:23,184 INFO L290 TraceCheckUtils]: 37: Hoare triple {13151#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {13152#(and (or (not (<= ~s~0 0)) (<= ~NP~0 ~s~0)) (or (<= ~s~0 ~NP~0) (<= ~s~0 1)))} is VALID [2022-04-08 08:28:23,184 INFO L290 TraceCheckUtils]: 38: Hoare triple {13152#(and (or (not (<= ~s~0 0)) (<= ~NP~0 ~s~0)) (or (<= ~s~0 ~NP~0) (<= ~s~0 1)))} assume true; {13152#(and (or (not (<= ~s~0 0)) (<= ~NP~0 ~s~0)) (or (<= ~s~0 ~NP~0) (<= ~s~0 1)))} is VALID [2022-04-08 08:28:23,184 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {13152#(and (or (not (<= ~s~0 0)) (<= ~NP~0 ~s~0)) (or (<= ~s~0 ~NP~0) (<= ~s~0 1)))} {13108#(and (not (= ~SKIP2~0 1)) (= ~NP~0 1))} #1222#return; {13132#(and (= ~s~0 1) (not (= ~SKIP2~0 1)))} is VALID [2022-04-08 08:28:23,185 INFO L290 TraceCheckUtils]: 40: Hoare triple {13132#(and (= ~s~0 1) (not (= ~SKIP2~0 1)))} assume !!(~status~5 >= 0); {13132#(and (= ~s~0 1) (not (= ~SKIP2~0 1)))} is VALID [2022-04-08 08:28:23,185 INFO L290 TraceCheckUtils]: 41: Hoare triple {13132#(and (= ~s~0 1) (not (= ~SKIP2~0 1)))} assume !(0 == ~__BLAST_NONDET~0); {13132#(and (= ~s~0 1) (not (= ~SKIP2~0 1)))} is VALID [2022-04-08 08:28:23,185 INFO L290 TraceCheckUtils]: 42: Hoare triple {13132#(and (= ~s~0 1) (not (= ~SKIP2~0 1)))} assume !(1 == ~__BLAST_NONDET~0); {13132#(and (= ~s~0 1) (not (= ~SKIP2~0 1)))} is VALID [2022-04-08 08:28:23,186 INFO L290 TraceCheckUtils]: 43: Hoare triple {13132#(and (= ~s~0 1) (not (= ~SKIP2~0 1)))} assume 2 == ~__BLAST_NONDET~0; {13132#(and (= ~s~0 1) (not (= ~SKIP2~0 1)))} is VALID [2022-04-08 08:28:23,186 INFO L272 TraceCheckUtils]: 44: Hoare triple {13132#(and (= ~s~0 1) (not (= ~SKIP2~0 1)))} call #t~ret173 := KbFilter_IoCtl(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {13100#true} is VALID [2022-04-08 08:28:23,186 INFO L290 TraceCheckUtils]: 45: Hoare triple {13100#true} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647; {13100#true} is VALID [2022-04-08 08:28:23,186 INFO L290 TraceCheckUtils]: 46: Hoare triple {13100#true} assume 0 != #t~nondet17;havoc #t~nondet17;#res := 0; {13100#true} is VALID [2022-04-08 08:28:23,186 INFO L290 TraceCheckUtils]: 47: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-08 08:28:23,186 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {13100#true} {13132#(and (= ~s~0 1) (not (= ~SKIP2~0 1)))} #1228#return; {13132#(and (= ~s~0 1) (not (= ~SKIP2~0 1)))} is VALID [2022-04-08 08:28:23,187 INFO L290 TraceCheckUtils]: 49: Hoare triple {13132#(and (= ~s~0 1) (not (= ~SKIP2~0 1)))} assume -2147483648 <= #t~ret173 && #t~ret173 <= 2147483647;~status~5 := #t~ret173;havoc #t~ret173; {13132#(and (= ~s~0 1) (not (= ~SKIP2~0 1)))} is VALID [2022-04-08 08:28:23,187 INFO L290 TraceCheckUtils]: 50: Hoare triple {13132#(and (= ~s~0 1) (not (= ~SKIP2~0 1)))} assume 0 != ~we_should_unload~0; {13132#(and (= ~s~0 1) (not (= ~SKIP2~0 1)))} is VALID [2022-04-08 08:28:23,187 INFO L290 TraceCheckUtils]: 51: Hoare triple {13132#(and (= ~s~0 1) (not (= ~SKIP2~0 1)))} assume !(1 == ~pended~0); {13132#(and (= ~s~0 1) (not (= ~SKIP2~0 1)))} is VALID [2022-04-08 08:28:23,188 INFO L290 TraceCheckUtils]: 52: Hoare triple {13132#(and (= ~s~0 1) (not (= ~SKIP2~0 1)))} assume !(1 == ~pended~0); {13132#(and (= ~s~0 1) (not (= ~SKIP2~0 1)))} is VALID [2022-04-08 08:28:23,188 INFO L290 TraceCheckUtils]: 53: Hoare triple {13132#(and (= ~s~0 1) (not (= ~SKIP2~0 1)))} assume !(~s~0 == ~UNLOADED~0); {13132#(and (= ~s~0 1) (not (= ~SKIP2~0 1)))} is VALID [2022-04-08 08:28:23,188 INFO L290 TraceCheckUtils]: 54: Hoare triple {13132#(and (= ~s~0 1) (not (= ~SKIP2~0 1)))} assume !(-1 == ~status~5); {13132#(and (= ~s~0 1) (not (= ~SKIP2~0 1)))} is VALID [2022-04-08 08:28:23,188 INFO L290 TraceCheckUtils]: 55: Hoare triple {13132#(and (= ~s~0 1) (not (= ~SKIP2~0 1)))} assume !(~s~0 != ~SKIP2~0); {13101#false} is VALID [2022-04-08 08:28:23,189 INFO L290 TraceCheckUtils]: 56: Hoare triple {13101#false} assume 1 == ~pended~0; {13101#false} is VALID [2022-04-08 08:28:23,189 INFO L290 TraceCheckUtils]: 57: Hoare triple {13101#false} assume 259 != ~status~5; {13101#false} is VALID [2022-04-08 08:28:23,189 INFO L272 TraceCheckUtils]: 58: Hoare triple {13101#false} call errorFn(); {13101#false} is VALID [2022-04-08 08:28:23,189 INFO L290 TraceCheckUtils]: 59: Hoare triple {13101#false} assume !false; {13101#false} is VALID [2022-04-08 08:28:23,189 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 08:28:23,189 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:28:23,190 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1635754674] [2022-04-08 08:28:23,190 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1635754674] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:28:23,190 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:28:23,190 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 08:28:23,190 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:28:23,190 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2107134684] [2022-04-08 08:28:23,190 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2107134684] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:28:23,190 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:28:23,190 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 08:28:23,190 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1548920698] [2022-04-08 08:28:23,190 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:28:23,191 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.8181818181818183) internal successors, (42), 6 states have internal predecessors, (42), 4 states have call successors, (10), 7 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 60 [2022-04-08 08:28:23,192 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:28:23,192 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 3.8181818181818183) internal successors, (42), 6 states have internal predecessors, (42), 4 states have call successors, (10), 7 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 08:28:23,236 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:28:23,236 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 08:28:23,236 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:28:23,236 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 08:28:23,236 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-08 08:28:23,236 INFO L87 Difference]: Start difference. First operand 410 states and 545 transitions. Second operand has 11 states, 11 states have (on average 3.8181818181818183) internal successors, (42), 6 states have internal predecessors, (42), 4 states have call successors, (10), 7 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 08:28:28,969 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.20s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:28:30,975 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:28:32,990 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:28:35,014 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:28:42,042 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:28:42,042 INFO L93 Difference]: Finished difference Result 450 states and 594 transitions. [2022-04-08 08:28:42,042 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-08 08:28:42,042 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.8181818181818183) internal successors, (42), 6 states have internal predecessors, (42), 4 states have call successors, (10), 7 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 60 [2022-04-08 08:28:42,042 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:28:42,043 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.8181818181818183) internal successors, (42), 6 states have internal predecessors, (42), 4 states have call successors, (10), 7 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 08:28:42,046 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 542 transitions. [2022-04-08 08:28:42,046 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.8181818181818183) internal successors, (42), 6 states have internal predecessors, (42), 4 states have call successors, (10), 7 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 08:28:42,049 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 542 transitions. [2022-04-08 08:28:42,049 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 542 transitions. [2022-04-08 08:28:42,705 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 542 edges. 542 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:28:42,716 INFO L225 Difference]: With dead ends: 450 [2022-04-08 08:28:42,716 INFO L226 Difference]: Without dead ends: 442 [2022-04-08 08:28:42,717 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 16 SyntacticMatches, 0 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 93 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=166, Invalid=434, Unknown=0, NotChecked=0, Total=600 [2022-04-08 08:28:42,717 INFO L913 BasicCegarLoop]: 333 mSDtfsCounter, 1628 mSDsluCounter, 202 mSDsCounter, 0 mSdLazyCounter, 743 mSolverCounterSat, 568 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 10.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1637 SdHoareTripleChecker+Valid, 535 SdHoareTripleChecker+Invalid, 1314 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 568 IncrementalHoareTripleChecker+Valid, 743 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 10.2s IncrementalHoareTripleChecker+Time [2022-04-08 08:28:42,717 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [1637 Valid, 535 Invalid, 1314 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [568 Valid, 743 Invalid, 3 Unknown, 0 Unchecked, 10.2s Time] [2022-04-08 08:28:42,718 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 442 states. [2022-04-08 08:28:42,917 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 442 to 415. [2022-04-08 08:28:42,917 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:28:42,918 INFO L82 GeneralOperation]: Start isEquivalent. First operand 442 states. Second operand has 415 states, 330 states have (on average 1.3696969696969696) internal successors, (452), 332 states have internal predecessors, (452), 44 states have call successors, (44), 33 states have call predecessors, (44), 40 states have return successors, (55), 50 states have call predecessors, (55), 37 states have call successors, (55) [2022-04-08 08:28:42,919 INFO L74 IsIncluded]: Start isIncluded. First operand 442 states. Second operand has 415 states, 330 states have (on average 1.3696969696969696) internal successors, (452), 332 states have internal predecessors, (452), 44 states have call successors, (44), 33 states have call predecessors, (44), 40 states have return successors, (55), 50 states have call predecessors, (55), 37 states have call successors, (55) [2022-04-08 08:28:42,920 INFO L87 Difference]: Start difference. First operand 442 states. Second operand has 415 states, 330 states have (on average 1.3696969696969696) internal successors, (452), 332 states have internal predecessors, (452), 44 states have call successors, (44), 33 states have call predecessors, (44), 40 states have return successors, (55), 50 states have call predecessors, (55), 37 states have call successors, (55) [2022-04-08 08:28:42,928 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:28:42,929 INFO L93 Difference]: Finished difference Result 442 states and 585 transitions. [2022-04-08 08:28:42,929 INFO L276 IsEmpty]: Start isEmpty. Operand 442 states and 585 transitions. [2022-04-08 08:28:42,929 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:28:42,929 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:28:42,930 INFO L74 IsIncluded]: Start isIncluded. First operand has 415 states, 330 states have (on average 1.3696969696969696) internal successors, (452), 332 states have internal predecessors, (452), 44 states have call successors, (44), 33 states have call predecessors, (44), 40 states have return successors, (55), 50 states have call predecessors, (55), 37 states have call successors, (55) Second operand 442 states. [2022-04-08 08:28:42,931 INFO L87 Difference]: Start difference. First operand has 415 states, 330 states have (on average 1.3696969696969696) internal successors, (452), 332 states have internal predecessors, (452), 44 states have call successors, (44), 33 states have call predecessors, (44), 40 states have return successors, (55), 50 states have call predecessors, (55), 37 states have call successors, (55) Second operand 442 states. [2022-04-08 08:28:42,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:28:42,940 INFO L93 Difference]: Finished difference Result 442 states and 585 transitions. [2022-04-08 08:28:42,940 INFO L276 IsEmpty]: Start isEmpty. Operand 442 states and 585 transitions. [2022-04-08 08:28:42,941 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:28:42,941 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:28:42,941 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:28:42,941 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:28:42,942 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 415 states, 330 states have (on average 1.3696969696969696) internal successors, (452), 332 states have internal predecessors, (452), 44 states have call successors, (44), 33 states have call predecessors, (44), 40 states have return successors, (55), 50 states have call predecessors, (55), 37 states have call successors, (55) [2022-04-08 08:28:42,952 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 415 states to 415 states and 551 transitions. [2022-04-08 08:28:42,952 INFO L78 Accepts]: Start accepts. Automaton has 415 states and 551 transitions. Word has length 60 [2022-04-08 08:28:42,952 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:28:42,953 INFO L478 AbstractCegarLoop]: Abstraction has 415 states and 551 transitions. [2022-04-08 08:28:42,953 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 3.8181818181818183) internal successors, (42), 6 states have internal predecessors, (42), 4 states have call successors, (10), 7 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 08:28:42,953 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 415 states and 551 transitions. [2022-04-08 08:28:43,731 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 551 edges. 551 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:28:43,731 INFO L276 IsEmpty]: Start isEmpty. Operand 415 states and 551 transitions. [2022-04-08 08:28:43,732 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2022-04-08 08:28:43,732 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:28:43,732 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:28:43,732 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-04-08 08:28:43,732 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:28:43,732 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:28:43,732 INFO L85 PathProgramCache]: Analyzing trace with hash 400358010, now seen corresponding path program 1 times [2022-04-08 08:28:43,732 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:28:43,732 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1353206240] [2022-04-08 08:28:43,734 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 08:28:43,734 INFO L85 PathProgramCache]: Analyzing trace with hash 400358010, now seen corresponding path program 2 times [2022-04-08 08:28:43,734 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:28:43,734 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [912368534] [2022-04-08 08:28:43,735 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:28:43,735 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:28:43,806 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:43,872 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:28:43,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:43,881 INFO L290 TraceCheckUtils]: 0: Hoare triple {15834#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {15802#true} is VALID [2022-04-08 08:28:43,881 INFO L290 TraceCheckUtils]: 1: Hoare triple {15802#true} assume true; {15802#true} is VALID [2022-04-08 08:28:43,881 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {15802#true} {15802#true} #1270#return; {15802#true} is VALID [2022-04-08 08:28:43,900 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:28:43,903 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:43,909 INFO L290 TraceCheckUtils]: 0: Hoare triple {15835#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {15802#true} is VALID [2022-04-08 08:28:43,909 INFO L290 TraceCheckUtils]: 1: Hoare triple {15802#true} assume true; {15802#true} is VALID [2022-04-08 08:28:43,909 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {15802#true} {15802#true} #1216#return; {15802#true} is VALID [2022-04-08 08:28:43,915 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:28:43,922 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:43,930 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:28:43,931 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:43,939 INFO L290 TraceCheckUtils]: 0: Hoare triple {15802#true} ~cond := #in~cond; {15802#true} is VALID [2022-04-08 08:28:43,940 INFO L290 TraceCheckUtils]: 1: Hoare triple {15802#true} assume !(0 == ~cond); {15802#true} is VALID [2022-04-08 08:28:43,940 INFO L290 TraceCheckUtils]: 2: Hoare triple {15802#true} assume true; {15802#true} is VALID [2022-04-08 08:28:43,940 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15802#true} {15802#true} #1254#return; {15802#true} is VALID [2022-04-08 08:28:43,940 INFO L290 TraceCheckUtils]: 0: Hoare triple {15836#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {15802#true} is VALID [2022-04-08 08:28:43,942 INFO L272 TraceCheckUtils]: 1: Hoare triple {15802#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {15802#true} is VALID [2022-04-08 08:28:43,942 INFO L290 TraceCheckUtils]: 2: Hoare triple {15802#true} ~cond := #in~cond; {15802#true} is VALID [2022-04-08 08:28:43,943 INFO L290 TraceCheckUtils]: 3: Hoare triple {15802#true} assume !(0 == ~cond); {15802#true} is VALID [2022-04-08 08:28:43,943 INFO L290 TraceCheckUtils]: 4: Hoare triple {15802#true} assume true; {15802#true} is VALID [2022-04-08 08:28:43,943 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {15802#true} {15802#true} #1254#return; {15802#true} is VALID [2022-04-08 08:28:43,943 INFO L290 TraceCheckUtils]: 6: Hoare triple {15802#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {15802#true} is VALID [2022-04-08 08:28:43,943 INFO L290 TraceCheckUtils]: 7: Hoare triple {15802#true} assume true; {15802#true} is VALID [2022-04-08 08:28:43,943 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {15802#true} {15802#true} #1218#return; {15802#true} is VALID [2022-04-08 08:28:43,951 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:28:43,954 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:43,960 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:28:43,962 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:43,968 INFO L290 TraceCheckUtils]: 0: Hoare triple {15841#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {15802#true} is VALID [2022-04-08 08:28:43,968 INFO L290 TraceCheckUtils]: 1: Hoare triple {15802#true} assume !(0 == ~__BLAST_NONDET~5); {15802#true} is VALID [2022-04-08 08:28:43,968 INFO L290 TraceCheckUtils]: 2: Hoare triple {15802#true} #res := -1073741823; {15802#true} is VALID [2022-04-08 08:28:43,968 INFO L290 TraceCheckUtils]: 3: Hoare triple {15802#true} assume true; {15802#true} is VALID [2022-04-08 08:28:43,968 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {15802#true} {15802#true} #1176#return; {15802#true} is VALID [2022-04-08 08:28:43,968 INFO L290 TraceCheckUtils]: 0: Hoare triple {15841#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {15802#true} is VALID [2022-04-08 08:28:43,969 INFO L272 TraceCheckUtils]: 1: Hoare triple {15802#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {15841#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:28:43,969 INFO L290 TraceCheckUtils]: 2: Hoare triple {15841#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {15802#true} is VALID [2022-04-08 08:28:43,970 INFO L290 TraceCheckUtils]: 3: Hoare triple {15802#true} assume !(0 == ~__BLAST_NONDET~5); {15802#true} is VALID [2022-04-08 08:28:43,970 INFO L290 TraceCheckUtils]: 4: Hoare triple {15802#true} #res := -1073741823; {15802#true} is VALID [2022-04-08 08:28:43,970 INFO L290 TraceCheckUtils]: 5: Hoare triple {15802#true} assume true; {15802#true} is VALID [2022-04-08 08:28:43,970 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {15802#true} {15802#true} #1176#return; {15802#true} is VALID [2022-04-08 08:28:43,970 INFO L290 TraceCheckUtils]: 7: Hoare triple {15802#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {15802#true} is VALID [2022-04-08 08:28:43,970 INFO L290 TraceCheckUtils]: 8: Hoare triple {15802#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {15802#true} is VALID [2022-04-08 08:28:43,970 INFO L290 TraceCheckUtils]: 9: Hoare triple {15802#true} assume true; {15802#true} is VALID [2022-04-08 08:28:43,970 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15802#true} {15802#true} #1220#return; {15802#true} is VALID [2022-04-08 08:28:43,981 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 08:28:43,983 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:43,988 INFO L290 TraceCheckUtils]: 0: Hoare triple {15847#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {15802#true} is VALID [2022-04-08 08:28:43,988 INFO L290 TraceCheckUtils]: 1: Hoare triple {15802#true} assume true; {15802#true} is VALID [2022-04-08 08:28:43,988 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {15802#true} {15802#true} #1222#return; {15802#true} is VALID [2022-04-08 08:28:43,990 INFO L272 TraceCheckUtils]: 0: Hoare triple {15802#true} call ULTIMATE.init(); {15834#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:28:43,990 INFO L290 TraceCheckUtils]: 1: Hoare triple {15834#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {15802#true} is VALID [2022-04-08 08:28:43,990 INFO L290 TraceCheckUtils]: 2: Hoare triple {15802#true} assume true; {15802#true} is VALID [2022-04-08 08:28:43,990 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15802#true} {15802#true} #1270#return; {15802#true} is VALID [2022-04-08 08:28:43,990 INFO L272 TraceCheckUtils]: 4: Hoare triple {15802#true} call #t~ret213 := main(); {15802#true} is VALID [2022-04-08 08:28:43,990 INFO L290 TraceCheckUtils]: 5: Hoare triple {15802#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {15802#true} is VALID [2022-04-08 08:28:43,991 INFO L272 TraceCheckUtils]: 6: Hoare triple {15802#true} call _BLAST_init(); {15835#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:28:43,991 INFO L290 TraceCheckUtils]: 7: Hoare triple {15835#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {15802#true} is VALID [2022-04-08 08:28:43,991 INFO L290 TraceCheckUtils]: 8: Hoare triple {15802#true} assume true; {15802#true} is VALID [2022-04-08 08:28:43,991 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {15802#true} {15802#true} #1216#return; {15802#true} is VALID [2022-04-08 08:28:43,991 INFO L272 TraceCheckUtils]: 10: Hoare triple {15802#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {15836#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:28:43,991 INFO L290 TraceCheckUtils]: 11: Hoare triple {15836#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {15802#true} is VALID [2022-04-08 08:28:43,992 INFO L272 TraceCheckUtils]: 12: Hoare triple {15802#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {15802#true} is VALID [2022-04-08 08:28:43,992 INFO L290 TraceCheckUtils]: 13: Hoare triple {15802#true} ~cond := #in~cond; {15802#true} is VALID [2022-04-08 08:28:43,992 INFO L290 TraceCheckUtils]: 14: Hoare triple {15802#true} assume !(0 == ~cond); {15802#true} is VALID [2022-04-08 08:28:43,992 INFO L290 TraceCheckUtils]: 15: Hoare triple {15802#true} assume true; {15802#true} is VALID [2022-04-08 08:28:43,992 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15802#true} {15802#true} #1254#return; {15802#true} is VALID [2022-04-08 08:28:43,992 INFO L290 TraceCheckUtils]: 17: Hoare triple {15802#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {15802#true} is VALID [2022-04-08 08:28:43,992 INFO L290 TraceCheckUtils]: 18: Hoare triple {15802#true} assume true; {15802#true} is VALID [2022-04-08 08:28:43,992 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {15802#true} {15802#true} #1218#return; {15802#true} is VALID [2022-04-08 08:28:43,992 INFO L290 TraceCheckUtils]: 20: Hoare triple {15802#true} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {15802#true} is VALID [2022-04-08 08:28:43,992 INFO L290 TraceCheckUtils]: 21: Hoare triple {15802#true} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {15802#true} is VALID [2022-04-08 08:28:43,992 INFO L290 TraceCheckUtils]: 22: Hoare triple {15802#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {15802#true} is VALID [2022-04-08 08:28:44,024 INFO L272 TraceCheckUtils]: 23: Hoare triple {15802#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {15841#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:28:44,025 INFO L290 TraceCheckUtils]: 24: Hoare triple {15841#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {15802#true} is VALID [2022-04-08 08:28:44,025 INFO L272 TraceCheckUtils]: 25: Hoare triple {15802#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {15841#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:28:44,026 INFO L290 TraceCheckUtils]: 26: Hoare triple {15841#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {15802#true} is VALID [2022-04-08 08:28:44,026 INFO L290 TraceCheckUtils]: 27: Hoare triple {15802#true} assume !(0 == ~__BLAST_NONDET~5); {15802#true} is VALID [2022-04-08 08:28:44,026 INFO L290 TraceCheckUtils]: 28: Hoare triple {15802#true} #res := -1073741823; {15802#true} is VALID [2022-04-08 08:28:44,026 INFO L290 TraceCheckUtils]: 29: Hoare triple {15802#true} assume true; {15802#true} is VALID [2022-04-08 08:28:44,026 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {15802#true} {15802#true} #1176#return; {15802#true} is VALID [2022-04-08 08:28:44,026 INFO L290 TraceCheckUtils]: 31: Hoare triple {15802#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {15802#true} is VALID [2022-04-08 08:28:44,026 INFO L290 TraceCheckUtils]: 32: Hoare triple {15802#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {15802#true} is VALID [2022-04-08 08:28:44,026 INFO L290 TraceCheckUtils]: 33: Hoare triple {15802#true} assume true; {15802#true} is VALID [2022-04-08 08:28:44,026 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {15802#true} {15802#true} #1220#return; {15802#true} is VALID [2022-04-08 08:28:44,026 INFO L290 TraceCheckUtils]: 35: Hoare triple {15802#true} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {15802#true} is VALID [2022-04-08 08:28:44,027 INFO L272 TraceCheckUtils]: 36: Hoare triple {15802#true} call stub_driver_init(); {15847#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:28:44,027 INFO L290 TraceCheckUtils]: 37: Hoare triple {15847#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {15802#true} is VALID [2022-04-08 08:28:44,027 INFO L290 TraceCheckUtils]: 38: Hoare triple {15802#true} assume true; {15802#true} is VALID [2022-04-08 08:28:44,027 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {15802#true} {15802#true} #1222#return; {15802#true} is VALID [2022-04-08 08:28:44,027 INFO L290 TraceCheckUtils]: 40: Hoare triple {15802#true} assume !!(~status~5 >= 0); {15802#true} is VALID [2022-04-08 08:28:44,027 INFO L290 TraceCheckUtils]: 41: Hoare triple {15802#true} assume 0 == ~__BLAST_NONDET~0; {15802#true} is VALID [2022-04-08 08:28:44,027 INFO L272 TraceCheckUtils]: 42: Hoare triple {15802#true} call #t~ret171 := KbFilter_CreateClose(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {15802#true} is VALID [2022-04-08 08:28:44,027 INFO L290 TraceCheckUtils]: 43: Hoare triple {15802#true} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~irpStack~0.base, ~irpStack~0.offset;havoc ~status~1;havoc ~devExt~1.base, ~devExt~1.offset;havoc ~tmp~0;havoc ~tmp___0~0;havoc ~tmp___1~0;call #t~mem36.base, #t~mem36.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~0.base, ~irpStack~0.offset := #t~mem36.base, #t~mem36.offset;havoc #t~mem36.base, #t~mem36.offset;call #t~mem37.base, #t~mem37.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~1.base, ~devExt~1.offset := #t~mem37.base, #t~mem37.offset;havoc #t~mem37.base, #t~mem37.offset;call #t~mem38 := read~int(~Irp.base, 24 + ~Irp.offset, 4);~status~1 := #t~mem38;havoc #t~mem38;~status~1 := ~myStatus~0;call #t~mem39 := read~int(~irpStack~0.base, ~irpStack~0.offset, 1); {15802#true} is VALID [2022-04-08 08:28:44,027 INFO L290 TraceCheckUtils]: 44: Hoare triple {15802#true} assume 0 == #t~mem39 % 256;havoc #t~mem39; {15802#true} is VALID [2022-04-08 08:28:44,027 INFO L290 TraceCheckUtils]: 45: Hoare triple {15802#true} call #t~mem41.base, #t~mem41.offset := read~$Pointer$(~devExt~1.base, 20 + ~devExt~1.offset, 4); {15802#true} is VALID [2022-04-08 08:28:44,027 INFO L290 TraceCheckUtils]: 46: Hoare triple {15802#true} assume 0 == (#t~mem41.base + #t~mem41.offset) % 4294967296;havoc #t~mem41.base, #t~mem41.offset;~status~1 := -1073741436; {15802#true} is VALID [2022-04-08 08:28:44,027 INFO L290 TraceCheckUtils]: 47: Hoare triple {15802#true} call write~int(~status~1, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~1; {15802#true} is VALID [2022-04-08 08:28:44,027 INFO L272 TraceCheckUtils]: 48: Hoare triple {15802#true} call #t~ret44 := KbFilter_DispatchPassThrough(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset); {15802#true} is VALID [2022-04-08 08:28:44,027 INFO L290 TraceCheckUtils]: 49: Hoare triple {15802#true} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~irpStack~1.base, ~irpStack~1.offset;havoc ~tmp~1;call #t~mem45.base, #t~mem45.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~1.base, ~irpStack~1.offset := #t~mem45.base, #t~mem45.offset;havoc #t~mem45.base, #t~mem45.offset; {15802#true} is VALID [2022-04-08 08:28:44,028 INFO L290 TraceCheckUtils]: 50: Hoare triple {15802#true} assume ~s~0 == ~NP~0;~s~0 := ~SKIP1~0; {15833#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-08 08:28:44,028 INFO L290 TraceCheckUtils]: 51: Hoare triple {15833#(= ~SKIP1~0 ~s~0)} call #t~mem46 := read~int(~Irp.base, 35 + ~Irp.offset, 1);call write~int((if (1 + #t~mem46) % 256 <= 127 then (1 + #t~mem46) % 256 else (1 + #t~mem46) % 256 - 256), ~Irp.base, 35 + ~Irp.offset, 1);havoc #t~mem46;call #t~mem47.base, #t~mem47.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);call write~$Pointer$(#t~mem47.base, 36 + #t~mem47.offset, ~Irp.base, 96 + ~Irp.offset, 4);havoc #t~mem47.base, #t~mem47.offset;call #t~mem48.base, #t~mem48.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);call #t~mem49.base, #t~mem49.offset := read~$Pointer$(#t~mem48.base, 8 + #t~mem48.offset, 4); {15833#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-08 08:28:44,029 INFO L272 TraceCheckUtils]: 52: Hoare triple {15833#(= ~SKIP1~0 ~s~0)} call #t~ret50 := IofCallDriver(#t~mem49.base, #t~mem49.offset, ~Irp.base, ~Irp.offset); {15833#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-08 08:28:44,029 INFO L290 TraceCheckUtils]: 53: Hoare triple {15833#(= ~SKIP1~0 ~s~0)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {15833#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-08 08:28:44,029 INFO L290 TraceCheckUtils]: 54: Hoare triple {15833#(= ~SKIP1~0 ~s~0)} assume !(0 != ~compRegistered~0); {15833#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-08 08:28:44,030 INFO L290 TraceCheckUtils]: 55: Hoare triple {15833#(= ~SKIP1~0 ~s~0)} assume 0 == ~__BLAST_NONDET~11; {15833#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-08 08:28:44,030 INFO L290 TraceCheckUtils]: 56: Hoare triple {15833#(= ~SKIP1~0 ~s~0)} ~returnVal2~0 := 0; {15833#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-08 08:28:44,030 INFO L290 TraceCheckUtils]: 57: Hoare triple {15833#(= ~SKIP1~0 ~s~0)} assume !(~s~0 == ~NP~0); {15833#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-08 08:28:44,030 INFO L290 TraceCheckUtils]: 58: Hoare triple {15833#(= ~SKIP1~0 ~s~0)} assume !(~s~0 == ~MPR1~0); {15833#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-08 08:28:44,031 INFO L290 TraceCheckUtils]: 59: Hoare triple {15833#(= ~SKIP1~0 ~s~0)} assume !(~s~0 == ~SKIP1~0); {15803#false} is VALID [2022-04-08 08:28:44,031 INFO L272 TraceCheckUtils]: 60: Hoare triple {15803#false} call errorFn(); {15803#false} is VALID [2022-04-08 08:28:44,031 INFO L290 TraceCheckUtils]: 61: Hoare triple {15803#false} assume !false; {15803#false} is VALID [2022-04-08 08:28:44,031 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 08:28:44,031 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:28:44,031 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [912368534] [2022-04-08 08:28:44,031 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [912368534] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:28:44,031 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:28:44,031 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 08:28:44,032 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:28:44,032 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1353206240] [2022-04-08 08:28:44,032 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1353206240] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:28:44,032 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:28:44,032 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 08:28:44,032 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1310664217] [2022-04-08 08:28:44,032 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:28:44,032 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.375) internal successors, (43), 3 states have internal predecessors, (43), 3 states have call successors, (12), 8 states have call predecessors, (12), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) Word has length 62 [2022-04-08 08:28:44,032 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:28:44,032 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 5.375) internal successors, (43), 3 states have internal predecessors, (43), 3 states have call successors, (12), 8 states have call predecessors, (12), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-08 08:28:44,076 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:28:44,076 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 08:28:44,076 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:28:44,077 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 08:28:44,077 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-08 08:28:44,077 INFO L87 Difference]: Start difference. First operand 415 states and 551 transitions. Second operand has 8 states, 8 states have (on average 5.375) internal successors, (43), 3 states have internal predecessors, (43), 3 states have call successors, (12), 8 states have call predecessors, (12), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-08 08:28:46,235 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:28:51,272 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:28:51,273 INFO L93 Difference]: Finished difference Result 433 states and 574 transitions. [2022-04-08 08:28:51,273 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 08:28:51,273 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.375) internal successors, (43), 3 states have internal predecessors, (43), 3 states have call successors, (12), 8 states have call predecessors, (12), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) Word has length 62 [2022-04-08 08:28:51,273 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:28:51,273 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.375) internal successors, (43), 3 states have internal predecessors, (43), 3 states have call successors, (12), 8 states have call predecessors, (12), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-08 08:28:51,276 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 440 transitions. [2022-04-08 08:28:51,276 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.375) internal successors, (43), 3 states have internal predecessors, (43), 3 states have call successors, (12), 8 states have call predecessors, (12), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-08 08:28:51,278 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 440 transitions. [2022-04-08 08:28:51,278 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 440 transitions. [2022-04-08 08:28:51,805 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 440 edges. 440 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:28:51,815 INFO L225 Difference]: With dead ends: 433 [2022-04-08 08:28:51,815 INFO L226 Difference]: Without dead ends: 429 [2022-04-08 08:28:51,815 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 16 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=53, Invalid=103, Unknown=0, NotChecked=0, Total=156 [2022-04-08 08:28:51,816 INFO L913 BasicCegarLoop]: 297 mSDtfsCounter, 520 mSDsluCounter, 209 mSDsCounter, 0 mSdLazyCounter, 943 mSolverCounterSat, 193 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 524 SdHoareTripleChecker+Valid, 506 SdHoareTripleChecker+Invalid, 1137 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 193 IncrementalHoareTripleChecker+Valid, 943 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.8s IncrementalHoareTripleChecker+Time [2022-04-08 08:28:51,816 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [524 Valid, 506 Invalid, 1137 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [193 Valid, 943 Invalid, 1 Unknown, 0 Unchecked, 3.8s Time] [2022-04-08 08:28:51,816 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 429 states. [2022-04-08 08:28:52,096 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 429 to 414. [2022-04-08 08:28:52,096 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:28:52,098 INFO L82 GeneralOperation]: Start isEquivalent. First operand 429 states. Second operand has 414 states, 330 states have (on average 1.3636363636363635) internal successors, (450), 331 states have internal predecessors, (450), 43 states have call successors, (43), 33 states have call predecessors, (43), 40 states have return successors, (55), 50 states have call predecessors, (55), 37 states have call successors, (55) [2022-04-08 08:28:52,098 INFO L74 IsIncluded]: Start isIncluded. First operand 429 states. Second operand has 414 states, 330 states have (on average 1.3636363636363635) internal successors, (450), 331 states have internal predecessors, (450), 43 states have call successors, (43), 33 states have call predecessors, (43), 40 states have return successors, (55), 50 states have call predecessors, (55), 37 states have call successors, (55) [2022-04-08 08:28:52,099 INFO L87 Difference]: Start difference. First operand 429 states. Second operand has 414 states, 330 states have (on average 1.3636363636363635) internal successors, (450), 331 states have internal predecessors, (450), 43 states have call successors, (43), 33 states have call predecessors, (43), 40 states have return successors, (55), 50 states have call predecessors, (55), 37 states have call successors, (55) [2022-04-08 08:28:52,107 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:28:52,107 INFO L93 Difference]: Finished difference Result 429 states and 569 transitions. [2022-04-08 08:28:52,107 INFO L276 IsEmpty]: Start isEmpty. Operand 429 states and 569 transitions. [2022-04-08 08:28:52,108 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:28:52,108 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:28:52,109 INFO L74 IsIncluded]: Start isIncluded. First operand has 414 states, 330 states have (on average 1.3636363636363635) internal successors, (450), 331 states have internal predecessors, (450), 43 states have call successors, (43), 33 states have call predecessors, (43), 40 states have return successors, (55), 50 states have call predecessors, (55), 37 states have call successors, (55) Second operand 429 states. [2022-04-08 08:28:52,110 INFO L87 Difference]: Start difference. First operand has 414 states, 330 states have (on average 1.3636363636363635) internal successors, (450), 331 states have internal predecessors, (450), 43 states have call successors, (43), 33 states have call predecessors, (43), 40 states have return successors, (55), 50 states have call predecessors, (55), 37 states have call successors, (55) Second operand 429 states. [2022-04-08 08:28:52,118 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:28:52,118 INFO L93 Difference]: Finished difference Result 429 states and 569 transitions. [2022-04-08 08:28:52,118 INFO L276 IsEmpty]: Start isEmpty. Operand 429 states and 569 transitions. [2022-04-08 08:28:52,119 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:28:52,119 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:28:52,119 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:28:52,119 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:28:52,120 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 414 states, 330 states have (on average 1.3636363636363635) internal successors, (450), 331 states have internal predecessors, (450), 43 states have call successors, (43), 33 states have call predecessors, (43), 40 states have return successors, (55), 50 states have call predecessors, (55), 37 states have call successors, (55) [2022-04-08 08:28:52,133 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 414 states to 414 states and 548 transitions. [2022-04-08 08:28:52,133 INFO L78 Accepts]: Start accepts. Automaton has 414 states and 548 transitions. Word has length 62 [2022-04-08 08:28:52,133 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:28:52,133 INFO L478 AbstractCegarLoop]: Abstraction has 414 states and 548 transitions. [2022-04-08 08:28:52,134 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 5.375) internal successors, (43), 3 states have internal predecessors, (43), 3 states have call successors, (12), 8 states have call predecessors, (12), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-08 08:28:52,134 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 414 states and 548 transitions. [2022-04-08 08:28:52,863 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 548 edges. 548 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:28:52,864 INFO L276 IsEmpty]: Start isEmpty. Operand 414 states and 548 transitions. [2022-04-08 08:28:52,864 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-08 08:28:52,864 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:28:52,864 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:28:52,865 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2022-04-08 08:28:52,865 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:28:52,865 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:28:52,865 INFO L85 PathProgramCache]: Analyzing trace with hash 466089939, now seen corresponding path program 1 times [2022-04-08 08:28:52,865 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:28:52,865 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [632177034] [2022-04-08 08:28:52,865 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 08:28:52,865 INFO L85 PathProgramCache]: Analyzing trace with hash 466089939, now seen corresponding path program 2 times [2022-04-08 08:28:52,865 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:28:52,865 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1041220900] [2022-04-08 08:28:52,866 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:28:52,866 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:28:52,930 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:53,047 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:28:53,050 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:53,056 INFO L290 TraceCheckUtils]: 0: Hoare triple {18453#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {18416#true} is VALID [2022-04-08 08:28:53,056 INFO L290 TraceCheckUtils]: 1: Hoare triple {18416#true} assume true; {18416#true} is VALID [2022-04-08 08:28:53,056 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {18416#true} {18416#true} #1270#return; {18416#true} is VALID [2022-04-08 08:28:53,081 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:28:53,084 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:53,100 INFO L290 TraceCheckUtils]: 0: Hoare triple {18454#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {18455#(and (<= 7 ~IPC~0) (= (+ (- 1) ~NP~0) 0))} is VALID [2022-04-08 08:28:53,101 INFO L290 TraceCheckUtils]: 1: Hoare triple {18455#(and (<= 7 ~IPC~0) (= (+ (- 1) ~NP~0) 0))} assume true; {18455#(and (<= 7 ~IPC~0) (= (+ (- 1) ~NP~0) 0))} is VALID [2022-04-08 08:28:53,101 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {18455#(and (<= 7 ~IPC~0) (= (+ (- 1) ~NP~0) 0))} {18416#true} #1216#return; {18424#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} is VALID [2022-04-08 08:28:53,109 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:28:53,120 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:53,129 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:28:53,130 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:53,136 INFO L290 TraceCheckUtils]: 0: Hoare triple {18416#true} ~cond := #in~cond; {18416#true} is VALID [2022-04-08 08:28:53,136 INFO L290 TraceCheckUtils]: 1: Hoare triple {18416#true} assume !(0 == ~cond); {18416#true} is VALID [2022-04-08 08:28:53,136 INFO L290 TraceCheckUtils]: 2: Hoare triple {18416#true} assume true; {18416#true} is VALID [2022-04-08 08:28:53,136 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18416#true} {18416#true} #1254#return; {18416#true} is VALID [2022-04-08 08:28:53,136 INFO L290 TraceCheckUtils]: 0: Hoare triple {18456#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {18416#true} is VALID [2022-04-08 08:28:53,136 INFO L272 TraceCheckUtils]: 1: Hoare triple {18416#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {18416#true} is VALID [2022-04-08 08:28:53,136 INFO L290 TraceCheckUtils]: 2: Hoare triple {18416#true} ~cond := #in~cond; {18416#true} is VALID [2022-04-08 08:28:53,136 INFO L290 TraceCheckUtils]: 3: Hoare triple {18416#true} assume !(0 == ~cond); {18416#true} is VALID [2022-04-08 08:28:53,136 INFO L290 TraceCheckUtils]: 4: Hoare triple {18416#true} assume true; {18416#true} is VALID [2022-04-08 08:28:53,136 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {18416#true} {18416#true} #1254#return; {18416#true} is VALID [2022-04-08 08:28:53,136 INFO L290 TraceCheckUtils]: 6: Hoare triple {18416#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {18416#true} is VALID [2022-04-08 08:28:53,136 INFO L290 TraceCheckUtils]: 7: Hoare triple {18416#true} assume true; {18416#true} is VALID [2022-04-08 08:28:53,137 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {18416#true} {18424#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} #1218#return; {18424#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} is VALID [2022-04-08 08:28:53,148 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:28:53,153 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:53,160 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:28:53,161 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:53,167 INFO L290 TraceCheckUtils]: 0: Hoare triple {18461#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {18416#true} is VALID [2022-04-08 08:28:53,168 INFO L290 TraceCheckUtils]: 1: Hoare triple {18416#true} assume !(0 == ~__BLAST_NONDET~5); {18416#true} is VALID [2022-04-08 08:28:53,168 INFO L290 TraceCheckUtils]: 2: Hoare triple {18416#true} #res := -1073741823; {18416#true} is VALID [2022-04-08 08:28:53,168 INFO L290 TraceCheckUtils]: 3: Hoare triple {18416#true} assume true; {18416#true} is VALID [2022-04-08 08:28:53,168 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {18416#true} {18416#true} #1176#return; {18416#true} is VALID [2022-04-08 08:28:53,168 INFO L290 TraceCheckUtils]: 0: Hoare triple {18461#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {18416#true} is VALID [2022-04-08 08:28:53,169 INFO L272 TraceCheckUtils]: 1: Hoare triple {18416#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {18461#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:28:53,169 INFO L290 TraceCheckUtils]: 2: Hoare triple {18461#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {18416#true} is VALID [2022-04-08 08:28:53,169 INFO L290 TraceCheckUtils]: 3: Hoare triple {18416#true} assume !(0 == ~__BLAST_NONDET~5); {18416#true} is VALID [2022-04-08 08:28:53,169 INFO L290 TraceCheckUtils]: 4: Hoare triple {18416#true} #res := -1073741823; {18416#true} is VALID [2022-04-08 08:28:53,169 INFO L290 TraceCheckUtils]: 5: Hoare triple {18416#true} assume true; {18416#true} is VALID [2022-04-08 08:28:53,169 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {18416#true} {18416#true} #1176#return; {18416#true} is VALID [2022-04-08 08:28:53,169 INFO L290 TraceCheckUtils]: 7: Hoare triple {18416#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {18416#true} is VALID [2022-04-08 08:28:53,169 INFO L290 TraceCheckUtils]: 8: Hoare triple {18416#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {18416#true} is VALID [2022-04-08 08:28:53,169 INFO L290 TraceCheckUtils]: 9: Hoare triple {18416#true} assume true; {18416#true} is VALID [2022-04-08 08:28:53,170 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18416#true} {18424#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} #1220#return; {18424#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} is VALID [2022-04-08 08:28:53,185 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 08:28:53,187 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:53,225 INFO L290 TraceCheckUtils]: 0: Hoare triple {18467#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {18468#(and (or (not (<= ~s~0 0)) (<= ~NP~0 ~s~0)) (or (<= ~s~0 ~NP~0) (<= ~s~0 1)))} is VALID [2022-04-08 08:28:53,226 INFO L290 TraceCheckUtils]: 1: Hoare triple {18468#(and (or (not (<= ~s~0 0)) (<= ~NP~0 ~s~0)) (or (<= ~s~0 ~NP~0) (<= ~s~0 1)))} assume true; {18468#(and (or (not (<= ~s~0 0)) (<= ~NP~0 ~s~0)) (or (<= ~s~0 ~NP~0) (<= ~s~0 1)))} is VALID [2022-04-08 08:28:53,226 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {18468#(and (or (not (<= ~s~0 0)) (<= ~NP~0 ~s~0)) (or (<= ~s~0 ~NP~0) (<= ~s~0 1)))} {18424#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} #1222#return; {18448#(and (= ~s~0 1) (not (= ~IPC~0 1)))} is VALID [2022-04-08 08:28:53,226 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 44 [2022-04-08 08:28:53,229 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:28:53,234 INFO L290 TraceCheckUtils]: 0: Hoare triple {18416#true} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647; {18416#true} is VALID [2022-04-08 08:28:53,235 INFO L290 TraceCheckUtils]: 1: Hoare triple {18416#true} assume 0 != #t~nondet17;havoc #t~nondet17;#res := 0; {18416#true} is VALID [2022-04-08 08:28:53,235 INFO L290 TraceCheckUtils]: 2: Hoare triple {18416#true} assume true; {18416#true} is VALID [2022-04-08 08:28:53,235 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18416#true} {18448#(and (= ~s~0 1) (not (= ~IPC~0 1)))} #1228#return; {18448#(and (= ~s~0 1) (not (= ~IPC~0 1)))} is VALID [2022-04-08 08:28:53,237 INFO L272 TraceCheckUtils]: 0: Hoare triple {18416#true} call ULTIMATE.init(); {18453#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:28:53,237 INFO L290 TraceCheckUtils]: 1: Hoare triple {18453#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {18416#true} is VALID [2022-04-08 08:28:53,237 INFO L290 TraceCheckUtils]: 2: Hoare triple {18416#true} assume true; {18416#true} is VALID [2022-04-08 08:28:53,237 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18416#true} {18416#true} #1270#return; {18416#true} is VALID [2022-04-08 08:28:53,237 INFO L272 TraceCheckUtils]: 4: Hoare triple {18416#true} call #t~ret213 := main(); {18416#true} is VALID [2022-04-08 08:28:53,237 INFO L290 TraceCheckUtils]: 5: Hoare triple {18416#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {18416#true} is VALID [2022-04-08 08:28:53,238 INFO L272 TraceCheckUtils]: 6: Hoare triple {18416#true} call _BLAST_init(); {18454#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:28:53,238 INFO L290 TraceCheckUtils]: 7: Hoare triple {18454#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {18455#(and (<= 7 ~IPC~0) (= (+ (- 1) ~NP~0) 0))} is VALID [2022-04-08 08:28:53,239 INFO L290 TraceCheckUtils]: 8: Hoare triple {18455#(and (<= 7 ~IPC~0) (= (+ (- 1) ~NP~0) 0))} assume true; {18455#(and (<= 7 ~IPC~0) (= (+ (- 1) ~NP~0) 0))} is VALID [2022-04-08 08:28:53,239 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {18455#(and (<= 7 ~IPC~0) (= (+ (- 1) ~NP~0) 0))} {18416#true} #1216#return; {18424#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} is VALID [2022-04-08 08:28:53,240 INFO L272 TraceCheckUtils]: 10: Hoare triple {18424#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {18456#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:28:53,240 INFO L290 TraceCheckUtils]: 11: Hoare triple {18456#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {18416#true} is VALID [2022-04-08 08:28:53,240 INFO L272 TraceCheckUtils]: 12: Hoare triple {18416#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {18416#true} is VALID [2022-04-08 08:28:53,240 INFO L290 TraceCheckUtils]: 13: Hoare triple {18416#true} ~cond := #in~cond; {18416#true} is VALID [2022-04-08 08:28:53,240 INFO L290 TraceCheckUtils]: 14: Hoare triple {18416#true} assume !(0 == ~cond); {18416#true} is VALID [2022-04-08 08:28:53,240 INFO L290 TraceCheckUtils]: 15: Hoare triple {18416#true} assume true; {18416#true} is VALID [2022-04-08 08:28:53,240 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {18416#true} {18416#true} #1254#return; {18416#true} is VALID [2022-04-08 08:28:53,240 INFO L290 TraceCheckUtils]: 17: Hoare triple {18416#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {18416#true} is VALID [2022-04-08 08:28:53,240 INFO L290 TraceCheckUtils]: 18: Hoare triple {18416#true} assume true; {18416#true} is VALID [2022-04-08 08:28:53,241 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {18416#true} {18424#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} #1218#return; {18424#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} is VALID [2022-04-08 08:28:53,241 INFO L290 TraceCheckUtils]: 20: Hoare triple {18424#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {18424#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} is VALID [2022-04-08 08:28:53,244 INFO L290 TraceCheckUtils]: 21: Hoare triple {18424#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {18424#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} is VALID [2022-04-08 08:28:53,244 INFO L290 TraceCheckUtils]: 22: Hoare triple {18424#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {18424#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} is VALID [2022-04-08 08:28:53,245 INFO L272 TraceCheckUtils]: 23: Hoare triple {18424#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {18461#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:28:53,245 INFO L290 TraceCheckUtils]: 24: Hoare triple {18461#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {18416#true} is VALID [2022-04-08 08:28:53,247 INFO L272 TraceCheckUtils]: 25: Hoare triple {18416#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {18461#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:28:53,247 INFO L290 TraceCheckUtils]: 26: Hoare triple {18461#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {18416#true} is VALID [2022-04-08 08:28:53,247 INFO L290 TraceCheckUtils]: 27: Hoare triple {18416#true} assume !(0 == ~__BLAST_NONDET~5); {18416#true} is VALID [2022-04-08 08:28:53,247 INFO L290 TraceCheckUtils]: 28: Hoare triple {18416#true} #res := -1073741823; {18416#true} is VALID [2022-04-08 08:28:53,247 INFO L290 TraceCheckUtils]: 29: Hoare triple {18416#true} assume true; {18416#true} is VALID [2022-04-08 08:28:53,247 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {18416#true} {18416#true} #1176#return; {18416#true} is VALID [2022-04-08 08:28:53,247 INFO L290 TraceCheckUtils]: 31: Hoare triple {18416#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {18416#true} is VALID [2022-04-08 08:28:53,247 INFO L290 TraceCheckUtils]: 32: Hoare triple {18416#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {18416#true} is VALID [2022-04-08 08:28:53,247 INFO L290 TraceCheckUtils]: 33: Hoare triple {18416#true} assume true; {18416#true} is VALID [2022-04-08 08:28:53,248 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {18416#true} {18424#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} #1220#return; {18424#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} is VALID [2022-04-08 08:28:53,248 INFO L290 TraceCheckUtils]: 35: Hoare triple {18424#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {18424#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} is VALID [2022-04-08 08:28:53,249 INFO L272 TraceCheckUtils]: 36: Hoare triple {18424#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} call stub_driver_init(); {18467#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:28:53,249 INFO L290 TraceCheckUtils]: 37: Hoare triple {18467#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {18468#(and (or (not (<= ~s~0 0)) (<= ~NP~0 ~s~0)) (or (<= ~s~0 ~NP~0) (<= ~s~0 1)))} is VALID [2022-04-08 08:28:53,250 INFO L290 TraceCheckUtils]: 38: Hoare triple {18468#(and (or (not (<= ~s~0 0)) (<= ~NP~0 ~s~0)) (or (<= ~s~0 ~NP~0) (<= ~s~0 1)))} assume true; {18468#(and (or (not (<= ~s~0 0)) (<= ~NP~0 ~s~0)) (or (<= ~s~0 ~NP~0) (<= ~s~0 1)))} is VALID [2022-04-08 08:28:53,250 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {18468#(and (or (not (<= ~s~0 0)) (<= ~NP~0 ~s~0)) (or (<= ~s~0 ~NP~0) (<= ~s~0 1)))} {18424#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} #1222#return; {18448#(and (= ~s~0 1) (not (= ~IPC~0 1)))} is VALID [2022-04-08 08:28:53,250 INFO L290 TraceCheckUtils]: 40: Hoare triple {18448#(and (= ~s~0 1) (not (= ~IPC~0 1)))} assume !!(~status~5 >= 0); {18448#(and (= ~s~0 1) (not (= ~IPC~0 1)))} is VALID [2022-04-08 08:28:53,251 INFO L290 TraceCheckUtils]: 41: Hoare triple {18448#(and (= ~s~0 1) (not (= ~IPC~0 1)))} assume !(0 == ~__BLAST_NONDET~0); {18448#(and (= ~s~0 1) (not (= ~IPC~0 1)))} is VALID [2022-04-08 08:28:53,252 INFO L290 TraceCheckUtils]: 42: Hoare triple {18448#(and (= ~s~0 1) (not (= ~IPC~0 1)))} assume !(1 == ~__BLAST_NONDET~0); {18448#(and (= ~s~0 1) (not (= ~IPC~0 1)))} is VALID [2022-04-08 08:28:53,252 INFO L290 TraceCheckUtils]: 43: Hoare triple {18448#(and (= ~s~0 1) (not (= ~IPC~0 1)))} assume 2 == ~__BLAST_NONDET~0; {18448#(and (= ~s~0 1) (not (= ~IPC~0 1)))} is VALID [2022-04-08 08:28:53,252 INFO L272 TraceCheckUtils]: 44: Hoare triple {18448#(and (= ~s~0 1) (not (= ~IPC~0 1)))} call #t~ret173 := KbFilter_IoCtl(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {18416#true} is VALID [2022-04-08 08:28:53,252 INFO L290 TraceCheckUtils]: 45: Hoare triple {18416#true} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647; {18416#true} is VALID [2022-04-08 08:28:53,252 INFO L290 TraceCheckUtils]: 46: Hoare triple {18416#true} assume 0 != #t~nondet17;havoc #t~nondet17;#res := 0; {18416#true} is VALID [2022-04-08 08:28:53,252 INFO L290 TraceCheckUtils]: 47: Hoare triple {18416#true} assume true; {18416#true} is VALID [2022-04-08 08:28:53,253 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {18416#true} {18448#(and (= ~s~0 1) (not (= ~IPC~0 1)))} #1228#return; {18448#(and (= ~s~0 1) (not (= ~IPC~0 1)))} is VALID [2022-04-08 08:28:53,253 INFO L290 TraceCheckUtils]: 49: Hoare triple {18448#(and (= ~s~0 1) (not (= ~IPC~0 1)))} assume -2147483648 <= #t~ret173 && #t~ret173 <= 2147483647;~status~5 := #t~ret173;havoc #t~ret173; {18448#(and (= ~s~0 1) (not (= ~IPC~0 1)))} is VALID [2022-04-08 08:28:53,254 INFO L290 TraceCheckUtils]: 50: Hoare triple {18448#(and (= ~s~0 1) (not (= ~IPC~0 1)))} assume 0 != ~we_should_unload~0; {18448#(and (= ~s~0 1) (not (= ~IPC~0 1)))} is VALID [2022-04-08 08:28:53,254 INFO L290 TraceCheckUtils]: 51: Hoare triple {18448#(and (= ~s~0 1) (not (= ~IPC~0 1)))} assume !(1 == ~pended~0); {18448#(and (= ~s~0 1) (not (= ~IPC~0 1)))} is VALID [2022-04-08 08:28:53,254 INFO L290 TraceCheckUtils]: 52: Hoare triple {18448#(and (= ~s~0 1) (not (= ~IPC~0 1)))} assume !(1 == ~pended~0); {18448#(and (= ~s~0 1) (not (= ~IPC~0 1)))} is VALID [2022-04-08 08:28:53,254 INFO L290 TraceCheckUtils]: 53: Hoare triple {18448#(and (= ~s~0 1) (not (= ~IPC~0 1)))} assume !(~s~0 == ~UNLOADED~0); {18448#(and (= ~s~0 1) (not (= ~IPC~0 1)))} is VALID [2022-04-08 08:28:53,255 INFO L290 TraceCheckUtils]: 54: Hoare triple {18448#(and (= ~s~0 1) (not (= ~IPC~0 1)))} assume !(-1 == ~status~5); {18448#(and (= ~s~0 1) (not (= ~IPC~0 1)))} is VALID [2022-04-08 08:28:53,255 INFO L290 TraceCheckUtils]: 55: Hoare triple {18448#(and (= ~s~0 1) (not (= ~IPC~0 1)))} assume ~s~0 != ~SKIP2~0; {18448#(and (= ~s~0 1) (not (= ~IPC~0 1)))} is VALID [2022-04-08 08:28:53,255 INFO L290 TraceCheckUtils]: 56: Hoare triple {18448#(and (= ~s~0 1) (not (= ~IPC~0 1)))} assume !(~s~0 != ~IPC~0); {18417#false} is VALID [2022-04-08 08:28:53,255 INFO L290 TraceCheckUtils]: 57: Hoare triple {18417#false} assume 1 == ~pended~0; {18417#false} is VALID [2022-04-08 08:28:53,256 INFO L290 TraceCheckUtils]: 58: Hoare triple {18417#false} assume 259 != ~status~5; {18417#false} is VALID [2022-04-08 08:28:53,256 INFO L272 TraceCheckUtils]: 59: Hoare triple {18417#false} call errorFn(); {18417#false} is VALID [2022-04-08 08:28:53,256 INFO L290 TraceCheckUtils]: 60: Hoare triple {18417#false} assume !false; {18417#false} is VALID [2022-04-08 08:28:53,256 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 08:28:53,256 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:28:53,256 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1041220900] [2022-04-08 08:28:53,256 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1041220900] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:28:53,256 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:28:53,256 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 08:28:53,256 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:28:53,256 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [632177034] [2022-04-08 08:28:53,257 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [632177034] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:28:53,257 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:28:53,257 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 08:28:53,257 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1781680363] [2022-04-08 08:28:53,257 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:28:53,257 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.909090909090909) internal successors, (43), 6 states have internal predecessors, (43), 4 states have call successors, (10), 7 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 61 [2022-04-08 08:28:53,257 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:28:53,257 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 3.909090909090909) internal successors, (43), 6 states have internal predecessors, (43), 4 states have call successors, (10), 7 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 08:28:53,311 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:28:53,311 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 08:28:53,311 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:28:53,311 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 08:28:53,311 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-08 08:28:53,312 INFO L87 Difference]: Start difference. First operand 414 states and 548 transitions. Second operand has 11 states, 11 states have (on average 3.909090909090909) internal successors, (43), 6 states have internal predecessors, (43), 4 states have call successors, (10), 7 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 08:28:55,506 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:28:59,675 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.38s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:29:05,343 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:29:05,344 INFO L93 Difference]: Finished difference Result 448 states and 589 transitions. [2022-04-08 08:29:05,344 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-08 08:29:05,344 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.909090909090909) internal successors, (43), 6 states have internal predecessors, (43), 4 states have call successors, (10), 7 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 61 [2022-04-08 08:29:05,344 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:29:05,344 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.909090909090909) internal successors, (43), 6 states have internal predecessors, (43), 4 states have call successors, (10), 7 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 08:29:05,347 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 537 transitions. [2022-04-08 08:29:05,348 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.909090909090909) internal successors, (43), 6 states have internal predecessors, (43), 4 states have call successors, (10), 7 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 08:29:05,351 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 537 transitions. [2022-04-08 08:29:05,351 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 537 transitions. [2022-04-08 08:29:05,999 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 537 edges. 537 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:29:06,009 INFO L225 Difference]: With dead ends: 448 [2022-04-08 08:29:06,009 INFO L226 Difference]: Without dead ends: 440 [2022-04-08 08:29:06,010 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 37 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 81 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=156, Invalid=396, Unknown=0, NotChecked=0, Total=552 [2022-04-08 08:29:06,010 INFO L913 BasicCegarLoop]: 336 mSDtfsCounter, 1922 mSDsluCounter, 228 mSDsCounter, 0 mSdLazyCounter, 781 mSolverCounterSat, 629 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1931 SdHoareTripleChecker+Valid, 564 SdHoareTripleChecker+Invalid, 1411 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 629 IncrementalHoareTripleChecker+Valid, 781 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.3s IncrementalHoareTripleChecker+Time [2022-04-08 08:29:06,010 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [1931 Valid, 564 Invalid, 1411 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [629 Valid, 781 Invalid, 1 Unknown, 0 Unchecked, 6.3s Time] [2022-04-08 08:29:06,011 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 440 states. [2022-04-08 08:29:06,346 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 440 to 415. [2022-04-08 08:29:06,347 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:29:06,348 INFO L82 GeneralOperation]: Start isEquivalent. First operand 440 states. Second operand has 415 states, 331 states have (on average 1.3625377643504533) internal successors, (451), 332 states have internal predecessors, (451), 43 states have call successors, (43), 33 states have call predecessors, (43), 40 states have return successors, (55), 50 states have call predecessors, (55), 37 states have call successors, (55) [2022-04-08 08:29:06,348 INFO L74 IsIncluded]: Start isIncluded. First operand 440 states. Second operand has 415 states, 331 states have (on average 1.3625377643504533) internal successors, (451), 332 states have internal predecessors, (451), 43 states have call successors, (43), 33 states have call predecessors, (43), 40 states have return successors, (55), 50 states have call predecessors, (55), 37 states have call successors, (55) [2022-04-08 08:29:06,349 INFO L87 Difference]: Start difference. First operand 440 states. Second operand has 415 states, 331 states have (on average 1.3625377643504533) internal successors, (451), 332 states have internal predecessors, (451), 43 states have call successors, (43), 33 states have call predecessors, (43), 40 states have return successors, (55), 50 states have call predecessors, (55), 37 states have call successors, (55) [2022-04-08 08:29:06,358 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:29:06,358 INFO L93 Difference]: Finished difference Result 440 states and 580 transitions. [2022-04-08 08:29:06,358 INFO L276 IsEmpty]: Start isEmpty. Operand 440 states and 580 transitions. [2022-04-08 08:29:06,359 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:29:06,359 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:29:06,360 INFO L74 IsIncluded]: Start isIncluded. First operand has 415 states, 331 states have (on average 1.3625377643504533) internal successors, (451), 332 states have internal predecessors, (451), 43 states have call successors, (43), 33 states have call predecessors, (43), 40 states have return successors, (55), 50 states have call predecessors, (55), 37 states have call successors, (55) Second operand 440 states. [2022-04-08 08:29:06,361 INFO L87 Difference]: Start difference. First operand has 415 states, 331 states have (on average 1.3625377643504533) internal successors, (451), 332 states have internal predecessors, (451), 43 states have call successors, (43), 33 states have call predecessors, (43), 40 states have return successors, (55), 50 states have call predecessors, (55), 37 states have call successors, (55) Second operand 440 states. [2022-04-08 08:29:06,369 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:29:06,369 INFO L93 Difference]: Finished difference Result 440 states and 580 transitions. [2022-04-08 08:29:06,369 INFO L276 IsEmpty]: Start isEmpty. Operand 440 states and 580 transitions. [2022-04-08 08:29:06,370 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:29:06,370 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:29:06,370 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:29:06,370 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:29:06,372 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 415 states, 331 states have (on average 1.3625377643504533) internal successors, (451), 332 states have internal predecessors, (451), 43 states have call successors, (43), 33 states have call predecessors, (43), 40 states have return successors, (55), 50 states have call predecessors, (55), 37 states have call successors, (55) [2022-04-08 08:29:06,382 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 415 states to 415 states and 549 transitions. [2022-04-08 08:29:06,383 INFO L78 Accepts]: Start accepts. Automaton has 415 states and 549 transitions. Word has length 61 [2022-04-08 08:29:06,383 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:29:06,383 INFO L478 AbstractCegarLoop]: Abstraction has 415 states and 549 transitions. [2022-04-08 08:29:06,383 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 3.909090909090909) internal successors, (43), 6 states have internal predecessors, (43), 4 states have call successors, (10), 7 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 08:29:06,383 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 415 states and 549 transitions. [2022-04-08 08:29:07,137 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 549 edges. 549 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:29:07,138 INFO L276 IsEmpty]: Start isEmpty. Operand 415 states and 549 transitions. [2022-04-08 08:29:07,138 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2022-04-08 08:29:07,139 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:29:07,139 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:29:07,139 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2022-04-08 08:29:07,139 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:29:07,139 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:29:07,139 INFO L85 PathProgramCache]: Analyzing trace with hash 1325055407, now seen corresponding path program 1 times [2022-04-08 08:29:07,139 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:29:07,139 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2076214646] [2022-04-08 08:29:07,139 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 08:29:07,139 INFO L85 PathProgramCache]: Analyzing trace with hash 1325055407, now seen corresponding path program 2 times [2022-04-08 08:29:07,140 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:29:07,140 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1848849422] [2022-04-08 08:29:07,140 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:29:07,140 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:29:07,187 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:29:07,255 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:29:07,256 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:29:07,262 INFO L290 TraceCheckUtils]: 0: Hoare triple {21144#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {21107#true} is VALID [2022-04-08 08:29:07,262 INFO L290 TraceCheckUtils]: 1: Hoare triple {21107#true} assume true; {21107#true} is VALID [2022-04-08 08:29:07,262 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {21107#true} {21107#true} #1270#return; {21107#true} is VALID [2022-04-08 08:29:07,282 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:29:07,284 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:29:07,293 INFO L290 TraceCheckUtils]: 0: Hoare triple {21145#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {21115#(not (= ~DC~0 ~NP~0))} is VALID [2022-04-08 08:29:07,293 INFO L290 TraceCheckUtils]: 1: Hoare triple {21115#(not (= ~DC~0 ~NP~0))} assume true; {21115#(not (= ~DC~0 ~NP~0))} is VALID [2022-04-08 08:29:07,294 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {21115#(not (= ~DC~0 ~NP~0))} {21107#true} #1216#return; {21115#(not (= ~DC~0 ~NP~0))} is VALID [2022-04-08 08:29:07,300 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:29:07,313 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:29:07,322 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:29:07,323 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:29:07,328 INFO L290 TraceCheckUtils]: 0: Hoare triple {21107#true} ~cond := #in~cond; {21107#true} is VALID [2022-04-08 08:29:07,328 INFO L290 TraceCheckUtils]: 1: Hoare triple {21107#true} assume !(0 == ~cond); {21107#true} is VALID [2022-04-08 08:29:07,328 INFO L290 TraceCheckUtils]: 2: Hoare triple {21107#true} assume true; {21107#true} is VALID [2022-04-08 08:29:07,328 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21107#true} {21107#true} #1254#return; {21107#true} is VALID [2022-04-08 08:29:07,328 INFO L290 TraceCheckUtils]: 0: Hoare triple {21146#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {21107#true} is VALID [2022-04-08 08:29:07,328 INFO L272 TraceCheckUtils]: 1: Hoare triple {21107#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {21107#true} is VALID [2022-04-08 08:29:07,340 INFO L290 TraceCheckUtils]: 2: Hoare triple {21107#true} ~cond := #in~cond; {21107#true} is VALID [2022-04-08 08:29:07,340 INFO L290 TraceCheckUtils]: 3: Hoare triple {21107#true} assume !(0 == ~cond); {21107#true} is VALID [2022-04-08 08:29:07,340 INFO L290 TraceCheckUtils]: 4: Hoare triple {21107#true} assume true; {21107#true} is VALID [2022-04-08 08:29:07,340 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {21107#true} {21107#true} #1254#return; {21107#true} is VALID [2022-04-08 08:29:07,340 INFO L290 TraceCheckUtils]: 6: Hoare triple {21107#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {21107#true} is VALID [2022-04-08 08:29:07,340 INFO L290 TraceCheckUtils]: 7: Hoare triple {21107#true} assume true; {21107#true} is VALID [2022-04-08 08:29:07,351 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {21107#true} {21115#(not (= ~DC~0 ~NP~0))} #1218#return; {21115#(not (= ~DC~0 ~NP~0))} is VALID [2022-04-08 08:29:07,360 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:29:07,364 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:29:07,371 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:29:07,373 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:29:07,379 INFO L290 TraceCheckUtils]: 0: Hoare triple {21151#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {21107#true} is VALID [2022-04-08 08:29:07,379 INFO L290 TraceCheckUtils]: 1: Hoare triple {21107#true} assume !(0 == ~__BLAST_NONDET~5); {21107#true} is VALID [2022-04-08 08:29:07,379 INFO L290 TraceCheckUtils]: 2: Hoare triple {21107#true} #res := -1073741823; {21107#true} is VALID [2022-04-08 08:29:07,379 INFO L290 TraceCheckUtils]: 3: Hoare triple {21107#true} assume true; {21107#true} is VALID [2022-04-08 08:29:07,379 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {21107#true} {21107#true} #1176#return; {21107#true} is VALID [2022-04-08 08:29:07,379 INFO L290 TraceCheckUtils]: 0: Hoare triple {21151#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {21107#true} is VALID [2022-04-08 08:29:07,380 INFO L272 TraceCheckUtils]: 1: Hoare triple {21107#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {21151#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:29:07,380 INFO L290 TraceCheckUtils]: 2: Hoare triple {21151#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {21107#true} is VALID [2022-04-08 08:29:07,380 INFO L290 TraceCheckUtils]: 3: Hoare triple {21107#true} assume !(0 == ~__BLAST_NONDET~5); {21107#true} is VALID [2022-04-08 08:29:07,380 INFO L290 TraceCheckUtils]: 4: Hoare triple {21107#true} #res := -1073741823; {21107#true} is VALID [2022-04-08 08:29:07,380 INFO L290 TraceCheckUtils]: 5: Hoare triple {21107#true} assume true; {21107#true} is VALID [2022-04-08 08:29:07,380 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {21107#true} {21107#true} #1176#return; {21107#true} is VALID [2022-04-08 08:29:07,380 INFO L290 TraceCheckUtils]: 7: Hoare triple {21107#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {21107#true} is VALID [2022-04-08 08:29:07,380 INFO L290 TraceCheckUtils]: 8: Hoare triple {21107#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {21107#true} is VALID [2022-04-08 08:29:07,381 INFO L290 TraceCheckUtils]: 9: Hoare triple {21107#true} assume true; {21107#true} is VALID [2022-04-08 08:29:07,381 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21107#true} {21115#(not (= ~DC~0 ~NP~0))} #1220#return; {21115#(not (= ~DC~0 ~NP~0))} is VALID [2022-04-08 08:29:07,393 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 08:29:07,394 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:29:07,407 INFO L290 TraceCheckUtils]: 0: Hoare triple {21157#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {21158#(= ~s~0 ~NP~0)} is VALID [2022-04-08 08:29:07,417 INFO L290 TraceCheckUtils]: 1: Hoare triple {21158#(= ~s~0 ~NP~0)} assume true; {21158#(= ~s~0 ~NP~0)} is VALID [2022-04-08 08:29:07,418 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {21158#(= ~s~0 ~NP~0)} {21115#(not (= ~DC~0 ~NP~0))} #1222#return; {21139#(not (= ~s~0 ~DC~0))} is VALID [2022-04-08 08:29:07,418 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 44 [2022-04-08 08:29:07,420 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:29:07,425 INFO L290 TraceCheckUtils]: 0: Hoare triple {21107#true} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647; {21107#true} is VALID [2022-04-08 08:29:07,425 INFO L290 TraceCheckUtils]: 1: Hoare triple {21107#true} assume 0 != #t~nondet17;havoc #t~nondet17;#res := 0; {21107#true} is VALID [2022-04-08 08:29:07,425 INFO L290 TraceCheckUtils]: 2: Hoare triple {21107#true} assume true; {21107#true} is VALID [2022-04-08 08:29:07,426 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21107#true} {21139#(not (= ~s~0 ~DC~0))} #1228#return; {21139#(not (= ~s~0 ~DC~0))} is VALID [2022-04-08 08:29:07,427 INFO L272 TraceCheckUtils]: 0: Hoare triple {21107#true} call ULTIMATE.init(); {21144#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:29:07,427 INFO L290 TraceCheckUtils]: 1: Hoare triple {21144#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {21107#true} is VALID [2022-04-08 08:29:07,427 INFO L290 TraceCheckUtils]: 2: Hoare triple {21107#true} assume true; {21107#true} is VALID [2022-04-08 08:29:07,427 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21107#true} {21107#true} #1270#return; {21107#true} is VALID [2022-04-08 08:29:07,427 INFO L272 TraceCheckUtils]: 4: Hoare triple {21107#true} call #t~ret213 := main(); {21107#true} is VALID [2022-04-08 08:29:07,427 INFO L290 TraceCheckUtils]: 5: Hoare triple {21107#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {21107#true} is VALID [2022-04-08 08:29:07,428 INFO L272 TraceCheckUtils]: 6: Hoare triple {21107#true} call _BLAST_init(); {21145#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:29:07,428 INFO L290 TraceCheckUtils]: 7: Hoare triple {21145#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {21115#(not (= ~DC~0 ~NP~0))} is VALID [2022-04-08 08:29:07,429 INFO L290 TraceCheckUtils]: 8: Hoare triple {21115#(not (= ~DC~0 ~NP~0))} assume true; {21115#(not (= ~DC~0 ~NP~0))} is VALID [2022-04-08 08:29:07,429 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {21115#(not (= ~DC~0 ~NP~0))} {21107#true} #1216#return; {21115#(not (= ~DC~0 ~NP~0))} is VALID [2022-04-08 08:29:07,430 INFO L272 TraceCheckUtils]: 10: Hoare triple {21115#(not (= ~DC~0 ~NP~0))} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {21146#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:29:07,430 INFO L290 TraceCheckUtils]: 11: Hoare triple {21146#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {21107#true} is VALID [2022-04-08 08:29:07,430 INFO L272 TraceCheckUtils]: 12: Hoare triple {21107#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {21107#true} is VALID [2022-04-08 08:29:07,430 INFO L290 TraceCheckUtils]: 13: Hoare triple {21107#true} ~cond := #in~cond; {21107#true} is VALID [2022-04-08 08:29:07,430 INFO L290 TraceCheckUtils]: 14: Hoare triple {21107#true} assume !(0 == ~cond); {21107#true} is VALID [2022-04-08 08:29:07,430 INFO L290 TraceCheckUtils]: 15: Hoare triple {21107#true} assume true; {21107#true} is VALID [2022-04-08 08:29:07,430 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {21107#true} {21107#true} #1254#return; {21107#true} is VALID [2022-04-08 08:29:07,430 INFO L290 TraceCheckUtils]: 17: Hoare triple {21107#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {21107#true} is VALID [2022-04-08 08:29:07,430 INFO L290 TraceCheckUtils]: 18: Hoare triple {21107#true} assume true; {21107#true} is VALID [2022-04-08 08:29:07,430 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {21107#true} {21115#(not (= ~DC~0 ~NP~0))} #1218#return; {21115#(not (= ~DC~0 ~NP~0))} is VALID [2022-04-08 08:29:07,431 INFO L290 TraceCheckUtils]: 20: Hoare triple {21115#(not (= ~DC~0 ~NP~0))} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {21115#(not (= ~DC~0 ~NP~0))} is VALID [2022-04-08 08:29:07,431 INFO L290 TraceCheckUtils]: 21: Hoare triple {21115#(not (= ~DC~0 ~NP~0))} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {21115#(not (= ~DC~0 ~NP~0))} is VALID [2022-04-08 08:29:07,431 INFO L290 TraceCheckUtils]: 22: Hoare triple {21115#(not (= ~DC~0 ~NP~0))} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {21115#(not (= ~DC~0 ~NP~0))} is VALID [2022-04-08 08:29:07,432 INFO L272 TraceCheckUtils]: 23: Hoare triple {21115#(not (= ~DC~0 ~NP~0))} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {21151#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:29:07,432 INFO L290 TraceCheckUtils]: 24: Hoare triple {21151#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {21107#true} is VALID [2022-04-08 08:29:07,433 INFO L272 TraceCheckUtils]: 25: Hoare triple {21107#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {21151#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:29:07,433 INFO L290 TraceCheckUtils]: 26: Hoare triple {21151#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {21107#true} is VALID [2022-04-08 08:29:07,433 INFO L290 TraceCheckUtils]: 27: Hoare triple {21107#true} assume !(0 == ~__BLAST_NONDET~5); {21107#true} is VALID [2022-04-08 08:29:07,433 INFO L290 TraceCheckUtils]: 28: Hoare triple {21107#true} #res := -1073741823; {21107#true} is VALID [2022-04-08 08:29:07,433 INFO L290 TraceCheckUtils]: 29: Hoare triple {21107#true} assume true; {21107#true} is VALID [2022-04-08 08:29:07,433 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {21107#true} {21107#true} #1176#return; {21107#true} is VALID [2022-04-08 08:29:07,433 INFO L290 TraceCheckUtils]: 31: Hoare triple {21107#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {21107#true} is VALID [2022-04-08 08:29:07,433 INFO L290 TraceCheckUtils]: 32: Hoare triple {21107#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {21107#true} is VALID [2022-04-08 08:29:07,433 INFO L290 TraceCheckUtils]: 33: Hoare triple {21107#true} assume true; {21107#true} is VALID [2022-04-08 08:29:07,434 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {21107#true} {21115#(not (= ~DC~0 ~NP~0))} #1220#return; {21115#(not (= ~DC~0 ~NP~0))} is VALID [2022-04-08 08:29:07,434 INFO L290 TraceCheckUtils]: 35: Hoare triple {21115#(not (= ~DC~0 ~NP~0))} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {21115#(not (= ~DC~0 ~NP~0))} is VALID [2022-04-08 08:29:07,434 INFO L272 TraceCheckUtils]: 36: Hoare triple {21115#(not (= ~DC~0 ~NP~0))} call stub_driver_init(); {21157#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:29:07,435 INFO L290 TraceCheckUtils]: 37: Hoare triple {21157#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {21158#(= ~s~0 ~NP~0)} is VALID [2022-04-08 08:29:07,435 INFO L290 TraceCheckUtils]: 38: Hoare triple {21158#(= ~s~0 ~NP~0)} assume true; {21158#(= ~s~0 ~NP~0)} is VALID [2022-04-08 08:29:07,435 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {21158#(= ~s~0 ~NP~0)} {21115#(not (= ~DC~0 ~NP~0))} #1222#return; {21139#(not (= ~s~0 ~DC~0))} is VALID [2022-04-08 08:29:07,435 INFO L290 TraceCheckUtils]: 40: Hoare triple {21139#(not (= ~s~0 ~DC~0))} assume !!(~status~5 >= 0); {21139#(not (= ~s~0 ~DC~0))} is VALID [2022-04-08 08:29:07,436 INFO L290 TraceCheckUtils]: 41: Hoare triple {21139#(not (= ~s~0 ~DC~0))} assume !(0 == ~__BLAST_NONDET~0); {21139#(not (= ~s~0 ~DC~0))} is VALID [2022-04-08 08:29:07,436 INFO L290 TraceCheckUtils]: 42: Hoare triple {21139#(not (= ~s~0 ~DC~0))} assume !(1 == ~__BLAST_NONDET~0); {21139#(not (= ~s~0 ~DC~0))} is VALID [2022-04-08 08:29:07,436 INFO L290 TraceCheckUtils]: 43: Hoare triple {21139#(not (= ~s~0 ~DC~0))} assume 2 == ~__BLAST_NONDET~0; {21139#(not (= ~s~0 ~DC~0))} is VALID [2022-04-08 08:29:07,436 INFO L272 TraceCheckUtils]: 44: Hoare triple {21139#(not (= ~s~0 ~DC~0))} call #t~ret173 := KbFilter_IoCtl(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {21107#true} is VALID [2022-04-08 08:29:07,436 INFO L290 TraceCheckUtils]: 45: Hoare triple {21107#true} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647; {21107#true} is VALID [2022-04-08 08:29:07,436 INFO L290 TraceCheckUtils]: 46: Hoare triple {21107#true} assume 0 != #t~nondet17;havoc #t~nondet17;#res := 0; {21107#true} is VALID [2022-04-08 08:29:07,436 INFO L290 TraceCheckUtils]: 47: Hoare triple {21107#true} assume true; {21107#true} is VALID [2022-04-08 08:29:07,437 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {21107#true} {21139#(not (= ~s~0 ~DC~0))} #1228#return; {21139#(not (= ~s~0 ~DC~0))} is VALID [2022-04-08 08:29:07,437 INFO L290 TraceCheckUtils]: 49: Hoare triple {21139#(not (= ~s~0 ~DC~0))} assume -2147483648 <= #t~ret173 && #t~ret173 <= 2147483647;~status~5 := #t~ret173;havoc #t~ret173; {21139#(not (= ~s~0 ~DC~0))} is VALID [2022-04-08 08:29:07,437 INFO L290 TraceCheckUtils]: 50: Hoare triple {21139#(not (= ~s~0 ~DC~0))} assume 0 != ~we_should_unload~0; {21139#(not (= ~s~0 ~DC~0))} is VALID [2022-04-08 08:29:07,437 INFO L290 TraceCheckUtils]: 51: Hoare triple {21139#(not (= ~s~0 ~DC~0))} assume !(1 == ~pended~0); {21139#(not (= ~s~0 ~DC~0))} is VALID [2022-04-08 08:29:07,438 INFO L290 TraceCheckUtils]: 52: Hoare triple {21139#(not (= ~s~0 ~DC~0))} assume !(1 == ~pended~0); {21139#(not (= ~s~0 ~DC~0))} is VALID [2022-04-08 08:29:07,438 INFO L290 TraceCheckUtils]: 53: Hoare triple {21139#(not (= ~s~0 ~DC~0))} assume !(~s~0 == ~UNLOADED~0); {21139#(not (= ~s~0 ~DC~0))} is VALID [2022-04-08 08:29:07,438 INFO L290 TraceCheckUtils]: 54: Hoare triple {21139#(not (= ~s~0 ~DC~0))} assume !(-1 == ~status~5); {21139#(not (= ~s~0 ~DC~0))} is VALID [2022-04-08 08:29:07,439 INFO L290 TraceCheckUtils]: 55: Hoare triple {21139#(not (= ~s~0 ~DC~0))} assume ~s~0 != ~SKIP2~0; {21139#(not (= ~s~0 ~DC~0))} is VALID [2022-04-08 08:29:07,439 INFO L290 TraceCheckUtils]: 56: Hoare triple {21139#(not (= ~s~0 ~DC~0))} assume ~s~0 != ~IPC~0; {21139#(not (= ~s~0 ~DC~0))} is VALID [2022-04-08 08:29:07,439 INFO L290 TraceCheckUtils]: 57: Hoare triple {21139#(not (= ~s~0 ~DC~0))} assume !(~s~0 != ~DC~0); {21108#false} is VALID [2022-04-08 08:29:07,445 INFO L290 TraceCheckUtils]: 58: Hoare triple {21108#false} assume 1 == ~pended~0; {21108#false} is VALID [2022-04-08 08:29:07,445 INFO L290 TraceCheckUtils]: 59: Hoare triple {21108#false} assume 259 != ~status~5; {21108#false} is VALID [2022-04-08 08:29:07,445 INFO L272 TraceCheckUtils]: 60: Hoare triple {21108#false} call errorFn(); {21108#false} is VALID [2022-04-08 08:29:07,446 INFO L290 TraceCheckUtils]: 61: Hoare triple {21108#false} assume !false; {21108#false} is VALID [2022-04-08 08:29:07,446 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 08:29:07,446 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:29:07,446 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1848849422] [2022-04-08 08:29:07,446 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1848849422] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:29:07,446 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:29:07,446 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 08:29:07,446 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:29:07,446 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2076214646] [2022-04-08 08:29:07,446 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2076214646] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:29:07,446 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:29:07,446 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 08:29:07,447 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [582355529] [2022-04-08 08:29:07,447 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:29:07,448 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.4) internal successors, (44), 5 states have internal predecessors, (44), 4 states have call successors, (10), 7 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 62 [2022-04-08 08:29:07,448 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:29:07,448 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 4.4) internal successors, (44), 5 states have internal predecessors, (44), 4 states have call successors, (10), 7 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 08:29:07,491 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:29:07,492 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 08:29:07,492 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:29:07,492 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 08:29:07,492 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-08 08:29:07,492 INFO L87 Difference]: Start difference. First operand 415 states and 549 transitions. Second operand has 10 states, 10 states have (on average 4.4) internal successors, (44), 5 states have internal predecessors, (44), 4 states have call successors, (10), 7 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 08:29:09,650 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:29:16,430 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:29:16,430 INFO L93 Difference]: Finished difference Result 442 states and 581 transitions. [2022-04-08 08:29:16,430 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-08 08:29:16,430 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.4) internal successors, (44), 5 states have internal predecessors, (44), 4 states have call successors, (10), 7 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 62 [2022-04-08 08:29:16,430 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:29:16,430 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.4) internal successors, (44), 5 states have internal predecessors, (44), 4 states have call successors, (10), 7 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 08:29:16,434 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 529 transitions. [2022-04-08 08:29:16,434 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.4) internal successors, (44), 5 states have internal predecessors, (44), 4 states have call successors, (10), 7 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 08:29:16,436 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 529 transitions. [2022-04-08 08:29:16,437 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 529 transitions. [2022-04-08 08:29:17,025 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 529 edges. 529 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:29:17,033 INFO L225 Difference]: With dead ends: 442 [2022-04-08 08:29:17,033 INFO L226 Difference]: Without dead ends: 389 [2022-04-08 08:29:17,034 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 16 SyntacticMatches, 0 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 113 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=181, Invalid=469, Unknown=0, NotChecked=0, Total=650 [2022-04-08 08:29:17,034 INFO L913 BasicCegarLoop]: 337 mSDtfsCounter, 1508 mSDsluCounter, 207 mSDsCounter, 0 mSdLazyCounter, 720 mSolverCounterSat, 506 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1516 SdHoareTripleChecker+Valid, 544 SdHoareTripleChecker+Invalid, 1227 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 506 IncrementalHoareTripleChecker+Valid, 720 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.1s IncrementalHoareTripleChecker+Time [2022-04-08 08:29:17,034 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [1516 Valid, 544 Invalid, 1227 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [506 Valid, 720 Invalid, 1 Unknown, 0 Unchecked, 4.1s Time] [2022-04-08 08:29:17,035 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 389 states. [2022-04-08 08:29:17,388 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 389 to 371. [2022-04-08 08:29:17,389 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:29:17,389 INFO L82 GeneralOperation]: Start isEquivalent. First operand 389 states. Second operand has 371 states, 296 states have (on average 1.3817567567567568) internal successors, (409), 302 states have internal predecessors, (409), 42 states have call successors, (42), 32 states have call predecessors, (42), 32 states have return successors, (42), 37 states have call predecessors, (42), 36 states have call successors, (42) [2022-04-08 08:29:17,390 INFO L74 IsIncluded]: Start isIncluded. First operand 389 states. Second operand has 371 states, 296 states have (on average 1.3817567567567568) internal successors, (409), 302 states have internal predecessors, (409), 42 states have call successors, (42), 32 states have call predecessors, (42), 32 states have return successors, (42), 37 states have call predecessors, (42), 36 states have call successors, (42) [2022-04-08 08:29:17,390 INFO L87 Difference]: Start difference. First operand 389 states. Second operand has 371 states, 296 states have (on average 1.3817567567567568) internal successors, (409), 302 states have internal predecessors, (409), 42 states have call successors, (42), 32 states have call predecessors, (42), 32 states have return successors, (42), 37 states have call predecessors, (42), 36 states have call successors, (42) [2022-04-08 08:29:17,397 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:29:17,397 INFO L93 Difference]: Finished difference Result 389 states and 516 transitions. [2022-04-08 08:29:17,397 INFO L276 IsEmpty]: Start isEmpty. Operand 389 states and 516 transitions. [2022-04-08 08:29:17,398 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:29:17,398 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:29:17,398 INFO L74 IsIncluded]: Start isIncluded. First operand has 371 states, 296 states have (on average 1.3817567567567568) internal successors, (409), 302 states have internal predecessors, (409), 42 states have call successors, (42), 32 states have call predecessors, (42), 32 states have return successors, (42), 37 states have call predecessors, (42), 36 states have call successors, (42) Second operand 389 states. [2022-04-08 08:29:17,399 INFO L87 Difference]: Start difference. First operand has 371 states, 296 states have (on average 1.3817567567567568) internal successors, (409), 302 states have internal predecessors, (409), 42 states have call successors, (42), 32 states have call predecessors, (42), 32 states have return successors, (42), 37 states have call predecessors, (42), 36 states have call successors, (42) Second operand 389 states. [2022-04-08 08:29:17,406 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:29:17,406 INFO L93 Difference]: Finished difference Result 389 states and 516 transitions. [2022-04-08 08:29:17,406 INFO L276 IsEmpty]: Start isEmpty. Operand 389 states and 516 transitions. [2022-04-08 08:29:17,407 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:29:17,407 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:29:17,407 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:29:17,407 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:29:17,408 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 371 states, 296 states have (on average 1.3817567567567568) internal successors, (409), 302 states have internal predecessors, (409), 42 states have call successors, (42), 32 states have call predecessors, (42), 32 states have return successors, (42), 37 states have call predecessors, (42), 36 states have call successors, (42) [2022-04-08 08:29:17,415 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 371 states to 371 states and 493 transitions. [2022-04-08 08:29:17,415 INFO L78 Accepts]: Start accepts. Automaton has 371 states and 493 transitions. Word has length 62 [2022-04-08 08:29:17,415 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:29:17,415 INFO L478 AbstractCegarLoop]: Abstraction has 371 states and 493 transitions. [2022-04-08 08:29:17,416 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 4.4) internal successors, (44), 5 states have internal predecessors, (44), 4 states have call successors, (10), 7 states have call predecessors, (10), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 08:29:17,416 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 371 states and 493 transitions. [2022-04-08 08:29:18,104 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 493 edges. 493 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:29:18,104 INFO L276 IsEmpty]: Start isEmpty. Operand 371 states and 493 transitions. [2022-04-08 08:29:18,105 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2022-04-08 08:29:18,105 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:29:18,105 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:29:18,105 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2022-04-08 08:29:18,105 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:29:18,105 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:29:18,105 INFO L85 PathProgramCache]: Analyzing trace with hash 1052170321, now seen corresponding path program 1 times [2022-04-08 08:29:18,105 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:29:18,105 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [954299154] [2022-04-08 08:29:18,106 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 08:29:18,106 INFO L85 PathProgramCache]: Analyzing trace with hash 1052170321, now seen corresponding path program 2 times [2022-04-08 08:29:18,106 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:29:18,106 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [739867252] [2022-04-08 08:29:18,106 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:29:18,106 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:29:18,156 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:29:18,256 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:29:18,258 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:29:18,263 INFO L290 TraceCheckUtils]: 0: Hoare triple {23647#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {23601#true} is VALID [2022-04-08 08:29:18,264 INFO L290 TraceCheckUtils]: 1: Hoare triple {23601#true} assume true; {23601#true} is VALID [2022-04-08 08:29:18,264 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {23601#true} {23601#true} #1270#return; {23601#true} is VALID [2022-04-08 08:29:18,290 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:29:18,292 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:29:18,308 INFO L290 TraceCheckUtils]: 0: Hoare triple {23648#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {23649#(and (= (+ (- 2) ~DC~0) 0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 08:29:18,308 INFO L290 TraceCheckUtils]: 1: Hoare triple {23649#(and (= (+ (- 2) ~DC~0) 0) (<= 4 ~SKIP2~0))} assume true; {23649#(and (= (+ (- 2) ~DC~0) 0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 08:29:18,309 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {23649#(and (= (+ (- 2) ~DC~0) 0) (<= 4 ~SKIP2~0))} {23601#true} #1216#return; {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 08:29:18,317 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:29:18,327 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:29:18,336 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:29:18,337 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:29:18,341 INFO L290 TraceCheckUtils]: 0: Hoare triple {23601#true} ~cond := #in~cond; {23601#true} is VALID [2022-04-08 08:29:18,342 INFO L290 TraceCheckUtils]: 1: Hoare triple {23601#true} assume !(0 == ~cond); {23601#true} is VALID [2022-04-08 08:29:18,342 INFO L290 TraceCheckUtils]: 2: Hoare triple {23601#true} assume true; {23601#true} is VALID [2022-04-08 08:29:18,342 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23601#true} {23601#true} #1254#return; {23601#true} is VALID [2022-04-08 08:29:18,342 INFO L290 TraceCheckUtils]: 0: Hoare triple {23650#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {23601#true} is VALID [2022-04-08 08:29:18,342 INFO L272 TraceCheckUtils]: 1: Hoare triple {23601#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {23601#true} is VALID [2022-04-08 08:29:18,342 INFO L290 TraceCheckUtils]: 2: Hoare triple {23601#true} ~cond := #in~cond; {23601#true} is VALID [2022-04-08 08:29:18,342 INFO L290 TraceCheckUtils]: 3: Hoare triple {23601#true} assume !(0 == ~cond); {23601#true} is VALID [2022-04-08 08:29:18,342 INFO L290 TraceCheckUtils]: 4: Hoare triple {23601#true} assume true; {23601#true} is VALID [2022-04-08 08:29:18,342 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {23601#true} {23601#true} #1254#return; {23601#true} is VALID [2022-04-08 08:29:18,342 INFO L290 TraceCheckUtils]: 6: Hoare triple {23601#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {23601#true} is VALID [2022-04-08 08:29:18,342 INFO L290 TraceCheckUtils]: 7: Hoare triple {23601#true} assume true; {23601#true} is VALID [2022-04-08 08:29:18,343 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {23601#true} {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} #1218#return; {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 08:29:18,353 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:29:18,358 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:29:18,364 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:29:18,366 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:29:18,371 INFO L290 TraceCheckUtils]: 0: Hoare triple {23655#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {23601#true} is VALID [2022-04-08 08:29:18,371 INFO L290 TraceCheckUtils]: 1: Hoare triple {23601#true} assume !(0 == ~__BLAST_NONDET~5); {23601#true} is VALID [2022-04-08 08:29:18,371 INFO L290 TraceCheckUtils]: 2: Hoare triple {23601#true} #res := -1073741823; {23601#true} is VALID [2022-04-08 08:29:18,371 INFO L290 TraceCheckUtils]: 3: Hoare triple {23601#true} assume true; {23601#true} is VALID [2022-04-08 08:29:18,372 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {23601#true} {23601#true} #1176#return; {23601#true} is VALID [2022-04-08 08:29:18,372 INFO L290 TraceCheckUtils]: 0: Hoare triple {23655#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {23601#true} is VALID [2022-04-08 08:29:18,373 INFO L272 TraceCheckUtils]: 1: Hoare triple {23601#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {23655#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:29:18,373 INFO L290 TraceCheckUtils]: 2: Hoare triple {23655#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {23601#true} is VALID [2022-04-08 08:29:18,373 INFO L290 TraceCheckUtils]: 3: Hoare triple {23601#true} assume !(0 == ~__BLAST_NONDET~5); {23601#true} is VALID [2022-04-08 08:29:18,373 INFO L290 TraceCheckUtils]: 4: Hoare triple {23601#true} #res := -1073741823; {23601#true} is VALID [2022-04-08 08:29:18,373 INFO L290 TraceCheckUtils]: 5: Hoare triple {23601#true} assume true; {23601#true} is VALID [2022-04-08 08:29:18,373 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {23601#true} {23601#true} #1176#return; {23601#true} is VALID [2022-04-08 08:29:18,373 INFO L290 TraceCheckUtils]: 7: Hoare triple {23601#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {23601#true} is VALID [2022-04-08 08:29:18,373 INFO L290 TraceCheckUtils]: 8: Hoare triple {23601#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {23601#true} is VALID [2022-04-08 08:29:18,373 INFO L290 TraceCheckUtils]: 9: Hoare triple {23601#true} assume true; {23601#true} is VALID [2022-04-08 08:29:18,374 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23601#true} {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} #1220#return; {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 08:29:18,388 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 08:29:18,390 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:29:18,404 INFO L290 TraceCheckUtils]: 0: Hoare triple {23661#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {23601#true} is VALID [2022-04-08 08:29:18,404 INFO L290 TraceCheckUtils]: 1: Hoare triple {23601#true} assume true; {23601#true} is VALID [2022-04-08 08:29:18,404 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {23601#true} {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} #1222#return; {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 08:29:18,418 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 47 [2022-04-08 08:29:18,422 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:29:18,464 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-04-08 08:29:18,465 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:29:18,487 INFO L290 TraceCheckUtils]: 0: Hoare triple {23668#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {23601#true} is VALID [2022-04-08 08:29:18,487 INFO L290 TraceCheckUtils]: 1: Hoare triple {23601#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {23669#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} is VALID [2022-04-08 08:29:18,488 INFO L290 TraceCheckUtils]: 2: Hoare triple {23669#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} assume true; {23669#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} is VALID [2022-04-08 08:29:18,488 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23669#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} {23601#true} #1248#return; {23667#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} is VALID [2022-04-08 08:29:18,489 INFO L290 TraceCheckUtils]: 0: Hoare triple {23662#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~irpStack~2.base, ~irpStack~2.offset;havoc ~devExt~2.base, ~devExt~2.offset;havoc ~hookKeyboard~0.base, ~hookKeyboard~0.offset;havoc ~connectData~0.base, ~connectData~0.offset;havoc ~status~2;havoc ~tmp~2;~status~2 := 0;call #t~mem51.base, #t~mem51.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~2.base, ~devExt~2.offset := #t~mem51.base, #t~mem51.offset;havoc #t~mem51.base, #t~mem51.offset;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4);call #t~mem52.base, #t~mem52.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~2.base, ~irpStack~2.offset := #t~mem52.base, #t~mem52.offset;havoc #t~mem52.base, #t~mem52.offset;call #t~mem53 := read~int(~irpStack~2.base, 12 + ~irpStack~2.offset, 4); {23601#true} is VALID [2022-04-08 08:29:18,489 INFO L290 TraceCheckUtils]: 1: Hoare triple {23601#true} assume #t~mem53 % 4294967296 == ~bitwiseOr(~bitwiseOr(720896, 512), 3) % 4294967296;havoc #t~mem53; {23601#true} is VALID [2022-04-08 08:29:18,489 INFO L290 TraceCheckUtils]: 2: Hoare triple {23601#true} call #t~mem62.base, #t~mem62.offset := read~$Pointer$(~devExt~2.base, 20 + ~devExt~2.offset, 4); {23601#true} is VALID [2022-04-08 08:29:18,489 INFO L290 TraceCheckUtils]: 3: Hoare triple {23601#true} assume 0 != (#t~mem62.base + #t~mem62.offset) % 4294967296;havoc #t~mem62.base, #t~mem62.offset;~status~2 := -1073741757; {23601#true} is VALID [2022-04-08 08:29:18,489 INFO L290 TraceCheckUtils]: 4: Hoare triple {23601#true} assume !(~status~2 >= 0);call write~int(~status~2, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~2; {23601#true} is VALID [2022-04-08 08:29:18,489 INFO L272 TraceCheckUtils]: 5: Hoare triple {23601#true} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {23668#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:29:18,490 INFO L290 TraceCheckUtils]: 6: Hoare triple {23668#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {23601#true} is VALID [2022-04-08 08:29:18,490 INFO L290 TraceCheckUtils]: 7: Hoare triple {23601#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {23669#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} is VALID [2022-04-08 08:29:18,490 INFO L290 TraceCheckUtils]: 8: Hoare triple {23669#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} assume true; {23669#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} is VALID [2022-04-08 08:29:18,491 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {23669#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} {23601#true} #1248#return; {23667#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} is VALID [2022-04-08 08:29:18,491 INFO L290 TraceCheckUtils]: 10: Hoare triple {23667#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} #res := ~status~2; {23667#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} is VALID [2022-04-08 08:29:18,492 INFO L290 TraceCheckUtils]: 11: Hoare triple {23667#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} assume true; {23667#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} is VALID [2022-04-08 08:29:18,493 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {23667#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} #1234#return; {23646#(and (not (= ~SKIP2~0 2)) (= 2 ~s~0))} is VALID [2022-04-08 08:29:18,494 INFO L272 TraceCheckUtils]: 0: Hoare triple {23601#true} call ULTIMATE.init(); {23647#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:29:18,495 INFO L290 TraceCheckUtils]: 1: Hoare triple {23647#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {23601#true} is VALID [2022-04-08 08:29:18,495 INFO L290 TraceCheckUtils]: 2: Hoare triple {23601#true} assume true; {23601#true} is VALID [2022-04-08 08:29:18,495 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23601#true} {23601#true} #1270#return; {23601#true} is VALID [2022-04-08 08:29:18,495 INFO L272 TraceCheckUtils]: 4: Hoare triple {23601#true} call #t~ret213 := main(); {23601#true} is VALID [2022-04-08 08:29:18,495 INFO L290 TraceCheckUtils]: 5: Hoare triple {23601#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {23601#true} is VALID [2022-04-08 08:29:18,496 INFO L272 TraceCheckUtils]: 6: Hoare triple {23601#true} call _BLAST_init(); {23648#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:29:18,497 INFO L290 TraceCheckUtils]: 7: Hoare triple {23648#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {23649#(and (= (+ (- 2) ~DC~0) 0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 08:29:18,497 INFO L290 TraceCheckUtils]: 8: Hoare triple {23649#(and (= (+ (- 2) ~DC~0) 0) (<= 4 ~SKIP2~0))} assume true; {23649#(and (= (+ (- 2) ~DC~0) 0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 08:29:18,498 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {23649#(and (= (+ (- 2) ~DC~0) 0) (<= 4 ~SKIP2~0))} {23601#true} #1216#return; {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 08:29:18,499 INFO L272 TraceCheckUtils]: 10: Hoare triple {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {23650#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:29:18,499 INFO L290 TraceCheckUtils]: 11: Hoare triple {23650#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {23601#true} is VALID [2022-04-08 08:29:18,499 INFO L272 TraceCheckUtils]: 12: Hoare triple {23601#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {23601#true} is VALID [2022-04-08 08:29:18,499 INFO L290 TraceCheckUtils]: 13: Hoare triple {23601#true} ~cond := #in~cond; {23601#true} is VALID [2022-04-08 08:29:18,499 INFO L290 TraceCheckUtils]: 14: Hoare triple {23601#true} assume !(0 == ~cond); {23601#true} is VALID [2022-04-08 08:29:18,499 INFO L290 TraceCheckUtils]: 15: Hoare triple {23601#true} assume true; {23601#true} is VALID [2022-04-08 08:29:18,499 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {23601#true} {23601#true} #1254#return; {23601#true} is VALID [2022-04-08 08:29:18,499 INFO L290 TraceCheckUtils]: 17: Hoare triple {23601#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {23601#true} is VALID [2022-04-08 08:29:18,499 INFO L290 TraceCheckUtils]: 18: Hoare triple {23601#true} assume true; {23601#true} is VALID [2022-04-08 08:29:18,500 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {23601#true} {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} #1218#return; {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 08:29:18,500 INFO L290 TraceCheckUtils]: 20: Hoare triple {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 08:29:18,501 INFO L290 TraceCheckUtils]: 21: Hoare triple {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 08:29:18,501 INFO L290 TraceCheckUtils]: 22: Hoare triple {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 08:29:18,502 INFO L272 TraceCheckUtils]: 23: Hoare triple {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {23655#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:29:18,502 INFO L290 TraceCheckUtils]: 24: Hoare triple {23655#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {23601#true} is VALID [2022-04-08 08:29:18,504 INFO L272 TraceCheckUtils]: 25: Hoare triple {23601#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {23655#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:29:18,504 INFO L290 TraceCheckUtils]: 26: Hoare triple {23655#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {23601#true} is VALID [2022-04-08 08:29:18,504 INFO L290 TraceCheckUtils]: 27: Hoare triple {23601#true} assume !(0 == ~__BLAST_NONDET~5); {23601#true} is VALID [2022-04-08 08:29:18,504 INFO L290 TraceCheckUtils]: 28: Hoare triple {23601#true} #res := -1073741823; {23601#true} is VALID [2022-04-08 08:29:18,504 INFO L290 TraceCheckUtils]: 29: Hoare triple {23601#true} assume true; {23601#true} is VALID [2022-04-08 08:29:18,504 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {23601#true} {23601#true} #1176#return; {23601#true} is VALID [2022-04-08 08:29:18,504 INFO L290 TraceCheckUtils]: 31: Hoare triple {23601#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {23601#true} is VALID [2022-04-08 08:29:18,504 INFO L290 TraceCheckUtils]: 32: Hoare triple {23601#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {23601#true} is VALID [2022-04-08 08:29:18,504 INFO L290 TraceCheckUtils]: 33: Hoare triple {23601#true} assume true; {23601#true} is VALID [2022-04-08 08:29:18,505 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {23601#true} {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} #1220#return; {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 08:29:18,505 INFO L290 TraceCheckUtils]: 35: Hoare triple {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 08:29:18,506 INFO L272 TraceCheckUtils]: 36: Hoare triple {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} call stub_driver_init(); {23661#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:29:18,506 INFO L290 TraceCheckUtils]: 37: Hoare triple {23661#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {23601#true} is VALID [2022-04-08 08:29:18,506 INFO L290 TraceCheckUtils]: 38: Hoare triple {23601#true} assume true; {23601#true} is VALID [2022-04-08 08:29:18,506 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {23601#true} {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} #1222#return; {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 08:29:18,507 INFO L290 TraceCheckUtils]: 40: Hoare triple {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} assume !!(~status~5 >= 0); {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 08:29:18,507 INFO L290 TraceCheckUtils]: 41: Hoare triple {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} assume !(0 == ~__BLAST_NONDET~0); {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 08:29:18,507 INFO L290 TraceCheckUtils]: 42: Hoare triple {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} assume !(1 == ~__BLAST_NONDET~0); {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 08:29:18,508 INFO L290 TraceCheckUtils]: 43: Hoare triple {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} assume !(2 == ~__BLAST_NONDET~0); {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 08:29:18,508 INFO L290 TraceCheckUtils]: 44: Hoare triple {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} assume !(3 == ~__BLAST_NONDET~0); {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 08:29:18,508 INFO L290 TraceCheckUtils]: 45: Hoare triple {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} assume !(4 == ~__BLAST_NONDET~0); {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 08:29:18,509 INFO L290 TraceCheckUtils]: 46: Hoare triple {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} assume 8 == ~__BLAST_NONDET~0; {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 08:29:18,510 INFO L272 TraceCheckUtils]: 47: Hoare triple {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} call #t~ret176 := KbFilter_InternIoCtl(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {23662#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:29:18,510 INFO L290 TraceCheckUtils]: 48: Hoare triple {23662#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~irpStack~2.base, ~irpStack~2.offset;havoc ~devExt~2.base, ~devExt~2.offset;havoc ~hookKeyboard~0.base, ~hookKeyboard~0.offset;havoc ~connectData~0.base, ~connectData~0.offset;havoc ~status~2;havoc ~tmp~2;~status~2 := 0;call #t~mem51.base, #t~mem51.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~2.base, ~devExt~2.offset := #t~mem51.base, #t~mem51.offset;havoc #t~mem51.base, #t~mem51.offset;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4);call #t~mem52.base, #t~mem52.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~2.base, ~irpStack~2.offset := #t~mem52.base, #t~mem52.offset;havoc #t~mem52.base, #t~mem52.offset;call #t~mem53 := read~int(~irpStack~2.base, 12 + ~irpStack~2.offset, 4); {23601#true} is VALID [2022-04-08 08:29:18,510 INFO L290 TraceCheckUtils]: 49: Hoare triple {23601#true} assume #t~mem53 % 4294967296 == ~bitwiseOr(~bitwiseOr(720896, 512), 3) % 4294967296;havoc #t~mem53; {23601#true} is VALID [2022-04-08 08:29:18,510 INFO L290 TraceCheckUtils]: 50: Hoare triple {23601#true} call #t~mem62.base, #t~mem62.offset := read~$Pointer$(~devExt~2.base, 20 + ~devExt~2.offset, 4); {23601#true} is VALID [2022-04-08 08:29:18,510 INFO L290 TraceCheckUtils]: 51: Hoare triple {23601#true} assume 0 != (#t~mem62.base + #t~mem62.offset) % 4294967296;havoc #t~mem62.base, #t~mem62.offset;~status~2 := -1073741757; {23601#true} is VALID [2022-04-08 08:29:18,510 INFO L290 TraceCheckUtils]: 52: Hoare triple {23601#true} assume !(~status~2 >= 0);call write~int(~status~2, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~2; {23601#true} is VALID [2022-04-08 08:29:18,510 INFO L272 TraceCheckUtils]: 53: Hoare triple {23601#true} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {23668#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:29:18,510 INFO L290 TraceCheckUtils]: 54: Hoare triple {23668#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {23601#true} is VALID [2022-04-08 08:29:18,511 INFO L290 TraceCheckUtils]: 55: Hoare triple {23601#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {23669#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} is VALID [2022-04-08 08:29:18,511 INFO L290 TraceCheckUtils]: 56: Hoare triple {23669#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} assume true; {23669#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} is VALID [2022-04-08 08:29:18,512 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {23669#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} {23601#true} #1248#return; {23667#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} is VALID [2022-04-08 08:29:18,512 INFO L290 TraceCheckUtils]: 58: Hoare triple {23667#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} #res := ~status~2; {23667#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} is VALID [2022-04-08 08:29:18,513 INFO L290 TraceCheckUtils]: 59: Hoare triple {23667#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} assume true; {23667#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} is VALID [2022-04-08 08:29:18,514 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {23667#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} {23609#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} #1234#return; {23646#(and (not (= ~SKIP2~0 2)) (= 2 ~s~0))} is VALID [2022-04-08 08:29:18,514 INFO L290 TraceCheckUtils]: 61: Hoare triple {23646#(and (not (= ~SKIP2~0 2)) (= 2 ~s~0))} assume -2147483648 <= #t~ret176 && #t~ret176 <= 2147483647;~status~5 := #t~ret176;havoc #t~ret176; {23646#(and (not (= ~SKIP2~0 2)) (= 2 ~s~0))} is VALID [2022-04-08 08:29:18,514 INFO L290 TraceCheckUtils]: 62: Hoare triple {23646#(and (not (= ~SKIP2~0 2)) (= 2 ~s~0))} assume 0 != ~we_should_unload~0; {23646#(and (not (= ~SKIP2~0 2)) (= 2 ~s~0))} is VALID [2022-04-08 08:29:18,515 INFO L290 TraceCheckUtils]: 63: Hoare triple {23646#(and (not (= ~SKIP2~0 2)) (= 2 ~s~0))} assume !(1 == ~pended~0); {23646#(and (not (= ~SKIP2~0 2)) (= 2 ~s~0))} is VALID [2022-04-08 08:29:18,515 INFO L290 TraceCheckUtils]: 64: Hoare triple {23646#(and (not (= ~SKIP2~0 2)) (= 2 ~s~0))} assume !(1 == ~pended~0); {23646#(and (not (= ~SKIP2~0 2)) (= 2 ~s~0))} is VALID [2022-04-08 08:29:18,515 INFO L290 TraceCheckUtils]: 65: Hoare triple {23646#(and (not (= ~SKIP2~0 2)) (= 2 ~s~0))} assume !(~s~0 == ~UNLOADED~0); {23646#(and (not (= ~SKIP2~0 2)) (= 2 ~s~0))} is VALID [2022-04-08 08:29:18,516 INFO L290 TraceCheckUtils]: 66: Hoare triple {23646#(and (not (= ~SKIP2~0 2)) (= 2 ~s~0))} assume !(-1 == ~status~5); {23646#(and (not (= ~SKIP2~0 2)) (= 2 ~s~0))} is VALID [2022-04-08 08:29:18,516 INFO L290 TraceCheckUtils]: 67: Hoare triple {23646#(and (not (= ~SKIP2~0 2)) (= 2 ~s~0))} assume !(~s~0 != ~SKIP2~0); {23602#false} is VALID [2022-04-08 08:29:18,516 INFO L290 TraceCheckUtils]: 68: Hoare triple {23602#false} assume 1 == ~pended~0; {23602#false} is VALID [2022-04-08 08:29:18,516 INFO L290 TraceCheckUtils]: 69: Hoare triple {23602#false} assume 259 != ~status~5; {23602#false} is VALID [2022-04-08 08:29:18,516 INFO L272 TraceCheckUtils]: 70: Hoare triple {23602#false} call errorFn(); {23602#false} is VALID [2022-04-08 08:29:18,516 INFO L290 TraceCheckUtils]: 71: Hoare triple {23602#false} assume !false; {23602#false} is VALID [2022-04-08 08:29:18,516 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 08:29:18,517 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:29:18,517 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [739867252] [2022-04-08 08:29:18,517 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [739867252] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:29:18,517 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:29:18,517 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 08:29:18,517 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:29:18,517 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [954299154] [2022-04-08 08:29:18,517 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [954299154] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:29:18,517 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:29:18,517 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 08:29:18,517 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [633458082] [2022-04-08 08:29:18,517 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:29:18,518 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 3.7142857142857144) internal successors, (52), 7 states have internal predecessors, (52), 3 states have call successors, (11), 9 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 2 states have call successors, (9) Word has length 72 [2022-04-08 08:29:18,518 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:29:18,518 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 3.7142857142857144) internal successors, (52), 7 states have internal predecessors, (52), 3 states have call successors, (11), 9 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:29:18,580 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:29:18,580 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 08:29:18,580 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:29:18,581 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 08:29:18,581 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=145, Unknown=0, NotChecked=0, Total=182 [2022-04-08 08:29:18,581 INFO L87 Difference]: Start difference. First operand 371 states and 493 transitions. Second operand has 14 states, 14 states have (on average 3.7142857142857144) internal successors, (52), 7 states have internal predecessors, (52), 3 states have call successors, (11), 9 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:29:20,816 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:29:25,622 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.04s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:29:34,154 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:29:34,154 INFO L93 Difference]: Finished difference Result 417 states and 550 transitions. [2022-04-08 08:29:34,155 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-08 08:29:34,155 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 3.7142857142857144) internal successors, (52), 7 states have internal predecessors, (52), 3 states have call successors, (11), 9 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 2 states have call successors, (9) Word has length 72 [2022-04-08 08:29:34,155 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:29:34,155 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 3.7142857142857144) internal successors, (52), 7 states have internal predecessors, (52), 3 states have call successors, (11), 9 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:29:34,160 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 457 transitions. [2022-04-08 08:29:34,160 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 3.7142857142857144) internal successors, (52), 7 states have internal predecessors, (52), 3 states have call successors, (11), 9 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:29:34,164 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 457 transitions. [2022-04-08 08:29:34,164 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 457 transitions. [2022-04-08 08:29:34,759 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 457 edges. 457 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:29:34,779 INFO L225 Difference]: With dead ends: 417 [2022-04-08 08:29:34,780 INFO L226 Difference]: Without dead ends: 409 [2022-04-08 08:29:34,780 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 43 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 125 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=190, Invalid=566, Unknown=0, NotChecked=0, Total=756 [2022-04-08 08:29:34,780 INFO L913 BasicCegarLoop]: 278 mSDtfsCounter, 827 mSDsluCounter, 461 mSDsCounter, 0 mSdLazyCounter, 2033 mSolverCounterSat, 260 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 7.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 839 SdHoareTripleChecker+Valid, 739 SdHoareTripleChecker+Invalid, 2294 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 260 IncrementalHoareTripleChecker+Valid, 2033 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 7.7s IncrementalHoareTripleChecker+Time [2022-04-08 08:29:34,781 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [839 Valid, 739 Invalid, 2294 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [260 Valid, 2033 Invalid, 1 Unknown, 0 Unchecked, 7.7s Time] [2022-04-08 08:29:34,781 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 409 states. [2022-04-08 08:29:35,180 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 409 to 386. [2022-04-08 08:29:35,181 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:29:35,181 INFO L82 GeneralOperation]: Start isEquivalent. First operand 409 states. Second operand has 386 states, 309 states have (on average 1.3754045307443366) internal successors, (425), 314 states have internal predecessors, (425), 42 states have call successors, (42), 32 states have call predecessors, (42), 34 states have return successors, (44), 39 states have call predecessors, (44), 36 states have call successors, (44) [2022-04-08 08:29:35,182 INFO L74 IsIncluded]: Start isIncluded. First operand 409 states. Second operand has 386 states, 309 states have (on average 1.3754045307443366) internal successors, (425), 314 states have internal predecessors, (425), 42 states have call successors, (42), 32 states have call predecessors, (42), 34 states have return successors, (44), 39 states have call predecessors, (44), 36 states have call successors, (44) [2022-04-08 08:29:35,183 INFO L87 Difference]: Start difference. First operand 409 states. Second operand has 386 states, 309 states have (on average 1.3754045307443366) internal successors, (425), 314 states have internal predecessors, (425), 42 states have call successors, (42), 32 states have call predecessors, (42), 34 states have return successors, (44), 39 states have call predecessors, (44), 36 states have call successors, (44) [2022-04-08 08:29:35,193 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:29:35,193 INFO L93 Difference]: Finished difference Result 409 states and 541 transitions. [2022-04-08 08:29:35,193 INFO L276 IsEmpty]: Start isEmpty. Operand 409 states and 541 transitions. [2022-04-08 08:29:35,195 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:29:35,195 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:29:35,195 INFO L74 IsIncluded]: Start isIncluded. First operand has 386 states, 309 states have (on average 1.3754045307443366) internal successors, (425), 314 states have internal predecessors, (425), 42 states have call successors, (42), 32 states have call predecessors, (42), 34 states have return successors, (44), 39 states have call predecessors, (44), 36 states have call successors, (44) Second operand 409 states. [2022-04-08 08:29:35,196 INFO L87 Difference]: Start difference. First operand has 386 states, 309 states have (on average 1.3754045307443366) internal successors, (425), 314 states have internal predecessors, (425), 42 states have call successors, (42), 32 states have call predecessors, (42), 34 states have return successors, (44), 39 states have call predecessors, (44), 36 states have call successors, (44) Second operand 409 states. [2022-04-08 08:29:35,207 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:29:35,207 INFO L93 Difference]: Finished difference Result 409 states and 541 transitions. [2022-04-08 08:29:35,207 INFO L276 IsEmpty]: Start isEmpty. Operand 409 states and 541 transitions. [2022-04-08 08:29:35,208 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:29:35,208 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:29:35,208 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:29:35,208 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:29:35,209 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 386 states, 309 states have (on average 1.3754045307443366) internal successors, (425), 314 states have internal predecessors, (425), 42 states have call successors, (42), 32 states have call predecessors, (42), 34 states have return successors, (44), 39 states have call predecessors, (44), 36 states have call successors, (44) [2022-04-08 08:29:35,221 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 386 states to 386 states and 511 transitions. [2022-04-08 08:29:35,221 INFO L78 Accepts]: Start accepts. Automaton has 386 states and 511 transitions. Word has length 72 [2022-04-08 08:29:35,222 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:29:35,222 INFO L478 AbstractCegarLoop]: Abstraction has 386 states and 511 transitions. [2022-04-08 08:29:35,222 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 3.7142857142857144) internal successors, (52), 7 states have internal predecessors, (52), 3 states have call successors, (11), 9 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:29:35,222 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 386 states and 511 transitions. [2022-04-08 08:29:36,038 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 511 edges. 511 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:29:36,038 INFO L276 IsEmpty]: Start isEmpty. Operand 386 states and 511 transitions. [2022-04-08 08:29:36,040 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2022-04-08 08:29:36,040 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:29:36,040 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:29:36,040 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2022-04-08 08:29:36,040 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:29:36,040 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:29:36,040 INFO L85 PathProgramCache]: Analyzing trace with hash 2144673722, now seen corresponding path program 1 times [2022-04-08 08:29:36,041 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:29:36,041 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1623374559] [2022-04-08 08:29:36,041 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 08:29:36,041 INFO L85 PathProgramCache]: Analyzing trace with hash 2144673722, now seen corresponding path program 2 times [2022-04-08 08:29:36,041 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:29:36,041 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [633025257] [2022-04-08 08:29:36,041 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:29:36,041 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:29:36,104 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:29:36,248 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:29:36,251 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:29:36,258 INFO L290 TraceCheckUtils]: 0: Hoare triple {26175#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {26129#true} is VALID [2022-04-08 08:29:36,258 INFO L290 TraceCheckUtils]: 1: Hoare triple {26129#true} assume true; {26129#true} is VALID [2022-04-08 08:29:36,258 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {26129#true} {26129#true} #1270#return; {26129#true} is VALID [2022-04-08 08:29:36,286 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:29:36,289 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:29:36,309 INFO L290 TraceCheckUtils]: 0: Hoare triple {26176#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {26177#(and (<= 7 ~IPC~0) (= (+ (- 2) ~DC~0) 0))} is VALID [2022-04-08 08:29:36,310 INFO L290 TraceCheckUtils]: 1: Hoare triple {26177#(and (<= 7 ~IPC~0) (= (+ (- 2) ~DC~0) 0))} assume true; {26177#(and (<= 7 ~IPC~0) (= (+ (- 2) ~DC~0) 0))} is VALID [2022-04-08 08:29:36,311 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {26177#(and (<= 7 ~IPC~0) (= (+ (- 2) ~DC~0) 0))} {26129#true} #1216#return; {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 08:29:36,320 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:29:36,332 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:29:36,346 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:29:36,347 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:29:36,353 INFO L290 TraceCheckUtils]: 0: Hoare triple {26129#true} ~cond := #in~cond; {26129#true} is VALID [2022-04-08 08:29:36,353 INFO L290 TraceCheckUtils]: 1: Hoare triple {26129#true} assume !(0 == ~cond); {26129#true} is VALID [2022-04-08 08:29:36,353 INFO L290 TraceCheckUtils]: 2: Hoare triple {26129#true} assume true; {26129#true} is VALID [2022-04-08 08:29:36,353 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26129#true} {26129#true} #1254#return; {26129#true} is VALID [2022-04-08 08:29:36,353 INFO L290 TraceCheckUtils]: 0: Hoare triple {26178#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {26129#true} is VALID [2022-04-08 08:29:36,354 INFO L272 TraceCheckUtils]: 1: Hoare triple {26129#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {26129#true} is VALID [2022-04-08 08:29:36,354 INFO L290 TraceCheckUtils]: 2: Hoare triple {26129#true} ~cond := #in~cond; {26129#true} is VALID [2022-04-08 08:29:36,354 INFO L290 TraceCheckUtils]: 3: Hoare triple {26129#true} assume !(0 == ~cond); {26129#true} is VALID [2022-04-08 08:29:36,354 INFO L290 TraceCheckUtils]: 4: Hoare triple {26129#true} assume true; {26129#true} is VALID [2022-04-08 08:29:36,354 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {26129#true} {26129#true} #1254#return; {26129#true} is VALID [2022-04-08 08:29:36,354 INFO L290 TraceCheckUtils]: 6: Hoare triple {26129#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {26129#true} is VALID [2022-04-08 08:29:36,354 INFO L290 TraceCheckUtils]: 7: Hoare triple {26129#true} assume true; {26129#true} is VALID [2022-04-08 08:29:36,355 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {26129#true} {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} #1218#return; {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 08:29:36,366 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:29:36,372 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:29:36,380 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:29:36,381 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:29:36,389 INFO L290 TraceCheckUtils]: 0: Hoare triple {26183#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {26129#true} is VALID [2022-04-08 08:29:36,389 INFO L290 TraceCheckUtils]: 1: Hoare triple {26129#true} assume !(0 == ~__BLAST_NONDET~5); {26129#true} is VALID [2022-04-08 08:29:36,389 INFO L290 TraceCheckUtils]: 2: Hoare triple {26129#true} #res := -1073741823; {26129#true} is VALID [2022-04-08 08:29:36,389 INFO L290 TraceCheckUtils]: 3: Hoare triple {26129#true} assume true; {26129#true} is VALID [2022-04-08 08:29:36,389 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {26129#true} {26129#true} #1176#return; {26129#true} is VALID [2022-04-08 08:29:36,389 INFO L290 TraceCheckUtils]: 0: Hoare triple {26183#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {26129#true} is VALID [2022-04-08 08:29:36,391 INFO L272 TraceCheckUtils]: 1: Hoare triple {26129#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {26183#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:29:36,391 INFO L290 TraceCheckUtils]: 2: Hoare triple {26183#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {26129#true} is VALID [2022-04-08 08:29:36,391 INFO L290 TraceCheckUtils]: 3: Hoare triple {26129#true} assume !(0 == ~__BLAST_NONDET~5); {26129#true} is VALID [2022-04-08 08:29:36,391 INFO L290 TraceCheckUtils]: 4: Hoare triple {26129#true} #res := -1073741823; {26129#true} is VALID [2022-04-08 08:29:36,391 INFO L290 TraceCheckUtils]: 5: Hoare triple {26129#true} assume true; {26129#true} is VALID [2022-04-08 08:29:36,391 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {26129#true} {26129#true} #1176#return; {26129#true} is VALID [2022-04-08 08:29:36,391 INFO L290 TraceCheckUtils]: 7: Hoare triple {26129#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {26129#true} is VALID [2022-04-08 08:29:36,391 INFO L290 TraceCheckUtils]: 8: Hoare triple {26129#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {26129#true} is VALID [2022-04-08 08:29:36,391 INFO L290 TraceCheckUtils]: 9: Hoare triple {26129#true} assume true; {26129#true} is VALID [2022-04-08 08:29:36,392 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {26129#true} {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} #1220#return; {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 08:29:36,408 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 08:29:36,410 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:29:36,429 INFO L290 TraceCheckUtils]: 0: Hoare triple {26189#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {26129#true} is VALID [2022-04-08 08:29:36,429 INFO L290 TraceCheckUtils]: 1: Hoare triple {26129#true} assume true; {26129#true} is VALID [2022-04-08 08:29:36,430 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {26129#true} {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} #1222#return; {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 08:29:36,445 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 47 [2022-04-08 08:29:36,452 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:29:36,521 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-04-08 08:29:36,523 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:29:36,549 INFO L290 TraceCheckUtils]: 0: Hoare triple {26196#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {26129#true} is VALID [2022-04-08 08:29:36,549 INFO L290 TraceCheckUtils]: 1: Hoare triple {26129#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {26197#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} is VALID [2022-04-08 08:29:36,550 INFO L290 TraceCheckUtils]: 2: Hoare triple {26197#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} assume true; {26197#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} is VALID [2022-04-08 08:29:36,551 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26197#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} {26129#true} #1248#return; {26195#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} is VALID [2022-04-08 08:29:36,551 INFO L290 TraceCheckUtils]: 0: Hoare triple {26190#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~irpStack~2.base, ~irpStack~2.offset;havoc ~devExt~2.base, ~devExt~2.offset;havoc ~hookKeyboard~0.base, ~hookKeyboard~0.offset;havoc ~connectData~0.base, ~connectData~0.offset;havoc ~status~2;havoc ~tmp~2;~status~2 := 0;call #t~mem51.base, #t~mem51.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~2.base, ~devExt~2.offset := #t~mem51.base, #t~mem51.offset;havoc #t~mem51.base, #t~mem51.offset;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4);call #t~mem52.base, #t~mem52.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~2.base, ~irpStack~2.offset := #t~mem52.base, #t~mem52.offset;havoc #t~mem52.base, #t~mem52.offset;call #t~mem53 := read~int(~irpStack~2.base, 12 + ~irpStack~2.offset, 4); {26129#true} is VALID [2022-04-08 08:29:36,551 INFO L290 TraceCheckUtils]: 1: Hoare triple {26129#true} assume #t~mem53 % 4294967296 == ~bitwiseOr(~bitwiseOr(720896, 512), 3) % 4294967296;havoc #t~mem53; {26129#true} is VALID [2022-04-08 08:29:36,551 INFO L290 TraceCheckUtils]: 2: Hoare triple {26129#true} call #t~mem62.base, #t~mem62.offset := read~$Pointer$(~devExt~2.base, 20 + ~devExt~2.offset, 4); {26129#true} is VALID [2022-04-08 08:29:36,551 INFO L290 TraceCheckUtils]: 3: Hoare triple {26129#true} assume 0 != (#t~mem62.base + #t~mem62.offset) % 4294967296;havoc #t~mem62.base, #t~mem62.offset;~status~2 := -1073741757; {26129#true} is VALID [2022-04-08 08:29:36,551 INFO L290 TraceCheckUtils]: 4: Hoare triple {26129#true} assume !(~status~2 >= 0);call write~int(~status~2, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~2; {26129#true} is VALID [2022-04-08 08:29:36,552 INFO L272 TraceCheckUtils]: 5: Hoare triple {26129#true} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {26196#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:29:36,552 INFO L290 TraceCheckUtils]: 6: Hoare triple {26196#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {26129#true} is VALID [2022-04-08 08:29:36,552 INFO L290 TraceCheckUtils]: 7: Hoare triple {26129#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {26197#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} is VALID [2022-04-08 08:29:36,553 INFO L290 TraceCheckUtils]: 8: Hoare triple {26197#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} assume true; {26197#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} is VALID [2022-04-08 08:29:36,554 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {26197#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} {26129#true} #1248#return; {26195#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} is VALID [2022-04-08 08:29:36,554 INFO L290 TraceCheckUtils]: 10: Hoare triple {26195#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} #res := ~status~2; {26195#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} is VALID [2022-04-08 08:29:36,555 INFO L290 TraceCheckUtils]: 11: Hoare triple {26195#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} assume true; {26195#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} is VALID [2022-04-08 08:29:36,556 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {26195#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} #1234#return; {26174#(and (= 2 ~s~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 08:29:36,558 INFO L272 TraceCheckUtils]: 0: Hoare triple {26129#true} call ULTIMATE.init(); {26175#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:29:36,558 INFO L290 TraceCheckUtils]: 1: Hoare triple {26175#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {26129#true} is VALID [2022-04-08 08:29:36,558 INFO L290 TraceCheckUtils]: 2: Hoare triple {26129#true} assume true; {26129#true} is VALID [2022-04-08 08:29:36,558 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26129#true} {26129#true} #1270#return; {26129#true} is VALID [2022-04-08 08:29:36,558 INFO L272 TraceCheckUtils]: 4: Hoare triple {26129#true} call #t~ret213 := main(); {26129#true} is VALID [2022-04-08 08:29:36,558 INFO L290 TraceCheckUtils]: 5: Hoare triple {26129#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {26129#true} is VALID [2022-04-08 08:29:36,559 INFO L272 TraceCheckUtils]: 6: Hoare triple {26129#true} call _BLAST_init(); {26176#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:29:36,560 INFO L290 TraceCheckUtils]: 7: Hoare triple {26176#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {26177#(and (<= 7 ~IPC~0) (= (+ (- 2) ~DC~0) 0))} is VALID [2022-04-08 08:29:36,560 INFO L290 TraceCheckUtils]: 8: Hoare triple {26177#(and (<= 7 ~IPC~0) (= (+ (- 2) ~DC~0) 0))} assume true; {26177#(and (<= 7 ~IPC~0) (= (+ (- 2) ~DC~0) 0))} is VALID [2022-04-08 08:29:36,561 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {26177#(and (<= 7 ~IPC~0) (= (+ (- 2) ~DC~0) 0))} {26129#true} #1216#return; {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 08:29:36,562 INFO L272 TraceCheckUtils]: 10: Hoare triple {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {26178#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:29:36,562 INFO L290 TraceCheckUtils]: 11: Hoare triple {26178#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {26129#true} is VALID [2022-04-08 08:29:36,562 INFO L272 TraceCheckUtils]: 12: Hoare triple {26129#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {26129#true} is VALID [2022-04-08 08:29:36,562 INFO L290 TraceCheckUtils]: 13: Hoare triple {26129#true} ~cond := #in~cond; {26129#true} is VALID [2022-04-08 08:29:36,562 INFO L290 TraceCheckUtils]: 14: Hoare triple {26129#true} assume !(0 == ~cond); {26129#true} is VALID [2022-04-08 08:29:36,563 INFO L290 TraceCheckUtils]: 15: Hoare triple {26129#true} assume true; {26129#true} is VALID [2022-04-08 08:29:36,563 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {26129#true} {26129#true} #1254#return; {26129#true} is VALID [2022-04-08 08:29:36,563 INFO L290 TraceCheckUtils]: 17: Hoare triple {26129#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {26129#true} is VALID [2022-04-08 08:29:36,563 INFO L290 TraceCheckUtils]: 18: Hoare triple {26129#true} assume true; {26129#true} is VALID [2022-04-08 08:29:36,564 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {26129#true} {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} #1218#return; {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 08:29:36,564 INFO L290 TraceCheckUtils]: 20: Hoare triple {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 08:29:36,565 INFO L290 TraceCheckUtils]: 21: Hoare triple {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 08:29:36,565 INFO L290 TraceCheckUtils]: 22: Hoare triple {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 08:29:36,567 INFO L272 TraceCheckUtils]: 23: Hoare triple {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {26183#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:29:36,567 INFO L290 TraceCheckUtils]: 24: Hoare triple {26183#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {26129#true} is VALID [2022-04-08 08:29:36,568 INFO L272 TraceCheckUtils]: 25: Hoare triple {26129#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {26183#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:29:36,568 INFO L290 TraceCheckUtils]: 26: Hoare triple {26183#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {26129#true} is VALID [2022-04-08 08:29:36,568 INFO L290 TraceCheckUtils]: 27: Hoare triple {26129#true} assume !(0 == ~__BLAST_NONDET~5); {26129#true} is VALID [2022-04-08 08:29:36,568 INFO L290 TraceCheckUtils]: 28: Hoare triple {26129#true} #res := -1073741823; {26129#true} is VALID [2022-04-08 08:29:36,568 INFO L290 TraceCheckUtils]: 29: Hoare triple {26129#true} assume true; {26129#true} is VALID [2022-04-08 08:29:36,569 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {26129#true} {26129#true} #1176#return; {26129#true} is VALID [2022-04-08 08:29:36,569 INFO L290 TraceCheckUtils]: 31: Hoare triple {26129#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {26129#true} is VALID [2022-04-08 08:29:36,569 INFO L290 TraceCheckUtils]: 32: Hoare triple {26129#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {26129#true} is VALID [2022-04-08 08:29:36,569 INFO L290 TraceCheckUtils]: 33: Hoare triple {26129#true} assume true; {26129#true} is VALID [2022-04-08 08:29:36,570 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {26129#true} {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} #1220#return; {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 08:29:36,570 INFO L290 TraceCheckUtils]: 35: Hoare triple {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 08:29:36,571 INFO L272 TraceCheckUtils]: 36: Hoare triple {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} call stub_driver_init(); {26189#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:29:36,571 INFO L290 TraceCheckUtils]: 37: Hoare triple {26189#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {26129#true} is VALID [2022-04-08 08:29:36,571 INFO L290 TraceCheckUtils]: 38: Hoare triple {26129#true} assume true; {26129#true} is VALID [2022-04-08 08:29:36,572 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {26129#true} {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} #1222#return; {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 08:29:36,572 INFO L290 TraceCheckUtils]: 40: Hoare triple {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} assume !!(~status~5 >= 0); {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 08:29:36,573 INFO L290 TraceCheckUtils]: 41: Hoare triple {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} assume !(0 == ~__BLAST_NONDET~0); {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 08:29:36,573 INFO L290 TraceCheckUtils]: 42: Hoare triple {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} assume !(1 == ~__BLAST_NONDET~0); {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 08:29:36,573 INFO L290 TraceCheckUtils]: 43: Hoare triple {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} assume !(2 == ~__BLAST_NONDET~0); {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 08:29:36,574 INFO L290 TraceCheckUtils]: 44: Hoare triple {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} assume !(3 == ~__BLAST_NONDET~0); {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 08:29:36,574 INFO L290 TraceCheckUtils]: 45: Hoare triple {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} assume !(4 == ~__BLAST_NONDET~0); {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 08:29:36,575 INFO L290 TraceCheckUtils]: 46: Hoare triple {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} assume 8 == ~__BLAST_NONDET~0; {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 08:29:36,580 INFO L272 TraceCheckUtils]: 47: Hoare triple {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} call #t~ret176 := KbFilter_InternIoCtl(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {26190#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:29:36,580 INFO L290 TraceCheckUtils]: 48: Hoare triple {26190#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~irpStack~2.base, ~irpStack~2.offset;havoc ~devExt~2.base, ~devExt~2.offset;havoc ~hookKeyboard~0.base, ~hookKeyboard~0.offset;havoc ~connectData~0.base, ~connectData~0.offset;havoc ~status~2;havoc ~tmp~2;~status~2 := 0;call #t~mem51.base, #t~mem51.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~2.base, ~devExt~2.offset := #t~mem51.base, #t~mem51.offset;havoc #t~mem51.base, #t~mem51.offset;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4);call #t~mem52.base, #t~mem52.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~2.base, ~irpStack~2.offset := #t~mem52.base, #t~mem52.offset;havoc #t~mem52.base, #t~mem52.offset;call #t~mem53 := read~int(~irpStack~2.base, 12 + ~irpStack~2.offset, 4); {26129#true} is VALID [2022-04-08 08:29:36,580 INFO L290 TraceCheckUtils]: 49: Hoare triple {26129#true} assume #t~mem53 % 4294967296 == ~bitwiseOr(~bitwiseOr(720896, 512), 3) % 4294967296;havoc #t~mem53; {26129#true} is VALID [2022-04-08 08:29:36,580 INFO L290 TraceCheckUtils]: 50: Hoare triple {26129#true} call #t~mem62.base, #t~mem62.offset := read~$Pointer$(~devExt~2.base, 20 + ~devExt~2.offset, 4); {26129#true} is VALID [2022-04-08 08:29:36,580 INFO L290 TraceCheckUtils]: 51: Hoare triple {26129#true} assume 0 != (#t~mem62.base + #t~mem62.offset) % 4294967296;havoc #t~mem62.base, #t~mem62.offset;~status~2 := -1073741757; {26129#true} is VALID [2022-04-08 08:29:36,580 INFO L290 TraceCheckUtils]: 52: Hoare triple {26129#true} assume !(~status~2 >= 0);call write~int(~status~2, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~2; {26129#true} is VALID [2022-04-08 08:29:36,581 INFO L272 TraceCheckUtils]: 53: Hoare triple {26129#true} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {26196#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:29:36,581 INFO L290 TraceCheckUtils]: 54: Hoare triple {26196#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {26129#true} is VALID [2022-04-08 08:29:36,581 INFO L290 TraceCheckUtils]: 55: Hoare triple {26129#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {26197#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} is VALID [2022-04-08 08:29:36,582 INFO L290 TraceCheckUtils]: 56: Hoare triple {26197#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} assume true; {26197#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} is VALID [2022-04-08 08:29:36,583 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {26197#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} {26129#true} #1248#return; {26195#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} is VALID [2022-04-08 08:29:36,583 INFO L290 TraceCheckUtils]: 58: Hoare triple {26195#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} #res := ~status~2; {26195#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} is VALID [2022-04-08 08:29:36,584 INFO L290 TraceCheckUtils]: 59: Hoare triple {26195#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} assume true; {26195#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} is VALID [2022-04-08 08:29:36,585 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {26195#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} {26137#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} #1234#return; {26174#(and (= 2 ~s~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 08:29:36,586 INFO L290 TraceCheckUtils]: 61: Hoare triple {26174#(and (= 2 ~s~0) (not (= ~IPC~0 2)))} assume -2147483648 <= #t~ret176 && #t~ret176 <= 2147483647;~status~5 := #t~ret176;havoc #t~ret176; {26174#(and (= 2 ~s~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 08:29:36,586 INFO L290 TraceCheckUtils]: 62: Hoare triple {26174#(and (= 2 ~s~0) (not (= ~IPC~0 2)))} assume 0 != ~we_should_unload~0; {26174#(and (= 2 ~s~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 08:29:36,586 INFO L290 TraceCheckUtils]: 63: Hoare triple {26174#(and (= 2 ~s~0) (not (= ~IPC~0 2)))} assume !(1 == ~pended~0); {26174#(and (= 2 ~s~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 08:29:36,587 INFO L290 TraceCheckUtils]: 64: Hoare triple {26174#(and (= 2 ~s~0) (not (= ~IPC~0 2)))} assume !(1 == ~pended~0); {26174#(and (= 2 ~s~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 08:29:36,587 INFO L290 TraceCheckUtils]: 65: Hoare triple {26174#(and (= 2 ~s~0) (not (= ~IPC~0 2)))} assume !(~s~0 == ~UNLOADED~0); {26174#(and (= 2 ~s~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 08:29:36,588 INFO L290 TraceCheckUtils]: 66: Hoare triple {26174#(and (= 2 ~s~0) (not (= ~IPC~0 2)))} assume !(-1 == ~status~5); {26174#(and (= 2 ~s~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 08:29:36,588 INFO L290 TraceCheckUtils]: 67: Hoare triple {26174#(and (= 2 ~s~0) (not (= ~IPC~0 2)))} assume ~s~0 != ~SKIP2~0; {26174#(and (= 2 ~s~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 08:29:36,588 INFO L290 TraceCheckUtils]: 68: Hoare triple {26174#(and (= 2 ~s~0) (not (= ~IPC~0 2)))} assume !(~s~0 != ~IPC~0); {26130#false} is VALID [2022-04-08 08:29:36,588 INFO L290 TraceCheckUtils]: 69: Hoare triple {26130#false} assume 1 == ~pended~0; {26130#false} is VALID [2022-04-08 08:29:36,589 INFO L290 TraceCheckUtils]: 70: Hoare triple {26130#false} assume 259 != ~status~5; {26130#false} is VALID [2022-04-08 08:29:36,589 INFO L272 TraceCheckUtils]: 71: Hoare triple {26130#false} call errorFn(); {26130#false} is VALID [2022-04-08 08:29:36,589 INFO L290 TraceCheckUtils]: 72: Hoare triple {26130#false} assume !false; {26130#false} is VALID [2022-04-08 08:29:36,589 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 08:29:36,589 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:29:36,589 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [633025257] [2022-04-08 08:29:36,590 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [633025257] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:29:36,590 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:29:36,590 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 08:29:36,590 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:29:36,590 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1623374559] [2022-04-08 08:29:36,590 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1623374559] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:29:36,590 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:29:36,590 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 08:29:36,590 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [454788217] [2022-04-08 08:29:36,590 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:29:36,591 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 3.7857142857142856) internal successors, (53), 7 states have internal predecessors, (53), 3 states have call successors, (11), 9 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 2 states have call successors, (9) Word has length 73 [2022-04-08 08:29:36,591 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:29:36,591 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 3.7857142857142856) internal successors, (53), 7 states have internal predecessors, (53), 3 states have call successors, (11), 9 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:29:36,661 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:29:36,661 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 08:29:36,661 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:29:36,661 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 08:29:36,661 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=145, Unknown=0, NotChecked=0, Total=182 [2022-04-08 08:29:36,662 INFO L87 Difference]: Start difference. First operand 386 states and 511 transitions. Second operand has 14 states, 14 states have (on average 3.7857142857142856) internal successors, (53), 7 states have internal predecessors, (53), 3 states have call successors, (11), 9 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:29:40,313 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.40s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:29:42,333 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:29:44,355 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.02s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:29:46,375 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.02s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:29:48,397 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.02s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:29:50,416 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.02s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:29:52,432 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.02s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:29:54,449 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.02s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:30:06,585 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:30:06,586 INFO L93 Difference]: Finished difference Result 417 states and 549 transitions. [2022-04-08 08:30:06,586 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-08 08:30:06,586 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 3.7857142857142856) internal successors, (53), 7 states have internal predecessors, (53), 3 states have call successors, (11), 9 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 2 states have call successors, (9) Word has length 73 [2022-04-08 08:30:06,586 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:30:06,586 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 3.7857142857142856) internal successors, (53), 7 states have internal predecessors, (53), 3 states have call successors, (11), 9 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:30:06,588 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 456 transitions. [2022-04-08 08:30:06,588 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 3.7857142857142856) internal successors, (53), 7 states have internal predecessors, (53), 3 states have call successors, (11), 9 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:30:06,591 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 456 transitions. [2022-04-08 08:30:06,591 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 456 transitions. [2022-04-08 08:30:07,194 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 456 edges. 456 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:30:07,207 INFO L225 Difference]: With dead ends: 417 [2022-04-08 08:30:07,207 INFO L226 Difference]: Without dead ends: 409 [2022-04-08 08:30:07,208 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 142 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=197, Invalid=615, Unknown=0, NotChecked=0, Total=812 [2022-04-08 08:30:07,208 INFO L913 BasicCegarLoop]: 277 mSDtfsCounter, 1018 mSDsluCounter, 349 mSDsCounter, 0 mSdLazyCounter, 1586 mSolverCounterSat, 335 mSolverCounterUnsat, 7 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 20.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1030 SdHoareTripleChecker+Valid, 626 SdHoareTripleChecker+Invalid, 1928 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 335 IncrementalHoareTripleChecker+Valid, 1586 IncrementalHoareTripleChecker+Invalid, 7 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 20.4s IncrementalHoareTripleChecker+Time [2022-04-08 08:30:07,208 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [1030 Valid, 626 Invalid, 1928 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [335 Valid, 1586 Invalid, 7 Unknown, 0 Unchecked, 20.4s Time] [2022-04-08 08:30:07,209 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 409 states. [2022-04-08 08:30:07,609 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 409 to 387. [2022-04-08 08:30:07,610 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:30:07,610 INFO L82 GeneralOperation]: Start isEquivalent. First operand 409 states. Second operand has 387 states, 310 states have (on average 1.3741935483870968) internal successors, (426), 315 states have internal predecessors, (426), 42 states have call successors, (42), 32 states have call predecessors, (42), 34 states have return successors, (44), 39 states have call predecessors, (44), 36 states have call successors, (44) [2022-04-08 08:30:07,611 INFO L74 IsIncluded]: Start isIncluded. First operand 409 states. Second operand has 387 states, 310 states have (on average 1.3741935483870968) internal successors, (426), 315 states have internal predecessors, (426), 42 states have call successors, (42), 32 states have call predecessors, (42), 34 states have return successors, (44), 39 states have call predecessors, (44), 36 states have call successors, (44) [2022-04-08 08:30:07,611 INFO L87 Difference]: Start difference. First operand 409 states. Second operand has 387 states, 310 states have (on average 1.3741935483870968) internal successors, (426), 315 states have internal predecessors, (426), 42 states have call successors, (42), 32 states have call predecessors, (42), 34 states have return successors, (44), 39 states have call predecessors, (44), 36 states have call successors, (44) [2022-04-08 08:30:07,618 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:30:07,618 INFO L93 Difference]: Finished difference Result 409 states and 540 transitions. [2022-04-08 08:30:07,618 INFO L276 IsEmpty]: Start isEmpty. Operand 409 states and 540 transitions. [2022-04-08 08:30:07,619 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:30:07,619 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:30:07,620 INFO L74 IsIncluded]: Start isIncluded. First operand has 387 states, 310 states have (on average 1.3741935483870968) internal successors, (426), 315 states have internal predecessors, (426), 42 states have call successors, (42), 32 states have call predecessors, (42), 34 states have return successors, (44), 39 states have call predecessors, (44), 36 states have call successors, (44) Second operand 409 states. [2022-04-08 08:30:07,620 INFO L87 Difference]: Start difference. First operand has 387 states, 310 states have (on average 1.3741935483870968) internal successors, (426), 315 states have internal predecessors, (426), 42 states have call successors, (42), 32 states have call predecessors, (42), 34 states have return successors, (44), 39 states have call predecessors, (44), 36 states have call successors, (44) Second operand 409 states. [2022-04-08 08:30:07,627 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:30:07,627 INFO L93 Difference]: Finished difference Result 409 states and 540 transitions. [2022-04-08 08:30:07,627 INFO L276 IsEmpty]: Start isEmpty. Operand 409 states and 540 transitions. [2022-04-08 08:30:07,628 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:30:07,628 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:30:07,628 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:30:07,628 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:30:07,629 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 387 states, 310 states have (on average 1.3741935483870968) internal successors, (426), 315 states have internal predecessors, (426), 42 states have call successors, (42), 32 states have call predecessors, (42), 34 states have return successors, (44), 39 states have call predecessors, (44), 36 states have call successors, (44) [2022-04-08 08:30:07,637 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 387 states to 387 states and 512 transitions. [2022-04-08 08:30:07,637 INFO L78 Accepts]: Start accepts. Automaton has 387 states and 512 transitions. Word has length 73 [2022-04-08 08:30:07,637 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:30:07,637 INFO L478 AbstractCegarLoop]: Abstraction has 387 states and 512 transitions. [2022-04-08 08:30:07,637 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 3.7857142857142856) internal successors, (53), 7 states have internal predecessors, (53), 3 states have call successors, (11), 9 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:30:07,637 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 387 states and 512 transitions. [2022-04-08 08:30:08,469 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 512 edges. 512 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:30:08,470 INFO L276 IsEmpty]: Start isEmpty. Operand 387 states and 512 transitions. [2022-04-08 08:30:08,470 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-08 08:30:08,471 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:30:08,471 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:30:08,471 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2022-04-08 08:30:08,471 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:30:08,471 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:30:08,471 INFO L85 PathProgramCache]: Analyzing trace with hash 1821545128, now seen corresponding path program 1 times [2022-04-08 08:30:08,471 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:30:08,471 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [697224453] [2022-04-08 08:30:08,471 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 08:30:08,472 INFO L85 PathProgramCache]: Analyzing trace with hash 1821545128, now seen corresponding path program 2 times [2022-04-08 08:30:08,472 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:30:08,472 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [749659994] [2022-04-08 08:30:08,472 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:30:08,472 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:30:08,541 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:08,626 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:30:08,628 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:08,633 INFO L290 TraceCheckUtils]: 0: Hoare triple {28707#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {28662#true} is VALID [2022-04-08 08:30:08,633 INFO L290 TraceCheckUtils]: 1: Hoare triple {28662#true} assume true; {28662#true} is VALID [2022-04-08 08:30:08,633 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {28662#true} {28662#true} #1270#return; {28662#true} is VALID [2022-04-08 08:30:08,652 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:30:08,653 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:08,660 INFO L290 TraceCheckUtils]: 0: Hoare triple {28708#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {28662#true} is VALID [2022-04-08 08:30:08,661 INFO L290 TraceCheckUtils]: 1: Hoare triple {28662#true} assume true; {28662#true} is VALID [2022-04-08 08:30:08,661 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {28662#true} {28662#true} #1216#return; {28662#true} is VALID [2022-04-08 08:30:08,667 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:30:08,672 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:08,679 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:30:08,680 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:08,684 INFO L290 TraceCheckUtils]: 0: Hoare triple {28662#true} ~cond := #in~cond; {28662#true} is VALID [2022-04-08 08:30:08,684 INFO L290 TraceCheckUtils]: 1: Hoare triple {28662#true} assume !(0 == ~cond); {28662#true} is VALID [2022-04-08 08:30:08,684 INFO L290 TraceCheckUtils]: 2: Hoare triple {28662#true} assume true; {28662#true} is VALID [2022-04-08 08:30:08,684 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28662#true} {28662#true} #1254#return; {28662#true} is VALID [2022-04-08 08:30:08,684 INFO L290 TraceCheckUtils]: 0: Hoare triple {28709#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {28662#true} is VALID [2022-04-08 08:30:08,685 INFO L272 TraceCheckUtils]: 1: Hoare triple {28662#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {28662#true} is VALID [2022-04-08 08:30:08,685 INFO L290 TraceCheckUtils]: 2: Hoare triple {28662#true} ~cond := #in~cond; {28662#true} is VALID [2022-04-08 08:30:08,685 INFO L290 TraceCheckUtils]: 3: Hoare triple {28662#true} assume !(0 == ~cond); {28662#true} is VALID [2022-04-08 08:30:08,685 INFO L290 TraceCheckUtils]: 4: Hoare triple {28662#true} assume true; {28662#true} is VALID [2022-04-08 08:30:08,685 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {28662#true} {28662#true} #1254#return; {28662#true} is VALID [2022-04-08 08:30:08,685 INFO L290 TraceCheckUtils]: 6: Hoare triple {28662#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {28662#true} is VALID [2022-04-08 08:30:08,685 INFO L290 TraceCheckUtils]: 7: Hoare triple {28662#true} assume true; {28662#true} is VALID [2022-04-08 08:30:08,685 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {28662#true} {28662#true} #1218#return; {28662#true} is VALID [2022-04-08 08:30:08,693 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:30:08,696 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:08,701 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:30:08,703 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:08,709 INFO L290 TraceCheckUtils]: 0: Hoare triple {28714#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {28662#true} is VALID [2022-04-08 08:30:08,709 INFO L290 TraceCheckUtils]: 1: Hoare triple {28662#true} assume !(0 == ~__BLAST_NONDET~5); {28662#true} is VALID [2022-04-08 08:30:08,710 INFO L290 TraceCheckUtils]: 2: Hoare triple {28662#true} #res := -1073741823; {28662#true} is VALID [2022-04-08 08:30:08,710 INFO L290 TraceCheckUtils]: 3: Hoare triple {28662#true} assume true; {28662#true} is VALID [2022-04-08 08:30:08,710 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {28662#true} {28662#true} #1176#return; {28662#true} is VALID [2022-04-08 08:30:08,710 INFO L290 TraceCheckUtils]: 0: Hoare triple {28714#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {28662#true} is VALID [2022-04-08 08:30:08,711 INFO L272 TraceCheckUtils]: 1: Hoare triple {28662#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {28714#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:30:08,711 INFO L290 TraceCheckUtils]: 2: Hoare triple {28714#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {28662#true} is VALID [2022-04-08 08:30:08,711 INFO L290 TraceCheckUtils]: 3: Hoare triple {28662#true} assume !(0 == ~__BLAST_NONDET~5); {28662#true} is VALID [2022-04-08 08:30:08,711 INFO L290 TraceCheckUtils]: 4: Hoare triple {28662#true} #res := -1073741823; {28662#true} is VALID [2022-04-08 08:30:08,711 INFO L290 TraceCheckUtils]: 5: Hoare triple {28662#true} assume true; {28662#true} is VALID [2022-04-08 08:30:08,711 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {28662#true} {28662#true} #1176#return; {28662#true} is VALID [2022-04-08 08:30:08,711 INFO L290 TraceCheckUtils]: 7: Hoare triple {28662#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {28662#true} is VALID [2022-04-08 08:30:08,711 INFO L290 TraceCheckUtils]: 8: Hoare triple {28662#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {28662#true} is VALID [2022-04-08 08:30:08,711 INFO L290 TraceCheckUtils]: 9: Hoare triple {28662#true} assume true; {28662#true} is VALID [2022-04-08 08:30:08,711 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {28662#true} {28662#true} #1220#return; {28662#true} is VALID [2022-04-08 08:30:08,723 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 08:30:08,725 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:08,730 INFO L290 TraceCheckUtils]: 0: Hoare triple {28720#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {28662#true} is VALID [2022-04-08 08:30:08,731 INFO L290 TraceCheckUtils]: 1: Hoare triple {28662#true} assume true; {28662#true} is VALID [2022-04-08 08:30:08,731 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {28662#true} {28662#true} #1222#return; {28662#true} is VALID [2022-04-08 08:30:08,742 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 47 [2022-04-08 08:30:08,745 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:08,757 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-04-08 08:30:08,758 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:08,762 INFO L290 TraceCheckUtils]: 0: Hoare triple {28726#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {28662#true} is VALID [2022-04-08 08:30:08,762 INFO L290 TraceCheckUtils]: 1: Hoare triple {28662#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {28662#true} is VALID [2022-04-08 08:30:08,763 INFO L290 TraceCheckUtils]: 2: Hoare triple {28662#true} assume true; {28662#true} is VALID [2022-04-08 08:30:08,763 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28662#true} {28662#true} #1248#return; {28662#true} is VALID [2022-04-08 08:30:08,763 INFO L290 TraceCheckUtils]: 0: Hoare triple {28721#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~irpStack~2.base, ~irpStack~2.offset;havoc ~devExt~2.base, ~devExt~2.offset;havoc ~hookKeyboard~0.base, ~hookKeyboard~0.offset;havoc ~connectData~0.base, ~connectData~0.offset;havoc ~status~2;havoc ~tmp~2;~status~2 := 0;call #t~mem51.base, #t~mem51.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~2.base, ~devExt~2.offset := #t~mem51.base, #t~mem51.offset;havoc #t~mem51.base, #t~mem51.offset;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4);call #t~mem52.base, #t~mem52.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~2.base, ~irpStack~2.offset := #t~mem52.base, #t~mem52.offset;havoc #t~mem52.base, #t~mem52.offset;call #t~mem53 := read~int(~irpStack~2.base, 12 + ~irpStack~2.offset, 4); {28662#true} is VALID [2022-04-08 08:30:08,763 INFO L290 TraceCheckUtils]: 1: Hoare triple {28662#true} assume #t~mem53 % 4294967296 == ~bitwiseOr(~bitwiseOr(720896, 512), 3) % 4294967296;havoc #t~mem53; {28662#true} is VALID [2022-04-08 08:30:08,763 INFO L290 TraceCheckUtils]: 2: Hoare triple {28662#true} call #t~mem62.base, #t~mem62.offset := read~$Pointer$(~devExt~2.base, 20 + ~devExt~2.offset, 4); {28662#true} is VALID [2022-04-08 08:30:08,763 INFO L290 TraceCheckUtils]: 3: Hoare triple {28662#true} assume 0 != (#t~mem62.base + #t~mem62.offset) % 4294967296;havoc #t~mem62.base, #t~mem62.offset;~status~2 := -1073741757; {28662#true} is VALID [2022-04-08 08:30:08,763 INFO L290 TraceCheckUtils]: 4: Hoare triple {28662#true} assume !(~status~2 >= 0);call write~int(~status~2, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~2; {28662#true} is VALID [2022-04-08 08:30:08,763 INFO L272 TraceCheckUtils]: 5: Hoare triple {28662#true} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {28726#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:30:08,764 INFO L290 TraceCheckUtils]: 6: Hoare triple {28726#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {28662#true} is VALID [2022-04-08 08:30:08,764 INFO L290 TraceCheckUtils]: 7: Hoare triple {28662#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {28662#true} is VALID [2022-04-08 08:30:08,764 INFO L290 TraceCheckUtils]: 8: Hoare triple {28662#true} assume true; {28662#true} is VALID [2022-04-08 08:30:08,764 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {28662#true} {28662#true} #1248#return; {28662#true} is VALID [2022-04-08 08:30:08,764 INFO L290 TraceCheckUtils]: 10: Hoare triple {28662#true} #res := ~status~2; {28662#true} is VALID [2022-04-08 08:30:08,764 INFO L290 TraceCheckUtils]: 11: Hoare triple {28662#true} assume true; {28662#true} is VALID [2022-04-08 08:30:08,764 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {28662#true} {28662#true} #1234#return; {28662#true} is VALID [2022-04-08 08:30:08,765 INFO L272 TraceCheckUtils]: 0: Hoare triple {28662#true} call ULTIMATE.init(); {28707#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:30:08,765 INFO L290 TraceCheckUtils]: 1: Hoare triple {28707#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {28662#true} is VALID [2022-04-08 08:30:08,765 INFO L290 TraceCheckUtils]: 2: Hoare triple {28662#true} assume true; {28662#true} is VALID [2022-04-08 08:30:08,765 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28662#true} {28662#true} #1270#return; {28662#true} is VALID [2022-04-08 08:30:08,765 INFO L272 TraceCheckUtils]: 4: Hoare triple {28662#true} call #t~ret213 := main(); {28662#true} is VALID [2022-04-08 08:30:08,765 INFO L290 TraceCheckUtils]: 5: Hoare triple {28662#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {28662#true} is VALID [2022-04-08 08:30:08,766 INFO L272 TraceCheckUtils]: 6: Hoare triple {28662#true} call _BLAST_init(); {28708#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:30:08,766 INFO L290 TraceCheckUtils]: 7: Hoare triple {28708#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {28662#true} is VALID [2022-04-08 08:30:08,766 INFO L290 TraceCheckUtils]: 8: Hoare triple {28662#true} assume true; {28662#true} is VALID [2022-04-08 08:30:08,766 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {28662#true} {28662#true} #1216#return; {28662#true} is VALID [2022-04-08 08:30:08,767 INFO L272 TraceCheckUtils]: 10: Hoare triple {28662#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {28709#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:30:08,767 INFO L290 TraceCheckUtils]: 11: Hoare triple {28709#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {28662#true} is VALID [2022-04-08 08:30:08,767 INFO L272 TraceCheckUtils]: 12: Hoare triple {28662#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {28662#true} is VALID [2022-04-08 08:30:08,767 INFO L290 TraceCheckUtils]: 13: Hoare triple {28662#true} ~cond := #in~cond; {28662#true} is VALID [2022-04-08 08:30:08,767 INFO L290 TraceCheckUtils]: 14: Hoare triple {28662#true} assume !(0 == ~cond); {28662#true} is VALID [2022-04-08 08:30:08,767 INFO L290 TraceCheckUtils]: 15: Hoare triple {28662#true} assume true; {28662#true} is VALID [2022-04-08 08:30:08,767 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {28662#true} {28662#true} #1254#return; {28662#true} is VALID [2022-04-08 08:30:08,767 INFO L290 TraceCheckUtils]: 17: Hoare triple {28662#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {28662#true} is VALID [2022-04-08 08:30:08,767 INFO L290 TraceCheckUtils]: 18: Hoare triple {28662#true} assume true; {28662#true} is VALID [2022-04-08 08:30:08,767 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {28662#true} {28662#true} #1218#return; {28662#true} is VALID [2022-04-08 08:30:08,767 INFO L290 TraceCheckUtils]: 20: Hoare triple {28662#true} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {28662#true} is VALID [2022-04-08 08:30:08,767 INFO L290 TraceCheckUtils]: 21: Hoare triple {28662#true} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {28662#true} is VALID [2022-04-08 08:30:08,768 INFO L290 TraceCheckUtils]: 22: Hoare triple {28662#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {28662#true} is VALID [2022-04-08 08:30:08,768 INFO L272 TraceCheckUtils]: 23: Hoare triple {28662#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {28714#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:30:08,768 INFO L290 TraceCheckUtils]: 24: Hoare triple {28714#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {28662#true} is VALID [2022-04-08 08:30:08,769 INFO L272 TraceCheckUtils]: 25: Hoare triple {28662#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {28714#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:30:08,769 INFO L290 TraceCheckUtils]: 26: Hoare triple {28714#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {28662#true} is VALID [2022-04-08 08:30:08,769 INFO L290 TraceCheckUtils]: 27: Hoare triple {28662#true} assume !(0 == ~__BLAST_NONDET~5); {28662#true} is VALID [2022-04-08 08:30:08,769 INFO L290 TraceCheckUtils]: 28: Hoare triple {28662#true} #res := -1073741823; {28662#true} is VALID [2022-04-08 08:30:08,770 INFO L290 TraceCheckUtils]: 29: Hoare triple {28662#true} assume true; {28662#true} is VALID [2022-04-08 08:30:08,770 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {28662#true} {28662#true} #1176#return; {28662#true} is VALID [2022-04-08 08:30:08,770 INFO L290 TraceCheckUtils]: 31: Hoare triple {28662#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {28662#true} is VALID [2022-04-08 08:30:08,770 INFO L290 TraceCheckUtils]: 32: Hoare triple {28662#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {28662#true} is VALID [2022-04-08 08:30:08,770 INFO L290 TraceCheckUtils]: 33: Hoare triple {28662#true} assume true; {28662#true} is VALID [2022-04-08 08:30:08,770 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {28662#true} {28662#true} #1220#return; {28662#true} is VALID [2022-04-08 08:30:08,770 INFO L290 TraceCheckUtils]: 35: Hoare triple {28662#true} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {28662#true} is VALID [2022-04-08 08:30:08,770 INFO L272 TraceCheckUtils]: 36: Hoare triple {28662#true} call stub_driver_init(); {28720#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:30:08,770 INFO L290 TraceCheckUtils]: 37: Hoare triple {28720#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {28662#true} is VALID [2022-04-08 08:30:08,771 INFO L290 TraceCheckUtils]: 38: Hoare triple {28662#true} assume true; {28662#true} is VALID [2022-04-08 08:30:08,771 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {28662#true} {28662#true} #1222#return; {28662#true} is VALID [2022-04-08 08:30:08,771 INFO L290 TraceCheckUtils]: 40: Hoare triple {28662#true} assume !!(~status~5 >= 0); {28662#true} is VALID [2022-04-08 08:30:08,771 INFO L290 TraceCheckUtils]: 41: Hoare triple {28662#true} assume !(0 == ~__BLAST_NONDET~0); {28662#true} is VALID [2022-04-08 08:30:08,771 INFO L290 TraceCheckUtils]: 42: Hoare triple {28662#true} assume !(1 == ~__BLAST_NONDET~0); {28662#true} is VALID [2022-04-08 08:30:08,771 INFO L290 TraceCheckUtils]: 43: Hoare triple {28662#true} assume !(2 == ~__BLAST_NONDET~0); {28662#true} is VALID [2022-04-08 08:30:08,771 INFO L290 TraceCheckUtils]: 44: Hoare triple {28662#true} assume !(3 == ~__BLAST_NONDET~0); {28662#true} is VALID [2022-04-08 08:30:08,771 INFO L290 TraceCheckUtils]: 45: Hoare triple {28662#true} assume !(4 == ~__BLAST_NONDET~0); {28662#true} is VALID [2022-04-08 08:30:08,771 INFO L290 TraceCheckUtils]: 46: Hoare triple {28662#true} assume 8 == ~__BLAST_NONDET~0; {28662#true} is VALID [2022-04-08 08:30:08,772 INFO L272 TraceCheckUtils]: 47: Hoare triple {28662#true} call #t~ret176 := KbFilter_InternIoCtl(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {28721#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:30:08,772 INFO L290 TraceCheckUtils]: 48: Hoare triple {28721#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~irpStack~2.base, ~irpStack~2.offset;havoc ~devExt~2.base, ~devExt~2.offset;havoc ~hookKeyboard~0.base, ~hookKeyboard~0.offset;havoc ~connectData~0.base, ~connectData~0.offset;havoc ~status~2;havoc ~tmp~2;~status~2 := 0;call #t~mem51.base, #t~mem51.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~2.base, ~devExt~2.offset := #t~mem51.base, #t~mem51.offset;havoc #t~mem51.base, #t~mem51.offset;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4);call #t~mem52.base, #t~mem52.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~2.base, ~irpStack~2.offset := #t~mem52.base, #t~mem52.offset;havoc #t~mem52.base, #t~mem52.offset;call #t~mem53 := read~int(~irpStack~2.base, 12 + ~irpStack~2.offset, 4); {28662#true} is VALID [2022-04-08 08:30:08,772 INFO L290 TraceCheckUtils]: 49: Hoare triple {28662#true} assume #t~mem53 % 4294967296 == ~bitwiseOr(~bitwiseOr(720896, 512), 3) % 4294967296;havoc #t~mem53; {28662#true} is VALID [2022-04-08 08:30:08,772 INFO L290 TraceCheckUtils]: 50: Hoare triple {28662#true} call #t~mem62.base, #t~mem62.offset := read~$Pointer$(~devExt~2.base, 20 + ~devExt~2.offset, 4); {28662#true} is VALID [2022-04-08 08:30:08,772 INFO L290 TraceCheckUtils]: 51: Hoare triple {28662#true} assume 0 != (#t~mem62.base + #t~mem62.offset) % 4294967296;havoc #t~mem62.base, #t~mem62.offset;~status~2 := -1073741757; {28662#true} is VALID [2022-04-08 08:30:08,772 INFO L290 TraceCheckUtils]: 52: Hoare triple {28662#true} assume !(~status~2 >= 0);call write~int(~status~2, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~2; {28662#true} is VALID [2022-04-08 08:30:08,773 INFO L272 TraceCheckUtils]: 53: Hoare triple {28662#true} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {28726#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:30:08,773 INFO L290 TraceCheckUtils]: 54: Hoare triple {28726#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {28662#true} is VALID [2022-04-08 08:30:08,773 INFO L290 TraceCheckUtils]: 55: Hoare triple {28662#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {28662#true} is VALID [2022-04-08 08:30:08,773 INFO L290 TraceCheckUtils]: 56: Hoare triple {28662#true} assume true; {28662#true} is VALID [2022-04-08 08:30:08,773 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {28662#true} {28662#true} #1248#return; {28662#true} is VALID [2022-04-08 08:30:08,773 INFO L290 TraceCheckUtils]: 58: Hoare triple {28662#true} #res := ~status~2; {28662#true} is VALID [2022-04-08 08:30:08,773 INFO L290 TraceCheckUtils]: 59: Hoare triple {28662#true} assume true; {28662#true} is VALID [2022-04-08 08:30:08,773 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {28662#true} {28662#true} #1234#return; {28662#true} is VALID [2022-04-08 08:30:08,773 INFO L290 TraceCheckUtils]: 61: Hoare triple {28662#true} assume -2147483648 <= #t~ret176 && #t~ret176 <= 2147483647;~status~5 := #t~ret176;havoc #t~ret176; {28662#true} is VALID [2022-04-08 08:30:08,773 INFO L290 TraceCheckUtils]: 62: Hoare triple {28662#true} assume 0 != ~we_should_unload~0; {28662#true} is VALID [2022-04-08 08:30:08,773 INFO L290 TraceCheckUtils]: 63: Hoare triple {28662#true} assume !(1 == ~pended~0); {28706#(not (= ~pended~0 1))} is VALID [2022-04-08 08:30:08,774 INFO L290 TraceCheckUtils]: 64: Hoare triple {28706#(not (= ~pended~0 1))} assume !(1 == ~pended~0); {28706#(not (= ~pended~0 1))} is VALID [2022-04-08 08:30:08,774 INFO L290 TraceCheckUtils]: 65: Hoare triple {28706#(not (= ~pended~0 1))} assume !(~s~0 == ~UNLOADED~0); {28706#(not (= ~pended~0 1))} is VALID [2022-04-08 08:30:08,774 INFO L290 TraceCheckUtils]: 66: Hoare triple {28706#(not (= ~pended~0 1))} assume !(-1 == ~status~5); {28706#(not (= ~pended~0 1))} is VALID [2022-04-08 08:30:08,774 INFO L290 TraceCheckUtils]: 67: Hoare triple {28706#(not (= ~pended~0 1))} assume ~s~0 != ~SKIP2~0; {28706#(not (= ~pended~0 1))} is VALID [2022-04-08 08:30:08,774 INFO L290 TraceCheckUtils]: 68: Hoare triple {28706#(not (= ~pended~0 1))} assume ~s~0 != ~IPC~0; {28706#(not (= ~pended~0 1))} is VALID [2022-04-08 08:30:08,775 INFO L290 TraceCheckUtils]: 69: Hoare triple {28706#(not (= ~pended~0 1))} assume !(~s~0 != ~DC~0); {28706#(not (= ~pended~0 1))} is VALID [2022-04-08 08:30:08,775 INFO L290 TraceCheckUtils]: 70: Hoare triple {28706#(not (= ~pended~0 1))} assume 1 == ~pended~0; {28663#false} is VALID [2022-04-08 08:30:08,775 INFO L290 TraceCheckUtils]: 71: Hoare triple {28663#false} assume 259 != ~status~5; {28663#false} is VALID [2022-04-08 08:30:08,775 INFO L272 TraceCheckUtils]: 72: Hoare triple {28663#false} call errorFn(); {28663#false} is VALID [2022-04-08 08:30:08,775 INFO L290 TraceCheckUtils]: 73: Hoare triple {28663#false} assume !false; {28663#false} is VALID [2022-04-08 08:30:08,775 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 08:30:08,775 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:30:08,775 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [749659994] [2022-04-08 08:30:08,776 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [749659994] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:30:08,776 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:30:08,776 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 08:30:08,776 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:30:08,776 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [697224453] [2022-04-08 08:30:08,776 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [697224453] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:30:08,776 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:30:08,776 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 08:30:08,776 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [210924505] [2022-04-08 08:30:08,776 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:30:08,776 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 5.4) internal successors, (54), 3 states have internal predecessors, (54), 2 states have call successors, (11), 9 states have call predecessors, (11), 1 states have return successors, (9), 1 states have call predecessors, (9), 1 states have call successors, (9) Word has length 74 [2022-04-08 08:30:08,778 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:30:08,778 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 5.4) internal successors, (54), 3 states have internal predecessors, (54), 2 states have call successors, (11), 9 states have call predecessors, (11), 1 states have return successors, (9), 1 states have call predecessors, (9), 1 states have call successors, (9) [2022-04-08 08:30:08,829 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:30:08,829 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 08:30:08,829 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:30:08,830 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 08:30:08,830 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=64, Unknown=0, NotChecked=0, Total=90 [2022-04-08 08:30:08,830 INFO L87 Difference]: Start difference. First operand 387 states and 512 transitions. Second operand has 10 states, 10 states have (on average 5.4) internal successors, (54), 3 states have internal predecessors, (54), 2 states have call successors, (11), 9 states have call predecessors, (11), 1 states have return successors, (9), 1 states have call predecessors, (9), 1 states have call successors, (9) [2022-04-08 08:30:10,984 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:30:19,028 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:30:19,029 INFO L93 Difference]: Finished difference Result 419 states and 554 transitions. [2022-04-08 08:30:19,029 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 08:30:19,029 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 5.4) internal successors, (54), 3 states have internal predecessors, (54), 2 states have call successors, (11), 9 states have call predecessors, (11), 1 states have return successors, (9), 1 states have call predecessors, (9), 1 states have call successors, (9) Word has length 74 [2022-04-08 08:30:19,029 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:30:19,029 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 5.4) internal successors, (54), 3 states have internal predecessors, (54), 2 states have call successors, (11), 9 states have call predecessors, (11), 1 states have return successors, (9), 1 states have call predecessors, (9), 1 states have call successors, (9) [2022-04-08 08:30:19,034 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 436 transitions. [2022-04-08 08:30:19,034 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 5.4) internal successors, (54), 3 states have internal predecessors, (54), 2 states have call successors, (11), 9 states have call predecessors, (11), 1 states have return successors, (9), 1 states have call predecessors, (9), 1 states have call successors, (9) [2022-04-08 08:30:19,036 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 436 transitions. [2022-04-08 08:30:19,036 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 436 transitions. [2022-04-08 08:30:19,584 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 436 edges. 436 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:30:19,597 INFO L225 Difference]: With dead ends: 419 [2022-04-08 08:30:19,598 INFO L226 Difference]: Without dead ends: 396 [2022-04-08 08:30:19,598 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 47 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=105, Invalid=237, Unknown=0, NotChecked=0, Total=342 [2022-04-08 08:30:19,599 INFO L913 BasicCegarLoop]: 271 mSDtfsCounter, 934 mSDsluCounter, 228 mSDsCounter, 0 mSdLazyCounter, 783 mSolverCounterSat, 308 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 944 SdHoareTripleChecker+Valid, 499 SdHoareTripleChecker+Invalid, 1092 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 308 IncrementalHoareTripleChecker+Valid, 783 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.5s IncrementalHoareTripleChecker+Time [2022-04-08 08:30:19,599 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [944 Valid, 499 Invalid, 1092 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [308 Valid, 783 Invalid, 1 Unknown, 0 Unchecked, 5.5s Time] [2022-04-08 08:30:19,600 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 396 states. [2022-04-08 08:30:20,020 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 396 to 381. [2022-04-08 08:30:20,020 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:30:20,021 INFO L82 GeneralOperation]: Start isEquivalent. First operand 396 states. Second operand has 381 states, 305 states have (on average 1.3639344262295081) internal successors, (416), 309 states have internal predecessors, (416), 41 states have call successors, (41), 32 states have call predecessors, (41), 34 states have return successors, (44), 39 states have call predecessors, (44), 36 states have call successors, (44) [2022-04-08 08:30:20,021 INFO L74 IsIncluded]: Start isIncluded. First operand 396 states. Second operand has 381 states, 305 states have (on average 1.3639344262295081) internal successors, (416), 309 states have internal predecessors, (416), 41 states have call successors, (41), 32 states have call predecessors, (41), 34 states have return successors, (44), 39 states have call predecessors, (44), 36 states have call successors, (44) [2022-04-08 08:30:20,022 INFO L87 Difference]: Start difference. First operand 396 states. Second operand has 381 states, 305 states have (on average 1.3639344262295081) internal successors, (416), 309 states have internal predecessors, (416), 41 states have call successors, (41), 32 states have call predecessors, (41), 34 states have return successors, (44), 39 states have call predecessors, (44), 36 states have call successors, (44) [2022-04-08 08:30:20,029 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:30:20,029 INFO L93 Difference]: Finished difference Result 396 states and 522 transitions. [2022-04-08 08:30:20,029 INFO L276 IsEmpty]: Start isEmpty. Operand 396 states and 522 transitions. [2022-04-08 08:30:20,029 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:30:20,029 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:30:20,030 INFO L74 IsIncluded]: Start isIncluded. First operand has 381 states, 305 states have (on average 1.3639344262295081) internal successors, (416), 309 states have internal predecessors, (416), 41 states have call successors, (41), 32 states have call predecessors, (41), 34 states have return successors, (44), 39 states have call predecessors, (44), 36 states have call successors, (44) Second operand 396 states. [2022-04-08 08:30:20,030 INFO L87 Difference]: Start difference. First operand has 381 states, 305 states have (on average 1.3639344262295081) internal successors, (416), 309 states have internal predecessors, (416), 41 states have call successors, (41), 32 states have call predecessors, (41), 34 states have return successors, (44), 39 states have call predecessors, (44), 36 states have call successors, (44) Second operand 396 states. [2022-04-08 08:30:20,038 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:30:20,038 INFO L93 Difference]: Finished difference Result 396 states and 522 transitions. [2022-04-08 08:30:20,038 INFO L276 IsEmpty]: Start isEmpty. Operand 396 states and 522 transitions. [2022-04-08 08:30:20,039 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:30:20,039 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:30:20,039 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:30:20,039 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:30:20,040 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 381 states, 305 states have (on average 1.3639344262295081) internal successors, (416), 309 states have internal predecessors, (416), 41 states have call successors, (41), 32 states have call predecessors, (41), 34 states have return successors, (44), 39 states have call predecessors, (44), 36 states have call successors, (44) [2022-04-08 08:30:20,047 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 381 states to 381 states and 501 transitions. [2022-04-08 08:30:20,047 INFO L78 Accepts]: Start accepts. Automaton has 381 states and 501 transitions. Word has length 74 [2022-04-08 08:30:20,048 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:30:20,048 INFO L478 AbstractCegarLoop]: Abstraction has 381 states and 501 transitions. [2022-04-08 08:30:20,048 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 5.4) internal successors, (54), 3 states have internal predecessors, (54), 2 states have call successors, (11), 9 states have call predecessors, (11), 1 states have return successors, (9), 1 states have call predecessors, (9), 1 states have call successors, (9) [2022-04-08 08:30:20,048 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 381 states and 501 transitions. [2022-04-08 08:30:20,899 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 501 edges. 501 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:30:20,899 INFO L276 IsEmpty]: Start isEmpty. Operand 381 states and 501 transitions. [2022-04-08 08:30:20,900 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2022-04-08 08:30:20,900 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:30:20,900 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:30:20,900 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11 [2022-04-08 08:30:20,901 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:30:20,901 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:30:20,901 INFO L85 PathProgramCache]: Analyzing trace with hash 937494245, now seen corresponding path program 1 times [2022-04-08 08:30:20,901 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:30:20,901 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2021438041] [2022-04-08 08:30:20,901 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 08:30:20,901 INFO L85 PathProgramCache]: Analyzing trace with hash 937494245, now seen corresponding path program 2 times [2022-04-08 08:30:20,901 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:30:20,901 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [813926513] [2022-04-08 08:30:20,901 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:30:20,902 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:30:20,957 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:21,026 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:30:21,028 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:21,035 INFO L290 TraceCheckUtils]: 0: Hoare triple {31189#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {31144#true} is VALID [2022-04-08 08:30:21,035 INFO L290 TraceCheckUtils]: 1: Hoare triple {31144#true} assume true; {31144#true} is VALID [2022-04-08 08:30:21,036 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {31144#true} {31144#true} #1270#return; {31144#true} is VALID [2022-04-08 08:30:21,055 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:30:21,056 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:21,061 INFO L290 TraceCheckUtils]: 0: Hoare triple {31190#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {31144#true} is VALID [2022-04-08 08:30:21,061 INFO L290 TraceCheckUtils]: 1: Hoare triple {31144#true} assume true; {31144#true} is VALID [2022-04-08 08:30:21,061 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {31144#true} {31144#true} #1216#return; {31144#true} is VALID [2022-04-08 08:30:21,067 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:30:21,073 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:21,081 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:30:21,082 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:21,087 INFO L290 TraceCheckUtils]: 0: Hoare triple {31144#true} ~cond := #in~cond; {31144#true} is VALID [2022-04-08 08:30:21,087 INFO L290 TraceCheckUtils]: 1: Hoare triple {31144#true} assume !(0 == ~cond); {31144#true} is VALID [2022-04-08 08:30:21,087 INFO L290 TraceCheckUtils]: 2: Hoare triple {31144#true} assume true; {31144#true} is VALID [2022-04-08 08:30:21,087 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31144#true} {31144#true} #1254#return; {31144#true} is VALID [2022-04-08 08:30:21,087 INFO L290 TraceCheckUtils]: 0: Hoare triple {31191#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {31144#true} is VALID [2022-04-08 08:30:21,087 INFO L272 TraceCheckUtils]: 1: Hoare triple {31144#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {31144#true} is VALID [2022-04-08 08:30:21,088 INFO L290 TraceCheckUtils]: 2: Hoare triple {31144#true} ~cond := #in~cond; {31144#true} is VALID [2022-04-08 08:30:21,088 INFO L290 TraceCheckUtils]: 3: Hoare triple {31144#true} assume !(0 == ~cond); {31144#true} is VALID [2022-04-08 08:30:21,088 INFO L290 TraceCheckUtils]: 4: Hoare triple {31144#true} assume true; {31144#true} is VALID [2022-04-08 08:30:21,088 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {31144#true} {31144#true} #1254#return; {31144#true} is VALID [2022-04-08 08:30:21,088 INFO L290 TraceCheckUtils]: 6: Hoare triple {31144#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {31144#true} is VALID [2022-04-08 08:30:21,088 INFO L290 TraceCheckUtils]: 7: Hoare triple {31144#true} assume true; {31144#true} is VALID [2022-04-08 08:30:21,088 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {31144#true} {31144#true} #1218#return; {31144#true} is VALID [2022-04-08 08:30:21,096 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:30:21,099 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:21,105 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:30:21,106 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:21,113 INFO L290 TraceCheckUtils]: 0: Hoare triple {31196#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {31144#true} is VALID [2022-04-08 08:30:21,113 INFO L290 TraceCheckUtils]: 1: Hoare triple {31144#true} assume !(0 == ~__BLAST_NONDET~5); {31144#true} is VALID [2022-04-08 08:30:21,114 INFO L290 TraceCheckUtils]: 2: Hoare triple {31144#true} #res := -1073741823; {31144#true} is VALID [2022-04-08 08:30:21,114 INFO L290 TraceCheckUtils]: 3: Hoare triple {31144#true} assume true; {31144#true} is VALID [2022-04-08 08:30:21,114 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {31144#true} {31144#true} #1176#return; {31144#true} is VALID [2022-04-08 08:30:21,114 INFO L290 TraceCheckUtils]: 0: Hoare triple {31196#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {31144#true} is VALID [2022-04-08 08:30:21,115 INFO L272 TraceCheckUtils]: 1: Hoare triple {31144#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {31196#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:30:21,115 INFO L290 TraceCheckUtils]: 2: Hoare triple {31196#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {31144#true} is VALID [2022-04-08 08:30:21,115 INFO L290 TraceCheckUtils]: 3: Hoare triple {31144#true} assume !(0 == ~__BLAST_NONDET~5); {31144#true} is VALID [2022-04-08 08:30:21,115 INFO L290 TraceCheckUtils]: 4: Hoare triple {31144#true} #res := -1073741823; {31144#true} is VALID [2022-04-08 08:30:21,115 INFO L290 TraceCheckUtils]: 5: Hoare triple {31144#true} assume true; {31144#true} is VALID [2022-04-08 08:30:21,115 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {31144#true} {31144#true} #1176#return; {31144#true} is VALID [2022-04-08 08:30:21,115 INFO L290 TraceCheckUtils]: 7: Hoare triple {31144#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {31144#true} is VALID [2022-04-08 08:30:21,115 INFO L290 TraceCheckUtils]: 8: Hoare triple {31144#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {31144#true} is VALID [2022-04-08 08:30:21,115 INFO L290 TraceCheckUtils]: 9: Hoare triple {31144#true} assume true; {31144#true} is VALID [2022-04-08 08:30:21,115 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {31144#true} {31144#true} #1220#return; {31144#true} is VALID [2022-04-08 08:30:21,127 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 08:30:21,128 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:21,134 INFO L290 TraceCheckUtils]: 0: Hoare triple {31202#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {31144#true} is VALID [2022-04-08 08:30:21,135 INFO L290 TraceCheckUtils]: 1: Hoare triple {31144#true} assume true; {31144#true} is VALID [2022-04-08 08:30:21,135 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {31144#true} {31144#true} #1222#return; {31144#true} is VALID [2022-04-08 08:30:21,135 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 49 [2022-04-08 08:30:21,138 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:21,146 INFO L290 TraceCheckUtils]: 0: Hoare triple {31191#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {31144#true} is VALID [2022-04-08 08:30:21,146 INFO L290 TraceCheckUtils]: 1: Hoare triple {31144#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {31144#true} is VALID [2022-04-08 08:30:21,146 INFO L290 TraceCheckUtils]: 2: Hoare triple {31144#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {31144#true} is VALID [2022-04-08 08:30:21,146 INFO L290 TraceCheckUtils]: 3: Hoare triple {31144#true} assume #res.base == dest.base && #res.offset == dest.offset; {31144#true} is VALID [2022-04-08 08:30:21,146 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {31144#true} {31144#true} #1186#return; {31144#true} is VALID [2022-04-08 08:30:21,154 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 59 [2022-04-08 08:30:21,157 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:21,172 INFO L290 TraceCheckUtils]: 0: Hoare triple {31203#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {31144#true} is VALID [2022-04-08 08:30:21,172 INFO L290 TraceCheckUtils]: 1: Hoare triple {31144#true} assume !(0 != ~compRegistered~0); {31204#(<= ~compRegistered~0 0)} is VALID [2022-04-08 08:30:21,172 INFO L290 TraceCheckUtils]: 2: Hoare triple {31204#(<= ~compRegistered~0 0)} assume 0 == ~__BLAST_NONDET~11; {31204#(<= ~compRegistered~0 0)} is VALID [2022-04-08 08:30:21,173 INFO L290 TraceCheckUtils]: 3: Hoare triple {31204#(<= ~compRegistered~0 0)} ~returnVal2~0 := 0; {31204#(<= ~compRegistered~0 0)} is VALID [2022-04-08 08:30:21,173 INFO L290 TraceCheckUtils]: 4: Hoare triple {31204#(<= ~compRegistered~0 0)} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := ~returnVal2~0; {31204#(<= ~compRegistered~0 0)} is VALID [2022-04-08 08:30:21,173 INFO L290 TraceCheckUtils]: 5: Hoare triple {31204#(<= ~compRegistered~0 0)} #res := ~returnVal2~0; {31204#(<= ~compRegistered~0 0)} is VALID [2022-04-08 08:30:21,173 INFO L290 TraceCheckUtils]: 6: Hoare triple {31204#(<= ~compRegistered~0 0)} assume true; {31204#(<= ~compRegistered~0 0)} is VALID [2022-04-08 08:30:21,174 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {31204#(<= ~compRegistered~0 0)} {31180#(= ~compRegistered~0 1)} #1192#return; {31145#false} is VALID [2022-04-08 08:30:21,175 INFO L272 TraceCheckUtils]: 0: Hoare triple {31144#true} call ULTIMATE.init(); {31189#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:30:21,175 INFO L290 TraceCheckUtils]: 1: Hoare triple {31189#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {31144#true} is VALID [2022-04-08 08:30:21,175 INFO L290 TraceCheckUtils]: 2: Hoare triple {31144#true} assume true; {31144#true} is VALID [2022-04-08 08:30:21,175 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31144#true} {31144#true} #1270#return; {31144#true} is VALID [2022-04-08 08:30:21,176 INFO L272 TraceCheckUtils]: 4: Hoare triple {31144#true} call #t~ret213 := main(); {31144#true} is VALID [2022-04-08 08:30:21,176 INFO L290 TraceCheckUtils]: 5: Hoare triple {31144#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {31144#true} is VALID [2022-04-08 08:30:21,176 INFO L272 TraceCheckUtils]: 6: Hoare triple {31144#true} call _BLAST_init(); {31190#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:30:21,176 INFO L290 TraceCheckUtils]: 7: Hoare triple {31190#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {31144#true} is VALID [2022-04-08 08:30:21,177 INFO L290 TraceCheckUtils]: 8: Hoare triple {31144#true} assume true; {31144#true} is VALID [2022-04-08 08:30:21,177 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {31144#true} {31144#true} #1216#return; {31144#true} is VALID [2022-04-08 08:30:21,177 INFO L272 TraceCheckUtils]: 10: Hoare triple {31144#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {31191#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:30:21,177 INFO L290 TraceCheckUtils]: 11: Hoare triple {31191#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {31144#true} is VALID [2022-04-08 08:30:21,177 INFO L272 TraceCheckUtils]: 12: Hoare triple {31144#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {31144#true} is VALID [2022-04-08 08:30:21,177 INFO L290 TraceCheckUtils]: 13: Hoare triple {31144#true} ~cond := #in~cond; {31144#true} is VALID [2022-04-08 08:30:21,177 INFO L290 TraceCheckUtils]: 14: Hoare triple {31144#true} assume !(0 == ~cond); {31144#true} is VALID [2022-04-08 08:30:21,177 INFO L290 TraceCheckUtils]: 15: Hoare triple {31144#true} assume true; {31144#true} is VALID [2022-04-08 08:30:21,178 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {31144#true} {31144#true} #1254#return; {31144#true} is VALID [2022-04-08 08:30:21,178 INFO L290 TraceCheckUtils]: 17: Hoare triple {31144#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {31144#true} is VALID [2022-04-08 08:30:21,178 INFO L290 TraceCheckUtils]: 18: Hoare triple {31144#true} assume true; {31144#true} is VALID [2022-04-08 08:30:21,178 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {31144#true} {31144#true} #1218#return; {31144#true} is VALID [2022-04-08 08:30:21,178 INFO L290 TraceCheckUtils]: 20: Hoare triple {31144#true} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {31144#true} is VALID [2022-04-08 08:30:21,178 INFO L290 TraceCheckUtils]: 21: Hoare triple {31144#true} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {31144#true} is VALID [2022-04-08 08:30:21,178 INFO L290 TraceCheckUtils]: 22: Hoare triple {31144#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {31144#true} is VALID [2022-04-08 08:30:21,179 INFO L272 TraceCheckUtils]: 23: Hoare triple {31144#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {31196#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:30:21,179 INFO L290 TraceCheckUtils]: 24: Hoare triple {31196#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {31144#true} is VALID [2022-04-08 08:30:21,180 INFO L272 TraceCheckUtils]: 25: Hoare triple {31144#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {31196#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:30:21,180 INFO L290 TraceCheckUtils]: 26: Hoare triple {31196#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {31144#true} is VALID [2022-04-08 08:30:21,180 INFO L290 TraceCheckUtils]: 27: Hoare triple {31144#true} assume !(0 == ~__BLAST_NONDET~5); {31144#true} is VALID [2022-04-08 08:30:21,180 INFO L290 TraceCheckUtils]: 28: Hoare triple {31144#true} #res := -1073741823; {31144#true} is VALID [2022-04-08 08:30:21,180 INFO L290 TraceCheckUtils]: 29: Hoare triple {31144#true} assume true; {31144#true} is VALID [2022-04-08 08:30:21,180 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {31144#true} {31144#true} #1176#return; {31144#true} is VALID [2022-04-08 08:30:21,180 INFO L290 TraceCheckUtils]: 31: Hoare triple {31144#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {31144#true} is VALID [2022-04-08 08:30:21,180 INFO L290 TraceCheckUtils]: 32: Hoare triple {31144#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {31144#true} is VALID [2022-04-08 08:30:21,180 INFO L290 TraceCheckUtils]: 33: Hoare triple {31144#true} assume true; {31144#true} is VALID [2022-04-08 08:30:21,180 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {31144#true} {31144#true} #1220#return; {31144#true} is VALID [2022-04-08 08:30:21,180 INFO L290 TraceCheckUtils]: 35: Hoare triple {31144#true} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {31144#true} is VALID [2022-04-08 08:30:21,181 INFO L272 TraceCheckUtils]: 36: Hoare triple {31144#true} call stub_driver_init(); {31202#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:30:21,181 INFO L290 TraceCheckUtils]: 37: Hoare triple {31202#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {31144#true} is VALID [2022-04-08 08:30:21,181 INFO L290 TraceCheckUtils]: 38: Hoare triple {31144#true} assume true; {31144#true} is VALID [2022-04-08 08:30:21,181 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {31144#true} {31144#true} #1222#return; {31144#true} is VALID [2022-04-08 08:30:21,181 INFO L290 TraceCheckUtils]: 40: Hoare triple {31144#true} assume !!(~status~5 >= 0); {31144#true} is VALID [2022-04-08 08:30:21,181 INFO L290 TraceCheckUtils]: 41: Hoare triple {31144#true} assume !(0 == ~__BLAST_NONDET~0); {31144#true} is VALID [2022-04-08 08:30:21,181 INFO L290 TraceCheckUtils]: 42: Hoare triple {31144#true} assume !(1 == ~__BLAST_NONDET~0); {31144#true} is VALID [2022-04-08 08:30:21,181 INFO L290 TraceCheckUtils]: 43: Hoare triple {31144#true} assume !(2 == ~__BLAST_NONDET~0); {31144#true} is VALID [2022-04-08 08:30:21,181 INFO L290 TraceCheckUtils]: 44: Hoare triple {31144#true} assume 3 == ~__BLAST_NONDET~0; {31144#true} is VALID [2022-04-08 08:30:21,181 INFO L272 TraceCheckUtils]: 45: Hoare triple {31144#true} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {31144#true} is VALID [2022-04-08 08:30:21,181 INFO L290 TraceCheckUtils]: 46: Hoare triple {31144#true} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~devExt~3.base, ~devExt~3.offset;havoc ~irpStack~3.base, ~irpStack~3.offset;havoc ~status~3;call ~#event~1.base, ~#event~1.offset := #Ultimate.allocOnStack(16);havoc ~irpSp~0.base, ~irpSp~0.offset;havoc ~nextIrpSp~0.base, ~nextIrpSp~0.offset;havoc ~irpSp___0~0.base, ~irpSp___0~0.offset;~status~3 := 0;call #t~mem79.base, #t~mem79.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~3.base, ~devExt~3.offset := #t~mem79.base, #t~mem79.offset;havoc #t~mem79.base, #t~mem79.offset;call #t~mem80.base, #t~mem80.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~3.base, ~irpStack~3.offset := #t~mem80.base, #t~mem80.offset;havoc #t~mem80.base, #t~mem80.offset;call #t~mem81 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {31144#true} is VALID [2022-04-08 08:30:21,181 INFO L290 TraceCheckUtils]: 47: Hoare triple {31144#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {31144#true} is VALID [2022-04-08 08:30:21,182 INFO L290 TraceCheckUtils]: 48: Hoare triple {31144#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp~0.base, ~irpSp~0.offset := #t~mem102.base, #t~mem102.offset;havoc #t~mem102.base, #t~mem102.offset;call #t~mem103.base, #t~mem103.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 36;havoc #t~mem103.base, #t~mem103.offset; {31144#true} is VALID [2022-04-08 08:30:21,182 INFO L272 TraceCheckUtils]: 49: Hoare triple {31144#true} call #t~memmove~res104.base, #t~memmove~res104.offset := #Ultimate.C_memmove(~nextIrpSp~0.base, ~nextIrpSp~0.offset, ~irpSp~0.base, ~irpSp~0.offset, 28); {31191#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:30:21,182 INFO L290 TraceCheckUtils]: 50: Hoare triple {31191#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {31144#true} is VALID [2022-04-08 08:30:21,182 INFO L290 TraceCheckUtils]: 51: Hoare triple {31144#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {31144#true} is VALID [2022-04-08 08:30:21,182 INFO L290 TraceCheckUtils]: 52: Hoare triple {31144#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {31144#true} is VALID [2022-04-08 08:30:21,182 INFO L290 TraceCheckUtils]: 53: Hoare triple {31144#true} assume #res.base == dest.base && #res.offset == dest.offset; {31144#true} is VALID [2022-04-08 08:30:21,183 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {31144#true} {31144#true} #1186#return; {31144#true} is VALID [2022-04-08 08:30:21,183 INFO L290 TraceCheckUtils]: 55: Hoare triple {31144#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {31144#true} is VALID [2022-04-08 08:30:21,183 INFO L290 TraceCheckUtils]: 56: Hoare triple {31144#true} assume !(~s~0 != ~NP~0); {31144#true} is VALID [2022-04-08 08:30:21,183 INFO L290 TraceCheckUtils]: 57: Hoare triple {31144#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {31180#(= ~compRegistered~0 1)} is VALID [2022-04-08 08:30:21,183 INFO L290 TraceCheckUtils]: 58: Hoare triple {31180#(= ~compRegistered~0 1)} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 36;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 28 + ~irpSp___0~0.offset, 4);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 32 + ~irpSp___0~0.offset, 4);call write~int(0, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(64, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call #t~mem106 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem106 % 256, 128), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem106;call #t~mem107 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem107 % 256, 32), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem107;call #t~mem108.base, #t~mem108.offset := read~$Pointer$(~devExt~3.base, 8 + ~devExt~3.offset, 4); {31180#(= ~compRegistered~0 1)} is VALID [2022-04-08 08:30:21,184 INFO L272 TraceCheckUtils]: 59: Hoare triple {31180#(= ~compRegistered~0 1)} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {31203#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:30:21,184 INFO L290 TraceCheckUtils]: 60: Hoare triple {31203#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {31144#true} is VALID [2022-04-08 08:30:21,184 INFO L290 TraceCheckUtils]: 61: Hoare triple {31144#true} assume !(0 != ~compRegistered~0); {31204#(<= ~compRegistered~0 0)} is VALID [2022-04-08 08:30:21,184 INFO L290 TraceCheckUtils]: 62: Hoare triple {31204#(<= ~compRegistered~0 0)} assume 0 == ~__BLAST_NONDET~11; {31204#(<= ~compRegistered~0 0)} is VALID [2022-04-08 08:30:21,185 INFO L290 TraceCheckUtils]: 63: Hoare triple {31204#(<= ~compRegistered~0 0)} ~returnVal2~0 := 0; {31204#(<= ~compRegistered~0 0)} is VALID [2022-04-08 08:30:21,185 INFO L290 TraceCheckUtils]: 64: Hoare triple {31204#(<= ~compRegistered~0 0)} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := ~returnVal2~0; {31204#(<= ~compRegistered~0 0)} is VALID [2022-04-08 08:30:21,185 INFO L290 TraceCheckUtils]: 65: Hoare triple {31204#(<= ~compRegistered~0 0)} #res := ~returnVal2~0; {31204#(<= ~compRegistered~0 0)} is VALID [2022-04-08 08:30:21,185 INFO L290 TraceCheckUtils]: 66: Hoare triple {31204#(<= ~compRegistered~0 0)} assume true; {31204#(<= ~compRegistered~0 0)} is VALID [2022-04-08 08:30:21,186 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {31204#(<= ~compRegistered~0 0)} {31180#(= ~compRegistered~0 1)} #1192#return; {31145#false} is VALID [2022-04-08 08:30:21,186 INFO L290 TraceCheckUtils]: 68: Hoare triple {31145#false} assume -2147483648 <= #t~ret109 && #t~ret109 <= 2147483647;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {31145#false} is VALID [2022-04-08 08:30:21,186 INFO L290 TraceCheckUtils]: 69: Hoare triple {31145#false} assume !(259 == ~status~3); {31145#false} is VALID [2022-04-08 08:30:21,186 INFO L290 TraceCheckUtils]: 70: Hoare triple {31145#false} assume !(~status~3 >= 0); {31145#false} is VALID [2022-04-08 08:30:21,186 INFO L290 TraceCheckUtils]: 71: Hoare triple {31145#false} call write~int(~status~3, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~3;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4); {31145#false} is VALID [2022-04-08 08:30:21,186 INFO L272 TraceCheckUtils]: 72: Hoare triple {31145#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {31145#false} is VALID [2022-04-08 08:30:21,186 INFO L290 TraceCheckUtils]: 73: Hoare triple {31145#false} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {31145#false} is VALID [2022-04-08 08:30:21,186 INFO L290 TraceCheckUtils]: 74: Hoare triple {31145#false} assume !(~s~0 == ~NP~0); {31145#false} is VALID [2022-04-08 08:30:21,186 INFO L272 TraceCheckUtils]: 75: Hoare triple {31145#false} call errorFn(); {31145#false} is VALID [2022-04-08 08:30:21,186 INFO L290 TraceCheckUtils]: 76: Hoare triple {31145#false} assume !false; {31145#false} is VALID [2022-04-08 08:30:21,187 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 08:30:21,187 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:30:21,188 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [813926513] [2022-04-08 08:30:21,188 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [813926513] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:30:21,188 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:30:21,188 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 08:30:21,188 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:30:21,188 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2021438041] [2022-04-08 08:30:21,188 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2021438041] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:30:21,188 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:30:21,188 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 08:30:21,188 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [550037316] [2022-04-08 08:30:21,188 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:30:21,189 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 5.5) internal successors, (55), 4 states have internal predecessors, (55), 3 states have call successors, (13), 8 states have call predecessors, (13), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 77 [2022-04-08 08:30:21,189 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:30:21,189 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 5.5) internal successors, (55), 4 states have internal predecessors, (55), 3 states have call successors, (13), 8 states have call predecessors, (13), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:30:21,245 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:30:21,245 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 08:30:21,246 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:30:21,246 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 08:30:21,246 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-08 08:30:21,246 INFO L87 Difference]: Start difference. First operand 381 states and 501 transitions. Second operand has 10 states, 10 states have (on average 5.5) internal successors, (55), 4 states have internal predecessors, (55), 3 states have call successors, (13), 8 states have call predecessors, (13), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:30:25,225 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.79s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:30:27,239 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:30:29,256 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.02s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:30:31,278 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.02s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:30:37,480 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:30:37,480 INFO L93 Difference]: Finished difference Result 437 states and 561 transitions. [2022-04-08 08:30:37,480 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-08 08:30:37,480 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 5.5) internal successors, (55), 4 states have internal predecessors, (55), 3 states have call successors, (13), 8 states have call predecessors, (13), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 77 [2022-04-08 08:30:37,481 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:30:37,481 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 5.5) internal successors, (55), 4 states have internal predecessors, (55), 3 states have call successors, (13), 8 states have call predecessors, (13), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:30:37,483 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 493 transitions. [2022-04-08 08:30:37,483 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 5.5) internal successors, (55), 4 states have internal predecessors, (55), 3 states have call successors, (13), 8 states have call predecessors, (13), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:30:37,486 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 493 transitions. [2022-04-08 08:30:37,486 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 493 transitions. [2022-04-08 08:30:37,995 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 493 edges. 493 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:30:38,002 INFO L225 Difference]: With dead ends: 437 [2022-04-08 08:30:38,002 INFO L226 Difference]: Without dead ends: 374 [2022-04-08 08:30:38,002 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 61 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=112, Invalid=308, Unknown=0, NotChecked=0, Total=420 [2022-04-08 08:30:38,003 INFO L913 BasicCegarLoop]: 310 mSDtfsCounter, 869 mSDsluCounter, 316 mSDsCounter, 0 mSdLazyCounter, 963 mSolverCounterSat, 275 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 10.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 879 SdHoareTripleChecker+Valid, 626 SdHoareTripleChecker+Invalid, 1241 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 275 IncrementalHoareTripleChecker+Valid, 963 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 10.3s IncrementalHoareTripleChecker+Time [2022-04-08 08:30:38,003 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [879 Valid, 626 Invalid, 1241 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [275 Valid, 963 Invalid, 3 Unknown, 0 Unchecked, 10.3s Time] [2022-04-08 08:30:38,019 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 374 states. [2022-04-08 08:30:38,430 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 374 to 345. [2022-04-08 08:30:38,430 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:30:38,431 INFO L82 GeneralOperation]: Start isEquivalent. First operand 374 states. Second operand has 345 states, 274 states have (on average 1.3503649635036497) internal successors, (370), 278 states have internal predecessors, (370), 38 states have call successors, (38), 30 states have call predecessors, (38), 32 states have return successors, (39), 36 states have call predecessors, (39), 33 states have call successors, (39) [2022-04-08 08:30:38,431 INFO L74 IsIncluded]: Start isIncluded. First operand 374 states. Second operand has 345 states, 274 states have (on average 1.3503649635036497) internal successors, (370), 278 states have internal predecessors, (370), 38 states have call successors, (38), 30 states have call predecessors, (38), 32 states have return successors, (39), 36 states have call predecessors, (39), 33 states have call successors, (39) [2022-04-08 08:30:38,432 INFO L87 Difference]: Start difference. First operand 374 states. Second operand has 345 states, 274 states have (on average 1.3503649635036497) internal successors, (370), 278 states have internal predecessors, (370), 38 states have call successors, (38), 30 states have call predecessors, (38), 32 states have return successors, (39), 36 states have call predecessors, (39), 33 states have call successors, (39) [2022-04-08 08:30:38,437 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:30:38,437 INFO L93 Difference]: Finished difference Result 374 states and 482 transitions. [2022-04-08 08:30:38,437 INFO L276 IsEmpty]: Start isEmpty. Operand 374 states and 482 transitions. [2022-04-08 08:30:38,438 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:30:38,438 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:30:38,438 INFO L74 IsIncluded]: Start isIncluded. First operand has 345 states, 274 states have (on average 1.3503649635036497) internal successors, (370), 278 states have internal predecessors, (370), 38 states have call successors, (38), 30 states have call predecessors, (38), 32 states have return successors, (39), 36 states have call predecessors, (39), 33 states have call successors, (39) Second operand 374 states. [2022-04-08 08:30:38,439 INFO L87 Difference]: Start difference. First operand has 345 states, 274 states have (on average 1.3503649635036497) internal successors, (370), 278 states have internal predecessors, (370), 38 states have call successors, (38), 30 states have call predecessors, (38), 32 states have return successors, (39), 36 states have call predecessors, (39), 33 states have call successors, (39) Second operand 374 states. [2022-04-08 08:30:38,444 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:30:38,444 INFO L93 Difference]: Finished difference Result 374 states and 482 transitions. [2022-04-08 08:30:38,444 INFO L276 IsEmpty]: Start isEmpty. Operand 374 states and 482 transitions. [2022-04-08 08:30:38,445 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:30:38,445 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:30:38,445 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:30:38,445 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:30:38,445 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 345 states, 274 states have (on average 1.3503649635036497) internal successors, (370), 278 states have internal predecessors, (370), 38 states have call successors, (38), 30 states have call predecessors, (38), 32 states have return successors, (39), 36 states have call predecessors, (39), 33 states have call successors, (39) [2022-04-08 08:30:38,451 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 345 states to 345 states and 447 transitions. [2022-04-08 08:30:38,452 INFO L78 Accepts]: Start accepts. Automaton has 345 states and 447 transitions. Word has length 77 [2022-04-08 08:30:38,452 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:30:38,452 INFO L478 AbstractCegarLoop]: Abstraction has 345 states and 447 transitions. [2022-04-08 08:30:38,452 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 5.5) internal successors, (55), 4 states have internal predecessors, (55), 3 states have call successors, (13), 8 states have call predecessors, (13), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:30:38,452 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 345 states and 447 transitions. [2022-04-08 08:30:39,114 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 447 edges. 447 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:30:39,114 INFO L276 IsEmpty]: Start isEmpty. Operand 345 states and 447 transitions. [2022-04-08 08:30:39,115 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-08 08:30:39,115 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:30:39,115 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:30:39,115 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12 [2022-04-08 08:30:39,115 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:30:39,115 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:30:39,115 INFO L85 PathProgramCache]: Analyzing trace with hash 641442499, now seen corresponding path program 1 times [2022-04-08 08:30:39,115 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:30:39,115 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1602978761] [2022-04-08 08:30:39,116 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 08:30:39,116 INFO L85 PathProgramCache]: Analyzing trace with hash 641442499, now seen corresponding path program 2 times [2022-04-08 08:30:39,116 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:30:39,116 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1104475797] [2022-04-08 08:30:39,116 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:30:39,116 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:30:39,174 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:39,275 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:30:39,276 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:39,281 INFO L290 TraceCheckUtils]: 0: Hoare triple {33592#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {33546#true} is VALID [2022-04-08 08:30:39,282 INFO L290 TraceCheckUtils]: 1: Hoare triple {33546#true} assume true; {33546#true} is VALID [2022-04-08 08:30:39,282 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {33546#true} {33546#true} #1270#return; {33546#true} is VALID [2022-04-08 08:30:39,300 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:30:39,301 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:39,305 INFO L290 TraceCheckUtils]: 0: Hoare triple {33593#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {33546#true} is VALID [2022-04-08 08:30:39,306 INFO L290 TraceCheckUtils]: 1: Hoare triple {33546#true} assume true; {33546#true} is VALID [2022-04-08 08:30:39,306 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {33546#true} {33546#true} #1216#return; {33546#true} is VALID [2022-04-08 08:30:39,312 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:30:39,317 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:39,325 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:30:39,325 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:39,331 INFO L290 TraceCheckUtils]: 0: Hoare triple {33546#true} ~cond := #in~cond; {33546#true} is VALID [2022-04-08 08:30:39,331 INFO L290 TraceCheckUtils]: 1: Hoare triple {33546#true} assume !(0 == ~cond); {33546#true} is VALID [2022-04-08 08:30:39,331 INFO L290 TraceCheckUtils]: 2: Hoare triple {33546#true} assume true; {33546#true} is VALID [2022-04-08 08:30:39,331 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33546#true} {33546#true} #1254#return; {33546#true} is VALID [2022-04-08 08:30:39,332 INFO L290 TraceCheckUtils]: 0: Hoare triple {33594#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {33546#true} is VALID [2022-04-08 08:30:39,332 INFO L272 TraceCheckUtils]: 1: Hoare triple {33546#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {33546#true} is VALID [2022-04-08 08:30:39,332 INFO L290 TraceCheckUtils]: 2: Hoare triple {33546#true} ~cond := #in~cond; {33546#true} is VALID [2022-04-08 08:30:39,332 INFO L290 TraceCheckUtils]: 3: Hoare triple {33546#true} assume !(0 == ~cond); {33546#true} is VALID [2022-04-08 08:30:39,332 INFO L290 TraceCheckUtils]: 4: Hoare triple {33546#true} assume true; {33546#true} is VALID [2022-04-08 08:30:39,332 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {33546#true} {33546#true} #1254#return; {33546#true} is VALID [2022-04-08 08:30:39,332 INFO L290 TraceCheckUtils]: 6: Hoare triple {33546#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {33546#true} is VALID [2022-04-08 08:30:39,332 INFO L290 TraceCheckUtils]: 7: Hoare triple {33546#true} assume true; {33546#true} is VALID [2022-04-08 08:30:39,332 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {33546#true} {33546#true} #1218#return; {33546#true} is VALID [2022-04-08 08:30:39,341 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:30:39,343 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:39,348 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:30:39,350 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:39,355 INFO L290 TraceCheckUtils]: 0: Hoare triple {33599#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {33546#true} is VALID [2022-04-08 08:30:39,355 INFO L290 TraceCheckUtils]: 1: Hoare triple {33546#true} assume !(0 == ~__BLAST_NONDET~5); {33546#true} is VALID [2022-04-08 08:30:39,355 INFO L290 TraceCheckUtils]: 2: Hoare triple {33546#true} #res := -1073741823; {33546#true} is VALID [2022-04-08 08:30:39,355 INFO L290 TraceCheckUtils]: 3: Hoare triple {33546#true} assume true; {33546#true} is VALID [2022-04-08 08:30:39,355 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {33546#true} {33546#true} #1176#return; {33546#true} is VALID [2022-04-08 08:30:39,355 INFO L290 TraceCheckUtils]: 0: Hoare triple {33599#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {33546#true} is VALID [2022-04-08 08:30:39,356 INFO L272 TraceCheckUtils]: 1: Hoare triple {33546#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {33599#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:30:39,356 INFO L290 TraceCheckUtils]: 2: Hoare triple {33599#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {33546#true} is VALID [2022-04-08 08:30:39,356 INFO L290 TraceCheckUtils]: 3: Hoare triple {33546#true} assume !(0 == ~__BLAST_NONDET~5); {33546#true} is VALID [2022-04-08 08:30:39,356 INFO L290 TraceCheckUtils]: 4: Hoare triple {33546#true} #res := -1073741823; {33546#true} is VALID [2022-04-08 08:30:39,356 INFO L290 TraceCheckUtils]: 5: Hoare triple {33546#true} assume true; {33546#true} is VALID [2022-04-08 08:30:39,356 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {33546#true} {33546#true} #1176#return; {33546#true} is VALID [2022-04-08 08:30:39,356 INFO L290 TraceCheckUtils]: 7: Hoare triple {33546#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {33546#true} is VALID [2022-04-08 08:30:39,356 INFO L290 TraceCheckUtils]: 8: Hoare triple {33546#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {33546#true} is VALID [2022-04-08 08:30:39,356 INFO L290 TraceCheckUtils]: 9: Hoare triple {33546#true} assume true; {33546#true} is VALID [2022-04-08 08:30:39,356 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {33546#true} {33546#true} #1220#return; {33546#true} is VALID [2022-04-08 08:30:39,368 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 08:30:39,369 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:39,373 INFO L290 TraceCheckUtils]: 0: Hoare triple {33605#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {33546#true} is VALID [2022-04-08 08:30:39,374 INFO L290 TraceCheckUtils]: 1: Hoare triple {33546#true} assume true; {33546#true} is VALID [2022-04-08 08:30:39,374 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {33546#true} {33546#true} #1222#return; {33546#true} is VALID [2022-04-08 08:30:39,385 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 47 [2022-04-08 08:30:39,389 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:39,422 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-04-08 08:30:39,423 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:39,428 INFO L290 TraceCheckUtils]: 0: Hoare triple {33613#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {33546#true} is VALID [2022-04-08 08:30:39,428 INFO L290 TraceCheckUtils]: 1: Hoare triple {33546#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {33546#true} is VALID [2022-04-08 08:30:39,428 INFO L290 TraceCheckUtils]: 2: Hoare triple {33546#true} assume true; {33546#true} is VALID [2022-04-08 08:30:39,429 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33546#true} {33607#(<= (+ 1073741757 KbFilter_InternIoCtl_~status~2) 0)} #1248#return; {33607#(<= (+ 1073741757 KbFilter_InternIoCtl_~status~2) 0)} is VALID [2022-04-08 08:30:39,429 INFO L290 TraceCheckUtils]: 0: Hoare triple {33606#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~irpStack~2.base, ~irpStack~2.offset;havoc ~devExt~2.base, ~devExt~2.offset;havoc ~hookKeyboard~0.base, ~hookKeyboard~0.offset;havoc ~connectData~0.base, ~connectData~0.offset;havoc ~status~2;havoc ~tmp~2;~status~2 := 0;call #t~mem51.base, #t~mem51.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~2.base, ~devExt~2.offset := #t~mem51.base, #t~mem51.offset;havoc #t~mem51.base, #t~mem51.offset;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4);call #t~mem52.base, #t~mem52.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~2.base, ~irpStack~2.offset := #t~mem52.base, #t~mem52.offset;havoc #t~mem52.base, #t~mem52.offset;call #t~mem53 := read~int(~irpStack~2.base, 12 + ~irpStack~2.offset, 4); {33546#true} is VALID [2022-04-08 08:30:39,429 INFO L290 TraceCheckUtils]: 1: Hoare triple {33546#true} assume #t~mem53 % 4294967296 == ~bitwiseOr(~bitwiseOr(720896, 512), 3) % 4294967296;havoc #t~mem53; {33546#true} is VALID [2022-04-08 08:30:39,429 INFO L290 TraceCheckUtils]: 2: Hoare triple {33546#true} call #t~mem62.base, #t~mem62.offset := read~$Pointer$(~devExt~2.base, 20 + ~devExt~2.offset, 4); {33546#true} is VALID [2022-04-08 08:30:39,429 INFO L290 TraceCheckUtils]: 3: Hoare triple {33546#true} assume 0 != (#t~mem62.base + #t~mem62.offset) % 4294967296;havoc #t~mem62.base, #t~mem62.offset;~status~2 := -1073741757; {33607#(<= (+ 1073741757 KbFilter_InternIoCtl_~status~2) 0)} is VALID [2022-04-08 08:30:39,430 INFO L290 TraceCheckUtils]: 4: Hoare triple {33607#(<= (+ 1073741757 KbFilter_InternIoCtl_~status~2) 0)} assume !(~status~2 >= 0);call write~int(~status~2, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~2; {33607#(<= (+ 1073741757 KbFilter_InternIoCtl_~status~2) 0)} is VALID [2022-04-08 08:30:39,430 INFO L272 TraceCheckUtils]: 5: Hoare triple {33607#(<= (+ 1073741757 KbFilter_InternIoCtl_~status~2) 0)} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {33613#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:30:39,430 INFO L290 TraceCheckUtils]: 6: Hoare triple {33613#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {33546#true} is VALID [2022-04-08 08:30:39,430 INFO L290 TraceCheckUtils]: 7: Hoare triple {33546#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {33546#true} is VALID [2022-04-08 08:30:39,430 INFO L290 TraceCheckUtils]: 8: Hoare triple {33546#true} assume true; {33546#true} is VALID [2022-04-08 08:30:39,431 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {33546#true} {33607#(<= (+ 1073741757 KbFilter_InternIoCtl_~status~2) 0)} #1248#return; {33607#(<= (+ 1073741757 KbFilter_InternIoCtl_~status~2) 0)} is VALID [2022-04-08 08:30:39,431 INFO L290 TraceCheckUtils]: 10: Hoare triple {33607#(<= (+ 1073741757 KbFilter_InternIoCtl_~status~2) 0)} #res := ~status~2; {33612#(<= (+ 1073741757 |KbFilter_InternIoCtl_#res|) 0)} is VALID [2022-04-08 08:30:39,431 INFO L290 TraceCheckUtils]: 11: Hoare triple {33612#(<= (+ 1073741757 |KbFilter_InternIoCtl_#res|) 0)} assume true; {33612#(<= (+ 1073741757 |KbFilter_InternIoCtl_#res|) 0)} is VALID [2022-04-08 08:30:39,432 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {33612#(<= (+ 1073741757 |KbFilter_InternIoCtl_#res|) 0)} {33546#true} #1234#return; {33590#(not (= 259 |main_#t~ret176|))} is VALID [2022-04-08 08:30:39,433 INFO L272 TraceCheckUtils]: 0: Hoare triple {33546#true} call ULTIMATE.init(); {33592#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:30:39,433 INFO L290 TraceCheckUtils]: 1: Hoare triple {33592#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {33546#true} is VALID [2022-04-08 08:30:39,433 INFO L290 TraceCheckUtils]: 2: Hoare triple {33546#true} assume true; {33546#true} is VALID [2022-04-08 08:30:39,433 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33546#true} {33546#true} #1270#return; {33546#true} is VALID [2022-04-08 08:30:39,433 INFO L272 TraceCheckUtils]: 4: Hoare triple {33546#true} call #t~ret213 := main(); {33546#true} is VALID [2022-04-08 08:30:39,433 INFO L290 TraceCheckUtils]: 5: Hoare triple {33546#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {33546#true} is VALID [2022-04-08 08:30:39,434 INFO L272 TraceCheckUtils]: 6: Hoare triple {33546#true} call _BLAST_init(); {33593#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:30:39,434 INFO L290 TraceCheckUtils]: 7: Hoare triple {33593#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {33546#true} is VALID [2022-04-08 08:30:39,434 INFO L290 TraceCheckUtils]: 8: Hoare triple {33546#true} assume true; {33546#true} is VALID [2022-04-08 08:30:39,434 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {33546#true} {33546#true} #1216#return; {33546#true} is VALID [2022-04-08 08:30:39,434 INFO L272 TraceCheckUtils]: 10: Hoare triple {33546#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {33594#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:30:39,435 INFO L290 TraceCheckUtils]: 11: Hoare triple {33594#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {33546#true} is VALID [2022-04-08 08:30:39,435 INFO L272 TraceCheckUtils]: 12: Hoare triple {33546#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {33546#true} is VALID [2022-04-08 08:30:39,435 INFO L290 TraceCheckUtils]: 13: Hoare triple {33546#true} ~cond := #in~cond; {33546#true} is VALID [2022-04-08 08:30:39,435 INFO L290 TraceCheckUtils]: 14: Hoare triple {33546#true} assume !(0 == ~cond); {33546#true} is VALID [2022-04-08 08:30:39,435 INFO L290 TraceCheckUtils]: 15: Hoare triple {33546#true} assume true; {33546#true} is VALID [2022-04-08 08:30:39,435 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {33546#true} {33546#true} #1254#return; {33546#true} is VALID [2022-04-08 08:30:39,435 INFO L290 TraceCheckUtils]: 17: Hoare triple {33546#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {33546#true} is VALID [2022-04-08 08:30:39,435 INFO L290 TraceCheckUtils]: 18: Hoare triple {33546#true} assume true; {33546#true} is VALID [2022-04-08 08:30:39,435 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {33546#true} {33546#true} #1218#return; {33546#true} is VALID [2022-04-08 08:30:39,435 INFO L290 TraceCheckUtils]: 20: Hoare triple {33546#true} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {33546#true} is VALID [2022-04-08 08:30:39,435 INFO L290 TraceCheckUtils]: 21: Hoare triple {33546#true} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {33546#true} is VALID [2022-04-08 08:30:39,435 INFO L290 TraceCheckUtils]: 22: Hoare triple {33546#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {33546#true} is VALID [2022-04-08 08:30:39,436 INFO L272 TraceCheckUtils]: 23: Hoare triple {33546#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {33599#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:30:39,436 INFO L290 TraceCheckUtils]: 24: Hoare triple {33599#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {33546#true} is VALID [2022-04-08 08:30:39,437 INFO L272 TraceCheckUtils]: 25: Hoare triple {33546#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {33599#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:30:39,437 INFO L290 TraceCheckUtils]: 26: Hoare triple {33599#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {33546#true} is VALID [2022-04-08 08:30:39,437 INFO L290 TraceCheckUtils]: 27: Hoare triple {33546#true} assume !(0 == ~__BLAST_NONDET~5); {33546#true} is VALID [2022-04-08 08:30:39,437 INFO L290 TraceCheckUtils]: 28: Hoare triple {33546#true} #res := -1073741823; {33546#true} is VALID [2022-04-08 08:30:39,437 INFO L290 TraceCheckUtils]: 29: Hoare triple {33546#true} assume true; {33546#true} is VALID [2022-04-08 08:30:39,437 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {33546#true} {33546#true} #1176#return; {33546#true} is VALID [2022-04-08 08:30:39,437 INFO L290 TraceCheckUtils]: 31: Hoare triple {33546#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {33546#true} is VALID [2022-04-08 08:30:39,437 INFO L290 TraceCheckUtils]: 32: Hoare triple {33546#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {33546#true} is VALID [2022-04-08 08:30:39,437 INFO L290 TraceCheckUtils]: 33: Hoare triple {33546#true} assume true; {33546#true} is VALID [2022-04-08 08:30:39,437 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {33546#true} {33546#true} #1220#return; {33546#true} is VALID [2022-04-08 08:30:39,437 INFO L290 TraceCheckUtils]: 35: Hoare triple {33546#true} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {33546#true} is VALID [2022-04-08 08:30:39,438 INFO L272 TraceCheckUtils]: 36: Hoare triple {33546#true} call stub_driver_init(); {33605#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:30:39,438 INFO L290 TraceCheckUtils]: 37: Hoare triple {33605#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {33546#true} is VALID [2022-04-08 08:30:39,438 INFO L290 TraceCheckUtils]: 38: Hoare triple {33546#true} assume true; {33546#true} is VALID [2022-04-08 08:30:39,438 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {33546#true} {33546#true} #1222#return; {33546#true} is VALID [2022-04-08 08:30:39,438 INFO L290 TraceCheckUtils]: 40: Hoare triple {33546#true} assume !!(~status~5 >= 0); {33546#true} is VALID [2022-04-08 08:30:39,438 INFO L290 TraceCheckUtils]: 41: Hoare triple {33546#true} assume !(0 == ~__BLAST_NONDET~0); {33546#true} is VALID [2022-04-08 08:30:39,438 INFO L290 TraceCheckUtils]: 42: Hoare triple {33546#true} assume !(1 == ~__BLAST_NONDET~0); {33546#true} is VALID [2022-04-08 08:30:39,438 INFO L290 TraceCheckUtils]: 43: Hoare triple {33546#true} assume !(2 == ~__BLAST_NONDET~0); {33546#true} is VALID [2022-04-08 08:30:39,438 INFO L290 TraceCheckUtils]: 44: Hoare triple {33546#true} assume !(3 == ~__BLAST_NONDET~0); {33546#true} is VALID [2022-04-08 08:30:39,438 INFO L290 TraceCheckUtils]: 45: Hoare triple {33546#true} assume !(4 == ~__BLAST_NONDET~0); {33546#true} is VALID [2022-04-08 08:30:39,438 INFO L290 TraceCheckUtils]: 46: Hoare triple {33546#true} assume 8 == ~__BLAST_NONDET~0; {33546#true} is VALID [2022-04-08 08:30:39,439 INFO L272 TraceCheckUtils]: 47: Hoare triple {33546#true} call #t~ret176 := KbFilter_InternIoCtl(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {33606#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:30:39,439 INFO L290 TraceCheckUtils]: 48: Hoare triple {33606#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~irpStack~2.base, ~irpStack~2.offset;havoc ~devExt~2.base, ~devExt~2.offset;havoc ~hookKeyboard~0.base, ~hookKeyboard~0.offset;havoc ~connectData~0.base, ~connectData~0.offset;havoc ~status~2;havoc ~tmp~2;~status~2 := 0;call #t~mem51.base, #t~mem51.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~2.base, ~devExt~2.offset := #t~mem51.base, #t~mem51.offset;havoc #t~mem51.base, #t~mem51.offset;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4);call #t~mem52.base, #t~mem52.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~2.base, ~irpStack~2.offset := #t~mem52.base, #t~mem52.offset;havoc #t~mem52.base, #t~mem52.offset;call #t~mem53 := read~int(~irpStack~2.base, 12 + ~irpStack~2.offset, 4); {33546#true} is VALID [2022-04-08 08:30:39,439 INFO L290 TraceCheckUtils]: 49: Hoare triple {33546#true} assume #t~mem53 % 4294967296 == ~bitwiseOr(~bitwiseOr(720896, 512), 3) % 4294967296;havoc #t~mem53; {33546#true} is VALID [2022-04-08 08:30:39,439 INFO L290 TraceCheckUtils]: 50: Hoare triple {33546#true} call #t~mem62.base, #t~mem62.offset := read~$Pointer$(~devExt~2.base, 20 + ~devExt~2.offset, 4); {33546#true} is VALID [2022-04-08 08:30:39,439 INFO L290 TraceCheckUtils]: 51: Hoare triple {33546#true} assume 0 != (#t~mem62.base + #t~mem62.offset) % 4294967296;havoc #t~mem62.base, #t~mem62.offset;~status~2 := -1073741757; {33607#(<= (+ 1073741757 KbFilter_InternIoCtl_~status~2) 0)} is VALID [2022-04-08 08:30:39,440 INFO L290 TraceCheckUtils]: 52: Hoare triple {33607#(<= (+ 1073741757 KbFilter_InternIoCtl_~status~2) 0)} assume !(~status~2 >= 0);call write~int(~status~2, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~2; {33607#(<= (+ 1073741757 KbFilter_InternIoCtl_~status~2) 0)} is VALID [2022-04-08 08:30:39,440 INFO L272 TraceCheckUtils]: 53: Hoare triple {33607#(<= (+ 1073741757 KbFilter_InternIoCtl_~status~2) 0)} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {33613#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:30:39,440 INFO L290 TraceCheckUtils]: 54: Hoare triple {33613#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {33546#true} is VALID [2022-04-08 08:30:39,440 INFO L290 TraceCheckUtils]: 55: Hoare triple {33546#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {33546#true} is VALID [2022-04-08 08:30:39,440 INFO L290 TraceCheckUtils]: 56: Hoare triple {33546#true} assume true; {33546#true} is VALID [2022-04-08 08:30:39,441 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {33546#true} {33607#(<= (+ 1073741757 KbFilter_InternIoCtl_~status~2) 0)} #1248#return; {33607#(<= (+ 1073741757 KbFilter_InternIoCtl_~status~2) 0)} is VALID [2022-04-08 08:30:39,441 INFO L290 TraceCheckUtils]: 58: Hoare triple {33607#(<= (+ 1073741757 KbFilter_InternIoCtl_~status~2) 0)} #res := ~status~2; {33612#(<= (+ 1073741757 |KbFilter_InternIoCtl_#res|) 0)} is VALID [2022-04-08 08:30:39,441 INFO L290 TraceCheckUtils]: 59: Hoare triple {33612#(<= (+ 1073741757 |KbFilter_InternIoCtl_#res|) 0)} assume true; {33612#(<= (+ 1073741757 |KbFilter_InternIoCtl_#res|) 0)} is VALID [2022-04-08 08:30:39,442 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {33612#(<= (+ 1073741757 |KbFilter_InternIoCtl_#res|) 0)} {33546#true} #1234#return; {33590#(not (= 259 |main_#t~ret176|))} is VALID [2022-04-08 08:30:39,442 INFO L290 TraceCheckUtils]: 61: Hoare triple {33590#(not (= 259 |main_#t~ret176|))} assume -2147483648 <= #t~ret176 && #t~ret176 <= 2147483647;~status~5 := #t~ret176;havoc #t~ret176; {33591#(not (= main_~status~5 259))} is VALID [2022-04-08 08:30:39,442 INFO L290 TraceCheckUtils]: 62: Hoare triple {33591#(not (= main_~status~5 259))} assume 0 != ~we_should_unload~0; {33591#(not (= main_~status~5 259))} is VALID [2022-04-08 08:30:39,443 INFO L290 TraceCheckUtils]: 63: Hoare triple {33591#(not (= main_~status~5 259))} assume !(1 == ~pended~0); {33591#(not (= main_~status~5 259))} is VALID [2022-04-08 08:30:39,443 INFO L290 TraceCheckUtils]: 64: Hoare triple {33591#(not (= main_~status~5 259))} assume !(1 == ~pended~0); {33591#(not (= main_~status~5 259))} is VALID [2022-04-08 08:30:39,443 INFO L290 TraceCheckUtils]: 65: Hoare triple {33591#(not (= main_~status~5 259))} assume !(~s~0 == ~UNLOADED~0); {33591#(not (= main_~status~5 259))} is VALID [2022-04-08 08:30:39,443 INFO L290 TraceCheckUtils]: 66: Hoare triple {33591#(not (= main_~status~5 259))} assume !(-1 == ~status~5); {33591#(not (= main_~status~5 259))} is VALID [2022-04-08 08:30:39,444 INFO L290 TraceCheckUtils]: 67: Hoare triple {33591#(not (= main_~status~5 259))} assume ~s~0 != ~SKIP2~0; {33591#(not (= main_~status~5 259))} is VALID [2022-04-08 08:30:39,444 INFO L290 TraceCheckUtils]: 68: Hoare triple {33591#(not (= main_~status~5 259))} assume ~s~0 != ~IPC~0; {33591#(not (= main_~status~5 259))} is VALID [2022-04-08 08:30:39,444 INFO L290 TraceCheckUtils]: 69: Hoare triple {33591#(not (= main_~status~5 259))} assume !(~s~0 != ~DC~0); {33591#(not (= main_~status~5 259))} is VALID [2022-04-08 08:30:39,444 INFO L290 TraceCheckUtils]: 70: Hoare triple {33591#(not (= main_~status~5 259))} assume !(1 == ~pended~0); {33591#(not (= main_~status~5 259))} is VALID [2022-04-08 08:30:39,445 INFO L290 TraceCheckUtils]: 71: Hoare triple {33591#(not (= main_~status~5 259))} assume ~s~0 == ~DC~0; {33591#(not (= main_~status~5 259))} is VALID [2022-04-08 08:30:39,445 INFO L290 TraceCheckUtils]: 72: Hoare triple {33591#(not (= main_~status~5 259))} assume 259 == ~status~5; {33547#false} is VALID [2022-04-08 08:30:39,445 INFO L272 TraceCheckUtils]: 73: Hoare triple {33547#false} call errorFn(); {33547#false} is VALID [2022-04-08 08:30:39,445 INFO L290 TraceCheckUtils]: 74: Hoare triple {33547#false} assume !false; {33547#false} is VALID [2022-04-08 08:30:39,445 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 08:30:39,445 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:30:39,445 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1104475797] [2022-04-08 08:30:39,446 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1104475797] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:30:39,446 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:30:39,446 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 08:30:39,446 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:30:39,446 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1602978761] [2022-04-08 08:30:39,446 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1602978761] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:30:39,446 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:30:39,446 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 08:30:39,446 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [698801565] [2022-04-08 08:30:39,446 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:30:39,447 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 4.230769230769231) internal successors, (55), 5 states have internal predecessors, (55), 3 states have call successors, (11), 9 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 2 states have call successors, (9) Word has length 75 [2022-04-08 08:30:39,448 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:30:39,448 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 4.230769230769231) internal successors, (55), 5 states have internal predecessors, (55), 3 states have call successors, (11), 9 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:30:39,506 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:30:39,506 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 08:30:39,506 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:30:39,507 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 08:30:39,507 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=124, Unknown=0, NotChecked=0, Total=156 [2022-04-08 08:30:39,507 INFO L87 Difference]: Start difference. First operand 345 states and 447 transitions. Second operand has 13 states, 13 states have (on average 4.230769230769231) internal successors, (55), 5 states have internal predecessors, (55), 3 states have call successors, (11), 9 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:30:41,650 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:30:51,269 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:30:51,269 INFO L93 Difference]: Finished difference Result 417 states and 534 transitions. [2022-04-08 08:30:51,269 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-08 08:30:51,269 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 4.230769230769231) internal successors, (55), 5 states have internal predecessors, (55), 3 states have call successors, (11), 9 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 2 states have call successors, (9) Word has length 75 [2022-04-08 08:30:51,269 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:30:51,269 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 4.230769230769231) internal successors, (55), 5 states have internal predecessors, (55), 3 states have call successors, (11), 9 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:30:51,272 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 480 transitions. [2022-04-08 08:30:51,272 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 4.230769230769231) internal successors, (55), 5 states have internal predecessors, (55), 3 states have call successors, (11), 9 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:30:51,274 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 480 transitions. [2022-04-08 08:30:51,274 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 480 transitions. [2022-04-08 08:30:51,816 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 480 edges. 480 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:30:51,823 INFO L225 Difference]: With dead ends: 417 [2022-04-08 08:30:51,823 INFO L226 Difference]: Without dead ends: 359 [2022-04-08 08:30:51,824 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 32 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 36 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=74, Invalid=268, Unknown=0, NotChecked=0, Total=342 [2022-04-08 08:30:51,824 INFO L913 BasicCegarLoop]: 280 mSDtfsCounter, 602 mSDsluCounter, 436 mSDsCounter, 0 mSdLazyCounter, 1724 mSolverCounterSat, 230 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 605 SdHoareTripleChecker+Valid, 716 SdHoareTripleChecker+Invalid, 1955 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 230 IncrementalHoareTripleChecker+Valid, 1724 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.4s IncrementalHoareTripleChecker+Time [2022-04-08 08:30:51,824 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [605 Valid, 716 Invalid, 1955 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [230 Valid, 1724 Invalid, 1 Unknown, 0 Unchecked, 6.4s Time] [2022-04-08 08:30:51,825 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 359 states. [2022-04-08 08:30:52,223 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 359 to 344. [2022-04-08 08:30:52,223 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:30:52,223 INFO L82 GeneralOperation]: Start isEquivalent. First operand 359 states. Second operand has 344 states, 273 states have (on average 1.336996336996337) internal successors, (365), 277 states have internal predecessors, (365), 38 states have call successors, (38), 30 states have call predecessors, (38), 32 states have return successors, (39), 36 states have call predecessors, (39), 33 states have call successors, (39) [2022-04-08 08:30:52,224 INFO L74 IsIncluded]: Start isIncluded. First operand 359 states. Second operand has 344 states, 273 states have (on average 1.336996336996337) internal successors, (365), 277 states have internal predecessors, (365), 38 states have call successors, (38), 30 states have call predecessors, (38), 32 states have return successors, (39), 36 states have call predecessors, (39), 33 states have call successors, (39) [2022-04-08 08:30:52,224 INFO L87 Difference]: Start difference. First operand 359 states. Second operand has 344 states, 273 states have (on average 1.336996336996337) internal successors, (365), 277 states have internal predecessors, (365), 38 states have call successors, (38), 30 states have call predecessors, (38), 32 states have return successors, (39), 36 states have call predecessors, (39), 33 states have call successors, (39) [2022-04-08 08:30:52,230 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:30:52,230 INFO L93 Difference]: Finished difference Result 359 states and 463 transitions. [2022-04-08 08:30:52,230 INFO L276 IsEmpty]: Start isEmpty. Operand 359 states and 463 transitions. [2022-04-08 08:30:52,230 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:30:52,230 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:30:52,231 INFO L74 IsIncluded]: Start isIncluded. First operand has 344 states, 273 states have (on average 1.336996336996337) internal successors, (365), 277 states have internal predecessors, (365), 38 states have call successors, (38), 30 states have call predecessors, (38), 32 states have return successors, (39), 36 states have call predecessors, (39), 33 states have call successors, (39) Second operand 359 states. [2022-04-08 08:30:52,231 INFO L87 Difference]: Start difference. First operand has 344 states, 273 states have (on average 1.336996336996337) internal successors, (365), 277 states have internal predecessors, (365), 38 states have call successors, (38), 30 states have call predecessors, (38), 32 states have return successors, (39), 36 states have call predecessors, (39), 33 states have call successors, (39) Second operand 359 states. [2022-04-08 08:30:52,237 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:30:52,237 INFO L93 Difference]: Finished difference Result 359 states and 463 transitions. [2022-04-08 08:30:52,237 INFO L276 IsEmpty]: Start isEmpty. Operand 359 states and 463 transitions. [2022-04-08 08:30:52,238 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:30:52,238 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:30:52,238 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:30:52,238 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:30:52,238 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 344 states, 273 states have (on average 1.336996336996337) internal successors, (365), 277 states have internal predecessors, (365), 38 states have call successors, (38), 30 states have call predecessors, (38), 32 states have return successors, (39), 36 states have call predecessors, (39), 33 states have call successors, (39) [2022-04-08 08:30:52,244 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 344 states to 344 states and 442 transitions. [2022-04-08 08:30:52,245 INFO L78 Accepts]: Start accepts. Automaton has 344 states and 442 transitions. Word has length 75 [2022-04-08 08:30:52,245 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:30:52,245 INFO L478 AbstractCegarLoop]: Abstraction has 344 states and 442 transitions. [2022-04-08 08:30:52,245 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 4.230769230769231) internal successors, (55), 5 states have internal predecessors, (55), 3 states have call successors, (11), 9 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:30:52,245 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 344 states and 442 transitions. [2022-04-08 08:30:52,901 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 442 edges. 442 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:30:52,901 INFO L276 IsEmpty]: Start isEmpty. Operand 344 states and 442 transitions. [2022-04-08 08:30:52,902 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 77 [2022-04-08 08:30:52,902 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:30:52,902 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:30:52,902 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13 [2022-04-08 08:30:52,902 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:30:52,903 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:30:52,903 INFO L85 PathProgramCache]: Analyzing trace with hash 476602328, now seen corresponding path program 1 times [2022-04-08 08:30:52,903 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:30:52,903 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1979147236] [2022-04-08 08:30:52,903 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 08:30:52,903 INFO L85 PathProgramCache]: Analyzing trace with hash 476602328, now seen corresponding path program 2 times [2022-04-08 08:30:52,903 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:30:52,903 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [659610982] [2022-04-08 08:30:52,903 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:30:52,903 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:30:52,952 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:53,010 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:30:53,012 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:53,017 INFO L290 TraceCheckUtils]: 0: Hoare triple {35919#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {35870#true} is VALID [2022-04-08 08:30:53,018 INFO L290 TraceCheckUtils]: 1: Hoare triple {35870#true} assume true; {35870#true} is VALID [2022-04-08 08:30:53,018 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35870#true} {35870#true} #1270#return; {35870#true} is VALID [2022-04-08 08:30:53,036 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:30:53,038 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:53,045 INFO L290 TraceCheckUtils]: 0: Hoare triple {35920#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {35878#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 08:30:53,045 INFO L290 TraceCheckUtils]: 1: Hoare triple {35878#(not (= ~SKIP1~0 ~NP~0))} assume true; {35878#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 08:30:53,045 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35878#(not (= ~SKIP1~0 ~NP~0))} {35870#true} #1216#return; {35878#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 08:30:53,052 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:30:53,061 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:53,068 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:30:53,069 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:53,074 INFO L290 TraceCheckUtils]: 0: Hoare triple {35870#true} ~cond := #in~cond; {35870#true} is VALID [2022-04-08 08:30:53,074 INFO L290 TraceCheckUtils]: 1: Hoare triple {35870#true} assume !(0 == ~cond); {35870#true} is VALID [2022-04-08 08:30:53,074 INFO L290 TraceCheckUtils]: 2: Hoare triple {35870#true} assume true; {35870#true} is VALID [2022-04-08 08:30:53,075 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35870#true} {35870#true} #1254#return; {35870#true} is VALID [2022-04-08 08:30:53,075 INFO L290 TraceCheckUtils]: 0: Hoare triple {35921#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {35870#true} is VALID [2022-04-08 08:30:53,075 INFO L272 TraceCheckUtils]: 1: Hoare triple {35870#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {35870#true} is VALID [2022-04-08 08:30:53,075 INFO L290 TraceCheckUtils]: 2: Hoare triple {35870#true} ~cond := #in~cond; {35870#true} is VALID [2022-04-08 08:30:53,075 INFO L290 TraceCheckUtils]: 3: Hoare triple {35870#true} assume !(0 == ~cond); {35870#true} is VALID [2022-04-08 08:30:53,075 INFO L290 TraceCheckUtils]: 4: Hoare triple {35870#true} assume true; {35870#true} is VALID [2022-04-08 08:30:53,075 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {35870#true} {35870#true} #1254#return; {35870#true} is VALID [2022-04-08 08:30:53,075 INFO L290 TraceCheckUtils]: 6: Hoare triple {35870#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {35870#true} is VALID [2022-04-08 08:30:53,075 INFO L290 TraceCheckUtils]: 7: Hoare triple {35870#true} assume true; {35870#true} is VALID [2022-04-08 08:30:53,076 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {35870#true} {35878#(not (= ~SKIP1~0 ~NP~0))} #1218#return; {35878#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 08:30:53,084 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:30:53,088 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:53,094 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:30:53,096 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:53,101 INFO L290 TraceCheckUtils]: 0: Hoare triple {35926#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {35870#true} is VALID [2022-04-08 08:30:53,101 INFO L290 TraceCheckUtils]: 1: Hoare triple {35870#true} assume !(0 == ~__BLAST_NONDET~5); {35870#true} is VALID [2022-04-08 08:30:53,101 INFO L290 TraceCheckUtils]: 2: Hoare triple {35870#true} #res := -1073741823; {35870#true} is VALID [2022-04-08 08:30:53,101 INFO L290 TraceCheckUtils]: 3: Hoare triple {35870#true} assume true; {35870#true} is VALID [2022-04-08 08:30:53,101 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {35870#true} {35870#true} #1176#return; {35870#true} is VALID [2022-04-08 08:30:53,101 INFO L290 TraceCheckUtils]: 0: Hoare triple {35926#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {35870#true} is VALID [2022-04-08 08:30:53,102 INFO L272 TraceCheckUtils]: 1: Hoare triple {35870#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {35926#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:30:53,103 INFO L290 TraceCheckUtils]: 2: Hoare triple {35926#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {35870#true} is VALID [2022-04-08 08:30:53,103 INFO L290 TraceCheckUtils]: 3: Hoare triple {35870#true} assume !(0 == ~__BLAST_NONDET~5); {35870#true} is VALID [2022-04-08 08:30:53,103 INFO L290 TraceCheckUtils]: 4: Hoare triple {35870#true} #res := -1073741823; {35870#true} is VALID [2022-04-08 08:30:53,103 INFO L290 TraceCheckUtils]: 5: Hoare triple {35870#true} assume true; {35870#true} is VALID [2022-04-08 08:30:53,103 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {35870#true} {35870#true} #1176#return; {35870#true} is VALID [2022-04-08 08:30:53,103 INFO L290 TraceCheckUtils]: 7: Hoare triple {35870#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {35870#true} is VALID [2022-04-08 08:30:53,103 INFO L290 TraceCheckUtils]: 8: Hoare triple {35870#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {35870#true} is VALID [2022-04-08 08:30:53,103 INFO L290 TraceCheckUtils]: 9: Hoare triple {35870#true} assume true; {35870#true} is VALID [2022-04-08 08:30:53,104 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {35870#true} {35878#(not (= ~SKIP1~0 ~NP~0))} #1220#return; {35878#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 08:30:53,115 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 08:30:53,117 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:53,123 INFO L290 TraceCheckUtils]: 0: Hoare triple {35932#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {35870#true} is VALID [2022-04-08 08:30:53,123 INFO L290 TraceCheckUtils]: 1: Hoare triple {35870#true} assume true; {35870#true} is VALID [2022-04-08 08:30:53,123 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35870#true} {35878#(not (= ~SKIP1~0 ~NP~0))} #1222#return; {35878#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 08:30:53,135 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-08 08:30:53,143 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:53,192 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-04-08 08:30:53,194 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:30:53,216 INFO L290 TraceCheckUtils]: 0: Hoare triple {35944#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet204 && #t~nondet204 <= 2147483647;~__BLAST_NONDET~16 := #t~nondet204;havoc #t~nondet204;havoc ~compRetStatus~1;havoc ~returnVal~0;~lcontext~1.base, ~lcontext~1.offset := 0, 0;havoc ~tmp~12; {35945#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:30:53,216 INFO L290 TraceCheckUtils]: 1: Hoare triple {35945#(= ~s~0 |old(~s~0)|)} assume !(0 != ~compRegistered~0); {35945#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:30:53,217 INFO L290 TraceCheckUtils]: 2: Hoare triple {35945#(= ~s~0 |old(~s~0)|)} assume 0 == ~__BLAST_NONDET~16; {35945#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:30:53,217 INFO L290 TraceCheckUtils]: 3: Hoare triple {35945#(= ~s~0 |old(~s~0)|)} ~returnVal~0 := 0; {35945#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:30:53,217 INFO L290 TraceCheckUtils]: 4: Hoare triple {35945#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := ~returnVal~0; {35946#(= ~NP~0 |old(~s~0)|)} is VALID [2022-04-08 08:30:53,217 INFO L290 TraceCheckUtils]: 5: Hoare triple {35946#(= ~NP~0 |old(~s~0)|)} #res := ~returnVal~0; {35946#(= ~NP~0 |old(~s~0)|)} is VALID [2022-04-08 08:30:53,218 INFO L290 TraceCheckUtils]: 6: Hoare triple {35946#(= ~NP~0 |old(~s~0)|)} assume true; {35946#(= ~NP~0 |old(~s~0)|)} is VALID [2022-04-08 08:30:53,218 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {35946#(= ~NP~0 |old(~s~0)|)} {35934#(= ~SKIP1~0 ~s~0)} #1268#return; {35943#(= ~SKIP1~0 ~NP~0)} is VALID [2022-04-08 08:30:53,219 INFO L290 TraceCheckUtils]: 0: Hoare triple {35933#(and (= |old(#length)| |#length|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~irpStack~4.base, ~irpStack~4.offset;havoc ~devExt~4.base, ~devExt~4.offset;call ~#powerState~0.base, ~#powerState~0.offset := #Ultimate.allocOnStack(4);havoc ~powerType~0;havoc ~tmp~3;call #t~mem123.base, #t~mem123.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~4.base, ~devExt~4.offset := #t~mem123.base, #t~mem123.offset;havoc #t~mem123.base, #t~mem123.offset;call #t~mem124.base, #t~mem124.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~4.base, ~irpStack~4.offset := #t~mem124.base, #t~mem124.offset;havoc #t~mem124.base, #t~mem124.offset;call #t~mem125 := read~int(~irpStack~4.base, 8 + ~irpStack~4.offset, 4);~powerType~0 := #t~mem125;havoc #t~mem125;call #t~mem126 := read~int(~irpStack~4.base, 12 + ~irpStack~4.offset, 4);call #t~mem127 := read~int(~irpStack~4.base, 12 + ~irpStack~4.offset, 4);call write~int(#t~mem126, ~#powerState~0.base, ~#powerState~0.offset, 4);call write~int(#t~mem127, ~#powerState~0.base, ~#powerState~0.offset, 4);havoc #t~mem126;havoc #t~mem127;call #t~mem128 := read~int(~irpStack~4.base, 1 + ~irpStack~4.offset, 1); {35870#true} is VALID [2022-04-08 08:30:53,219 INFO L290 TraceCheckUtils]: 1: Hoare triple {35870#true} assume 2 == #t~mem128 % 256;havoc #t~mem128; {35870#true} is VALID [2022-04-08 08:30:53,219 INFO L290 TraceCheckUtils]: 2: Hoare triple {35870#true} assume 1 == ~powerType~0;call #t~mem132 := read~int(~#powerState~0.base, ~#powerState~0.offset, 4);call write~int(#t~mem132, ~devExt~4.base, 48 + ~devExt~4.offset, 4);havoc #t~mem132; {35870#true} is VALID [2022-04-08 08:30:53,219 INFO L290 TraceCheckUtils]: 3: Hoare triple {35870#true} assume ~s~0 == ~NP~0;~s~0 := ~SKIP1~0; {35934#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-08 08:30:53,220 INFO L290 TraceCheckUtils]: 4: Hoare triple {35934#(= ~SKIP1~0 ~s~0)} call #t~mem133 := read~int(~Irp.base, 35 + ~Irp.offset, 1);call write~int((if (1 + #t~mem133) % 256 <= 127 then (1 + #t~mem133) % 256 else (1 + #t~mem133) % 256 - 256), ~Irp.base, 35 + ~Irp.offset, 1);havoc #t~mem133;call #t~mem134.base, #t~mem134.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);call write~$Pointer$(#t~mem134.base, 36 + #t~mem134.offset, ~Irp.base, 96 + ~Irp.offset, 4);havoc #t~mem134.base, #t~mem134.offset;call #t~mem135.base, #t~mem135.offset := read~$Pointer$(~devExt~4.base, 8 + ~devExt~4.offset, 4); {35934#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-08 08:30:53,220 INFO L272 TraceCheckUtils]: 5: Hoare triple {35934#(= ~SKIP1~0 ~s~0)} call #t~ret136 := PoCallDriver(#t~mem135.base, #t~mem135.offset, ~Irp.base, ~Irp.offset); {35944#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:30:53,220 INFO L290 TraceCheckUtils]: 6: Hoare triple {35944#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet204 && #t~nondet204 <= 2147483647;~__BLAST_NONDET~16 := #t~nondet204;havoc #t~nondet204;havoc ~compRetStatus~1;havoc ~returnVal~0;~lcontext~1.base, ~lcontext~1.offset := 0, 0;havoc ~tmp~12; {35945#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:30:53,221 INFO L290 TraceCheckUtils]: 7: Hoare triple {35945#(= ~s~0 |old(~s~0)|)} assume !(0 != ~compRegistered~0); {35945#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:30:53,221 INFO L290 TraceCheckUtils]: 8: Hoare triple {35945#(= ~s~0 |old(~s~0)|)} assume 0 == ~__BLAST_NONDET~16; {35945#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:30:53,221 INFO L290 TraceCheckUtils]: 9: Hoare triple {35945#(= ~s~0 |old(~s~0)|)} ~returnVal~0 := 0; {35945#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:30:53,221 INFO L290 TraceCheckUtils]: 10: Hoare triple {35945#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := ~returnVal~0; {35946#(= ~NP~0 |old(~s~0)|)} is VALID [2022-04-08 08:30:53,222 INFO L290 TraceCheckUtils]: 11: Hoare triple {35946#(= ~NP~0 |old(~s~0)|)} #res := ~returnVal~0; {35946#(= ~NP~0 |old(~s~0)|)} is VALID [2022-04-08 08:30:53,222 INFO L290 TraceCheckUtils]: 12: Hoare triple {35946#(= ~NP~0 |old(~s~0)|)} assume true; {35946#(= ~NP~0 |old(~s~0)|)} is VALID [2022-04-08 08:30:53,223 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {35946#(= ~NP~0 |old(~s~0)|)} {35934#(= ~SKIP1~0 ~s~0)} #1268#return; {35943#(= ~SKIP1~0 ~NP~0)} is VALID [2022-04-08 08:30:53,223 INFO L290 TraceCheckUtils]: 14: Hoare triple {35943#(= ~SKIP1~0 ~NP~0)} assume -2147483648 <= #t~ret136 && #t~ret136 <= 2147483647;~tmp~3 := #t~ret136;havoc #t~mem135.base, #t~mem135.offset;havoc #t~ret136;#res := ~tmp~3;call ULTIMATE.dealloc(~#powerState~0.base, ~#powerState~0.offset);havoc ~#powerState~0.base, ~#powerState~0.offset; {35943#(= ~SKIP1~0 ~NP~0)} is VALID [2022-04-08 08:30:53,223 INFO L290 TraceCheckUtils]: 15: Hoare triple {35943#(= ~SKIP1~0 ~NP~0)} assume true; {35943#(= ~SKIP1~0 ~NP~0)} is VALID [2022-04-08 08:30:53,224 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {35943#(= ~SKIP1~0 ~NP~0)} {35878#(not (= ~SKIP1~0 ~NP~0))} #1232#return; {35871#false} is VALID [2022-04-08 08:30:53,225 INFO L272 TraceCheckUtils]: 0: Hoare triple {35870#true} call ULTIMATE.init(); {35919#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:30:53,225 INFO L290 TraceCheckUtils]: 1: Hoare triple {35919#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {35870#true} is VALID [2022-04-08 08:30:53,225 INFO L290 TraceCheckUtils]: 2: Hoare triple {35870#true} assume true; {35870#true} is VALID [2022-04-08 08:30:53,225 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35870#true} {35870#true} #1270#return; {35870#true} is VALID [2022-04-08 08:30:53,225 INFO L272 TraceCheckUtils]: 4: Hoare triple {35870#true} call #t~ret213 := main(); {35870#true} is VALID [2022-04-08 08:30:53,225 INFO L290 TraceCheckUtils]: 5: Hoare triple {35870#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {35870#true} is VALID [2022-04-08 08:30:53,226 INFO L272 TraceCheckUtils]: 6: Hoare triple {35870#true} call _BLAST_init(); {35920#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:30:53,226 INFO L290 TraceCheckUtils]: 7: Hoare triple {35920#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {35878#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 08:30:53,226 INFO L290 TraceCheckUtils]: 8: Hoare triple {35878#(not (= ~SKIP1~0 ~NP~0))} assume true; {35878#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 08:30:53,227 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {35878#(not (= ~SKIP1~0 ~NP~0))} {35870#true} #1216#return; {35878#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 08:30:53,228 INFO L272 TraceCheckUtils]: 10: Hoare triple {35878#(not (= ~SKIP1~0 ~NP~0))} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {35921#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:30:53,228 INFO L290 TraceCheckUtils]: 11: Hoare triple {35921#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {35870#true} is VALID [2022-04-08 08:30:53,228 INFO L272 TraceCheckUtils]: 12: Hoare triple {35870#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {35870#true} is VALID [2022-04-08 08:30:53,228 INFO L290 TraceCheckUtils]: 13: Hoare triple {35870#true} ~cond := #in~cond; {35870#true} is VALID [2022-04-08 08:30:53,228 INFO L290 TraceCheckUtils]: 14: Hoare triple {35870#true} assume !(0 == ~cond); {35870#true} is VALID [2022-04-08 08:30:53,228 INFO L290 TraceCheckUtils]: 15: Hoare triple {35870#true} assume true; {35870#true} is VALID [2022-04-08 08:30:53,228 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {35870#true} {35870#true} #1254#return; {35870#true} is VALID [2022-04-08 08:30:53,228 INFO L290 TraceCheckUtils]: 17: Hoare triple {35870#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {35870#true} is VALID [2022-04-08 08:30:53,228 INFO L290 TraceCheckUtils]: 18: Hoare triple {35870#true} assume true; {35870#true} is VALID [2022-04-08 08:30:53,229 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {35870#true} {35878#(not (= ~SKIP1~0 ~NP~0))} #1218#return; {35878#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 08:30:53,229 INFO L290 TraceCheckUtils]: 20: Hoare triple {35878#(not (= ~SKIP1~0 ~NP~0))} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {35878#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 08:30:53,229 INFO L290 TraceCheckUtils]: 21: Hoare triple {35878#(not (= ~SKIP1~0 ~NP~0))} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {35878#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 08:30:53,230 INFO L290 TraceCheckUtils]: 22: Hoare triple {35878#(not (= ~SKIP1~0 ~NP~0))} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {35878#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 08:30:53,230 INFO L272 TraceCheckUtils]: 23: Hoare triple {35878#(not (= ~SKIP1~0 ~NP~0))} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {35926#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:30:53,231 INFO L290 TraceCheckUtils]: 24: Hoare triple {35926#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {35870#true} is VALID [2022-04-08 08:30:53,231 INFO L272 TraceCheckUtils]: 25: Hoare triple {35870#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {35926#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:30:53,232 INFO L290 TraceCheckUtils]: 26: Hoare triple {35926#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {35870#true} is VALID [2022-04-08 08:30:53,232 INFO L290 TraceCheckUtils]: 27: Hoare triple {35870#true} assume !(0 == ~__BLAST_NONDET~5); {35870#true} is VALID [2022-04-08 08:30:53,232 INFO L290 TraceCheckUtils]: 28: Hoare triple {35870#true} #res := -1073741823; {35870#true} is VALID [2022-04-08 08:30:53,232 INFO L290 TraceCheckUtils]: 29: Hoare triple {35870#true} assume true; {35870#true} is VALID [2022-04-08 08:30:53,232 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {35870#true} {35870#true} #1176#return; {35870#true} is VALID [2022-04-08 08:30:53,232 INFO L290 TraceCheckUtils]: 31: Hoare triple {35870#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {35870#true} is VALID [2022-04-08 08:30:53,232 INFO L290 TraceCheckUtils]: 32: Hoare triple {35870#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {35870#true} is VALID [2022-04-08 08:30:53,232 INFO L290 TraceCheckUtils]: 33: Hoare triple {35870#true} assume true; {35870#true} is VALID [2022-04-08 08:30:53,232 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {35870#true} {35878#(not (= ~SKIP1~0 ~NP~0))} #1220#return; {35878#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 08:30:53,233 INFO L290 TraceCheckUtils]: 35: Hoare triple {35878#(not (= ~SKIP1~0 ~NP~0))} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {35878#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 08:30:53,233 INFO L272 TraceCheckUtils]: 36: Hoare triple {35878#(not (= ~SKIP1~0 ~NP~0))} call stub_driver_init(); {35932#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:30:53,233 INFO L290 TraceCheckUtils]: 37: Hoare triple {35932#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {35870#true} is VALID [2022-04-08 08:30:53,233 INFO L290 TraceCheckUtils]: 38: Hoare triple {35870#true} assume true; {35870#true} is VALID [2022-04-08 08:30:53,234 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {35870#true} {35878#(not (= ~SKIP1~0 ~NP~0))} #1222#return; {35878#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 08:30:53,234 INFO L290 TraceCheckUtils]: 40: Hoare triple {35878#(not (= ~SKIP1~0 ~NP~0))} assume !!(~status~5 >= 0); {35878#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 08:30:53,234 INFO L290 TraceCheckUtils]: 41: Hoare triple {35878#(not (= ~SKIP1~0 ~NP~0))} assume !(0 == ~__BLAST_NONDET~0); {35878#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 08:30:53,234 INFO L290 TraceCheckUtils]: 42: Hoare triple {35878#(not (= ~SKIP1~0 ~NP~0))} assume !(1 == ~__BLAST_NONDET~0); {35878#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 08:30:53,234 INFO L290 TraceCheckUtils]: 43: Hoare triple {35878#(not (= ~SKIP1~0 ~NP~0))} assume !(2 == ~__BLAST_NONDET~0); {35878#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 08:30:53,235 INFO L290 TraceCheckUtils]: 44: Hoare triple {35878#(not (= ~SKIP1~0 ~NP~0))} assume !(3 == ~__BLAST_NONDET~0); {35878#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 08:30:53,235 INFO L290 TraceCheckUtils]: 45: Hoare triple {35878#(not (= ~SKIP1~0 ~NP~0))} assume 4 == ~__BLAST_NONDET~0; {35878#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 08:30:53,236 INFO L272 TraceCheckUtils]: 46: Hoare triple {35878#(not (= ~SKIP1~0 ~NP~0))} call #t~ret175 := KbFilter_Power(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {35933#(and (= |old(#length)| |#length|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:30:53,236 INFO L290 TraceCheckUtils]: 47: Hoare triple {35933#(and (= |old(#length)| |#length|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~irpStack~4.base, ~irpStack~4.offset;havoc ~devExt~4.base, ~devExt~4.offset;call ~#powerState~0.base, ~#powerState~0.offset := #Ultimate.allocOnStack(4);havoc ~powerType~0;havoc ~tmp~3;call #t~mem123.base, #t~mem123.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~4.base, ~devExt~4.offset := #t~mem123.base, #t~mem123.offset;havoc #t~mem123.base, #t~mem123.offset;call #t~mem124.base, #t~mem124.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~4.base, ~irpStack~4.offset := #t~mem124.base, #t~mem124.offset;havoc #t~mem124.base, #t~mem124.offset;call #t~mem125 := read~int(~irpStack~4.base, 8 + ~irpStack~4.offset, 4);~powerType~0 := #t~mem125;havoc #t~mem125;call #t~mem126 := read~int(~irpStack~4.base, 12 + ~irpStack~4.offset, 4);call #t~mem127 := read~int(~irpStack~4.base, 12 + ~irpStack~4.offset, 4);call write~int(#t~mem126, ~#powerState~0.base, ~#powerState~0.offset, 4);call write~int(#t~mem127, ~#powerState~0.base, ~#powerState~0.offset, 4);havoc #t~mem126;havoc #t~mem127;call #t~mem128 := read~int(~irpStack~4.base, 1 + ~irpStack~4.offset, 1); {35870#true} is VALID [2022-04-08 08:30:53,236 INFO L290 TraceCheckUtils]: 48: Hoare triple {35870#true} assume 2 == #t~mem128 % 256;havoc #t~mem128; {35870#true} is VALID [2022-04-08 08:30:53,236 INFO L290 TraceCheckUtils]: 49: Hoare triple {35870#true} assume 1 == ~powerType~0;call #t~mem132 := read~int(~#powerState~0.base, ~#powerState~0.offset, 4);call write~int(#t~mem132, ~devExt~4.base, 48 + ~devExt~4.offset, 4);havoc #t~mem132; {35870#true} is VALID [2022-04-08 08:30:53,236 INFO L290 TraceCheckUtils]: 50: Hoare triple {35870#true} assume ~s~0 == ~NP~0;~s~0 := ~SKIP1~0; {35934#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-08 08:30:53,237 INFO L290 TraceCheckUtils]: 51: Hoare triple {35934#(= ~SKIP1~0 ~s~0)} call #t~mem133 := read~int(~Irp.base, 35 + ~Irp.offset, 1);call write~int((if (1 + #t~mem133) % 256 <= 127 then (1 + #t~mem133) % 256 else (1 + #t~mem133) % 256 - 256), ~Irp.base, 35 + ~Irp.offset, 1);havoc #t~mem133;call #t~mem134.base, #t~mem134.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);call write~$Pointer$(#t~mem134.base, 36 + #t~mem134.offset, ~Irp.base, 96 + ~Irp.offset, 4);havoc #t~mem134.base, #t~mem134.offset;call #t~mem135.base, #t~mem135.offset := read~$Pointer$(~devExt~4.base, 8 + ~devExt~4.offset, 4); {35934#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-08 08:30:53,237 INFO L272 TraceCheckUtils]: 52: Hoare triple {35934#(= ~SKIP1~0 ~s~0)} call #t~ret136 := PoCallDriver(#t~mem135.base, #t~mem135.offset, ~Irp.base, ~Irp.offset); {35944#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:30:53,238 INFO L290 TraceCheckUtils]: 53: Hoare triple {35944#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet204 && #t~nondet204 <= 2147483647;~__BLAST_NONDET~16 := #t~nondet204;havoc #t~nondet204;havoc ~compRetStatus~1;havoc ~returnVal~0;~lcontext~1.base, ~lcontext~1.offset := 0, 0;havoc ~tmp~12; {35945#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:30:53,238 INFO L290 TraceCheckUtils]: 54: Hoare triple {35945#(= ~s~0 |old(~s~0)|)} assume !(0 != ~compRegistered~0); {35945#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:30:53,238 INFO L290 TraceCheckUtils]: 55: Hoare triple {35945#(= ~s~0 |old(~s~0)|)} assume 0 == ~__BLAST_NONDET~16; {35945#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:30:53,238 INFO L290 TraceCheckUtils]: 56: Hoare triple {35945#(= ~s~0 |old(~s~0)|)} ~returnVal~0 := 0; {35945#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:30:53,239 INFO L290 TraceCheckUtils]: 57: Hoare triple {35945#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := ~returnVal~0; {35946#(= ~NP~0 |old(~s~0)|)} is VALID [2022-04-08 08:30:53,239 INFO L290 TraceCheckUtils]: 58: Hoare triple {35946#(= ~NP~0 |old(~s~0)|)} #res := ~returnVal~0; {35946#(= ~NP~0 |old(~s~0)|)} is VALID [2022-04-08 08:30:53,239 INFO L290 TraceCheckUtils]: 59: Hoare triple {35946#(= ~NP~0 |old(~s~0)|)} assume true; {35946#(= ~NP~0 |old(~s~0)|)} is VALID [2022-04-08 08:30:53,240 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {35946#(= ~NP~0 |old(~s~0)|)} {35934#(= ~SKIP1~0 ~s~0)} #1268#return; {35943#(= ~SKIP1~0 ~NP~0)} is VALID [2022-04-08 08:30:53,240 INFO L290 TraceCheckUtils]: 61: Hoare triple {35943#(= ~SKIP1~0 ~NP~0)} assume -2147483648 <= #t~ret136 && #t~ret136 <= 2147483647;~tmp~3 := #t~ret136;havoc #t~mem135.base, #t~mem135.offset;havoc #t~ret136;#res := ~tmp~3;call ULTIMATE.dealloc(~#powerState~0.base, ~#powerState~0.offset);havoc ~#powerState~0.base, ~#powerState~0.offset; {35943#(= ~SKIP1~0 ~NP~0)} is VALID [2022-04-08 08:30:53,241 INFO L290 TraceCheckUtils]: 62: Hoare triple {35943#(= ~SKIP1~0 ~NP~0)} assume true; {35943#(= ~SKIP1~0 ~NP~0)} is VALID [2022-04-08 08:30:53,241 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {35943#(= ~SKIP1~0 ~NP~0)} {35878#(not (= ~SKIP1~0 ~NP~0))} #1232#return; {35871#false} is VALID [2022-04-08 08:30:53,241 INFO L290 TraceCheckUtils]: 64: Hoare triple {35871#false} assume -2147483648 <= #t~ret175 && #t~ret175 <= 2147483647;~status~5 := #t~ret175;havoc #t~ret175; {35871#false} is VALID [2022-04-08 08:30:53,241 INFO L290 TraceCheckUtils]: 65: Hoare triple {35871#false} assume 0 != ~we_should_unload~0; {35871#false} is VALID [2022-04-08 08:30:53,241 INFO L290 TraceCheckUtils]: 66: Hoare triple {35871#false} assume !(1 == ~pended~0); {35871#false} is VALID [2022-04-08 08:30:53,241 INFO L290 TraceCheckUtils]: 67: Hoare triple {35871#false} assume !(1 == ~pended~0); {35871#false} is VALID [2022-04-08 08:30:53,242 INFO L290 TraceCheckUtils]: 68: Hoare triple {35871#false} assume !(~s~0 == ~UNLOADED~0); {35871#false} is VALID [2022-04-08 08:30:53,242 INFO L290 TraceCheckUtils]: 69: Hoare triple {35871#false} assume !(-1 == ~status~5); {35871#false} is VALID [2022-04-08 08:30:53,242 INFO L290 TraceCheckUtils]: 70: Hoare triple {35871#false} assume !(~s~0 != ~SKIP2~0); {35871#false} is VALID [2022-04-08 08:30:53,242 INFO L290 TraceCheckUtils]: 71: Hoare triple {35871#false} assume !(1 == ~pended~0); {35871#false} is VALID [2022-04-08 08:30:53,242 INFO L290 TraceCheckUtils]: 72: Hoare triple {35871#false} assume ~s~0 == ~DC~0; {35871#false} is VALID [2022-04-08 08:30:53,242 INFO L290 TraceCheckUtils]: 73: Hoare triple {35871#false} assume 259 == ~status~5; {35871#false} is VALID [2022-04-08 08:30:53,242 INFO L272 TraceCheckUtils]: 74: Hoare triple {35871#false} call errorFn(); {35871#false} is VALID [2022-04-08 08:30:53,242 INFO L290 TraceCheckUtils]: 75: Hoare triple {35871#false} assume !false; {35871#false} is VALID [2022-04-08 08:30:53,242 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 08:30:53,242 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:30:53,242 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [659610982] [2022-04-08 08:30:53,242 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [659610982] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:30:53,242 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:30:53,243 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 08:30:53,243 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:30:53,243 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1979147236] [2022-04-08 08:30:53,243 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1979147236] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:30:53,244 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:30:53,244 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 08:30:53,244 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [475666997] [2022-04-08 08:30:53,244 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:30:53,245 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 4.0) internal successors, (56), 7 states have internal predecessors, (56), 4 states have call successors, (11), 9 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) Word has length 76 [2022-04-08 08:30:53,245 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:30:53,245 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 4.0) internal successors, (56), 7 states have internal predecessors, (56), 4 states have call successors, (11), 9 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 08:30:53,305 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:30:53,305 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 08:30:53,305 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:30:53,305 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 08:30:53,305 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=142, Unknown=0, NotChecked=0, Total=182 [2022-04-08 08:30:53,306 INFO L87 Difference]: Start difference. First operand 344 states and 442 transitions. Second operand has 14 states, 14 states have (on average 4.0) internal successors, (56), 7 states have internal predecessors, (56), 4 states have call successors, (11), 9 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 08:30:56,742 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.20s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:30:58,755 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:31:00,786 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:31:02,823 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:31:04,846 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:31:17,755 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:31:17,755 INFO L93 Difference]: Finished difference Result 422 states and 536 transitions. [2022-04-08 08:31:17,755 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2022-04-08 08:31:17,755 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 4.0) internal successors, (56), 7 states have internal predecessors, (56), 4 states have call successors, (11), 9 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) Word has length 76 [2022-04-08 08:31:17,755 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:31:17,755 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 4.0) internal successors, (56), 7 states have internal predecessors, (56), 4 states have call successors, (11), 9 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 08:31:17,760 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 508 transitions. [2022-04-08 08:31:17,760 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 4.0) internal successors, (56), 7 states have internal predecessors, (56), 4 states have call successors, (11), 9 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 08:31:17,762 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 508 transitions. [2022-04-08 08:31:17,763 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 25 states and 508 transitions. [2022-04-08 08:31:18,342 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 508 edges. 508 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:31:18,349 INFO L225 Difference]: With dead ends: 422 [2022-04-08 08:31:18,349 INFO L226 Difference]: Without dead ends: 379 [2022-04-08 08:31:18,350 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 252 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=271, Invalid=989, Unknown=0, NotChecked=0, Total=1260 [2022-04-08 08:31:18,350 INFO L913 BasicCegarLoop]: 301 mSDtfsCounter, 1310 mSDsluCounter, 307 mSDsCounter, 0 mSdLazyCounter, 1520 mSolverCounterSat, 458 mSolverCounterUnsat, 4 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 13.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1315 SdHoareTripleChecker+Valid, 608 SdHoareTripleChecker+Invalid, 1982 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 458 IncrementalHoareTripleChecker+Valid, 1520 IncrementalHoareTripleChecker+Invalid, 4 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 13.7s IncrementalHoareTripleChecker+Time [2022-04-08 08:31:18,350 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [1315 Valid, 608 Invalid, 1982 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [458 Valid, 1520 Invalid, 4 Unknown, 0 Unchecked, 13.7s Time] [2022-04-08 08:31:18,351 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 379 states. [2022-04-08 08:31:18,791 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 379 to 344. [2022-04-08 08:31:18,791 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:31:18,791 INFO L82 GeneralOperation]: Start isEquivalent. First operand 379 states. Second operand has 344 states, 273 states have (on average 1.3296703296703296) internal successors, (363), 277 states have internal predecessors, (363), 38 states have call successors, (38), 30 states have call predecessors, (38), 32 states have return successors, (38), 36 states have call predecessors, (38), 33 states have call successors, (38) [2022-04-08 08:31:18,804 INFO L74 IsIncluded]: Start isIncluded. First operand 379 states. Second operand has 344 states, 273 states have (on average 1.3296703296703296) internal successors, (363), 277 states have internal predecessors, (363), 38 states have call successors, (38), 30 states have call predecessors, (38), 32 states have return successors, (38), 36 states have call predecessors, (38), 33 states have call successors, (38) [2022-04-08 08:31:18,805 INFO L87 Difference]: Start difference. First operand 379 states. Second operand has 344 states, 273 states have (on average 1.3296703296703296) internal successors, (363), 277 states have internal predecessors, (363), 38 states have call successors, (38), 30 states have call predecessors, (38), 32 states have return successors, (38), 36 states have call predecessors, (38), 33 states have call successors, (38) [2022-04-08 08:31:18,811 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:31:18,811 INFO L93 Difference]: Finished difference Result 379 states and 484 transitions. [2022-04-08 08:31:18,811 INFO L276 IsEmpty]: Start isEmpty. Operand 379 states and 484 transitions. [2022-04-08 08:31:18,812 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:31:18,812 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:31:18,812 INFO L74 IsIncluded]: Start isIncluded. First operand has 344 states, 273 states have (on average 1.3296703296703296) internal successors, (363), 277 states have internal predecessors, (363), 38 states have call successors, (38), 30 states have call predecessors, (38), 32 states have return successors, (38), 36 states have call predecessors, (38), 33 states have call successors, (38) Second operand 379 states. [2022-04-08 08:31:18,812 INFO L87 Difference]: Start difference. First operand has 344 states, 273 states have (on average 1.3296703296703296) internal successors, (363), 277 states have internal predecessors, (363), 38 states have call successors, (38), 30 states have call predecessors, (38), 32 states have return successors, (38), 36 states have call predecessors, (38), 33 states have call successors, (38) Second operand 379 states. [2022-04-08 08:31:18,818 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:31:18,818 INFO L93 Difference]: Finished difference Result 379 states and 484 transitions. [2022-04-08 08:31:18,818 INFO L276 IsEmpty]: Start isEmpty. Operand 379 states and 484 transitions. [2022-04-08 08:31:18,819 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:31:18,819 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:31:18,819 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:31:18,819 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:31:18,819 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 344 states, 273 states have (on average 1.3296703296703296) internal successors, (363), 277 states have internal predecessors, (363), 38 states have call successors, (38), 30 states have call predecessors, (38), 32 states have return successors, (38), 36 states have call predecessors, (38), 33 states have call successors, (38) [2022-04-08 08:31:18,825 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 344 states to 344 states and 439 transitions. [2022-04-08 08:31:18,825 INFO L78 Accepts]: Start accepts. Automaton has 344 states and 439 transitions. Word has length 76 [2022-04-08 08:31:18,825 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:31:18,825 INFO L478 AbstractCegarLoop]: Abstraction has 344 states and 439 transitions. [2022-04-08 08:31:18,826 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 4.0) internal successors, (56), 7 states have internal predecessors, (56), 4 states have call successors, (11), 9 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 08:31:18,826 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 344 states and 439 transitions. [2022-04-08 08:31:19,509 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 439 edges. 439 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:31:19,509 INFO L276 IsEmpty]: Start isEmpty. Operand 344 states and 439 transitions. [2022-04-08 08:31:19,510 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 77 [2022-04-08 08:31:19,510 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:31:19,510 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:31:19,510 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14 [2022-04-08 08:31:19,510 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:31:19,510 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:31:19,510 INFO L85 PathProgramCache]: Analyzing trace with hash 1346047832, now seen corresponding path program 1 times [2022-04-08 08:31:19,510 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:31:19,510 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [312328491] [2022-04-08 08:31:19,511 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 08:31:19,511 INFO L85 PathProgramCache]: Analyzing trace with hash 1346047832, now seen corresponding path program 2 times [2022-04-08 08:31:19,511 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:31:19,511 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1025307775] [2022-04-08 08:31:19,511 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:31:19,511 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:31:19,558 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:31:19,607 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:31:19,609 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:31:19,614 INFO L290 TraceCheckUtils]: 0: Hoare triple {38333#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {38288#true} is VALID [2022-04-08 08:31:19,614 INFO L290 TraceCheckUtils]: 1: Hoare triple {38288#true} assume true; {38288#true} is VALID [2022-04-08 08:31:19,614 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38288#true} {38288#true} #1270#return; {38288#true} is VALID [2022-04-08 08:31:19,632 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:31:19,633 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:31:19,638 INFO L290 TraceCheckUtils]: 0: Hoare triple {38334#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {38288#true} is VALID [2022-04-08 08:31:19,638 INFO L290 TraceCheckUtils]: 1: Hoare triple {38288#true} assume true; {38288#true} is VALID [2022-04-08 08:31:19,638 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38288#true} {38288#true} #1216#return; {38288#true} is VALID [2022-04-08 08:31:19,644 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:31:19,650 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:31:19,657 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:31:19,657 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:31:19,661 INFO L290 TraceCheckUtils]: 0: Hoare triple {38288#true} ~cond := #in~cond; {38288#true} is VALID [2022-04-08 08:31:19,661 INFO L290 TraceCheckUtils]: 1: Hoare triple {38288#true} assume !(0 == ~cond); {38288#true} is VALID [2022-04-08 08:31:19,662 INFO L290 TraceCheckUtils]: 2: Hoare triple {38288#true} assume true; {38288#true} is VALID [2022-04-08 08:31:19,662 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38288#true} {38288#true} #1254#return; {38288#true} is VALID [2022-04-08 08:31:19,662 INFO L290 TraceCheckUtils]: 0: Hoare triple {38335#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {38288#true} is VALID [2022-04-08 08:31:19,662 INFO L272 TraceCheckUtils]: 1: Hoare triple {38288#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {38288#true} is VALID [2022-04-08 08:31:19,662 INFO L290 TraceCheckUtils]: 2: Hoare triple {38288#true} ~cond := #in~cond; {38288#true} is VALID [2022-04-08 08:31:19,662 INFO L290 TraceCheckUtils]: 3: Hoare triple {38288#true} assume !(0 == ~cond); {38288#true} is VALID [2022-04-08 08:31:19,662 INFO L290 TraceCheckUtils]: 4: Hoare triple {38288#true} assume true; {38288#true} is VALID [2022-04-08 08:31:19,662 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {38288#true} {38288#true} #1254#return; {38288#true} is VALID [2022-04-08 08:31:19,662 INFO L290 TraceCheckUtils]: 6: Hoare triple {38288#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {38288#true} is VALID [2022-04-08 08:31:19,662 INFO L290 TraceCheckUtils]: 7: Hoare triple {38288#true} assume true; {38288#true} is VALID [2022-04-08 08:31:19,662 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {38288#true} {38288#true} #1218#return; {38288#true} is VALID [2022-04-08 08:31:19,669 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:31:19,672 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:31:19,677 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:31:19,678 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:31:19,683 INFO L290 TraceCheckUtils]: 0: Hoare triple {38340#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {38288#true} is VALID [2022-04-08 08:31:19,683 INFO L290 TraceCheckUtils]: 1: Hoare triple {38288#true} assume !(0 == ~__BLAST_NONDET~5); {38288#true} is VALID [2022-04-08 08:31:19,683 INFO L290 TraceCheckUtils]: 2: Hoare triple {38288#true} #res := -1073741823; {38288#true} is VALID [2022-04-08 08:31:19,683 INFO L290 TraceCheckUtils]: 3: Hoare triple {38288#true} assume true; {38288#true} is VALID [2022-04-08 08:31:19,683 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {38288#true} {38288#true} #1176#return; {38288#true} is VALID [2022-04-08 08:31:19,683 INFO L290 TraceCheckUtils]: 0: Hoare triple {38340#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {38288#true} is VALID [2022-04-08 08:31:19,684 INFO L272 TraceCheckUtils]: 1: Hoare triple {38288#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {38340#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:31:19,684 INFO L290 TraceCheckUtils]: 2: Hoare triple {38340#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {38288#true} is VALID [2022-04-08 08:31:19,684 INFO L290 TraceCheckUtils]: 3: Hoare triple {38288#true} assume !(0 == ~__BLAST_NONDET~5); {38288#true} is VALID [2022-04-08 08:31:19,684 INFO L290 TraceCheckUtils]: 4: Hoare triple {38288#true} #res := -1073741823; {38288#true} is VALID [2022-04-08 08:31:19,684 INFO L290 TraceCheckUtils]: 5: Hoare triple {38288#true} assume true; {38288#true} is VALID [2022-04-08 08:31:19,684 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {38288#true} {38288#true} #1176#return; {38288#true} is VALID [2022-04-08 08:31:19,684 INFO L290 TraceCheckUtils]: 7: Hoare triple {38288#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {38288#true} is VALID [2022-04-08 08:31:19,684 INFO L290 TraceCheckUtils]: 8: Hoare triple {38288#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {38288#true} is VALID [2022-04-08 08:31:19,685 INFO L290 TraceCheckUtils]: 9: Hoare triple {38288#true} assume true; {38288#true} is VALID [2022-04-08 08:31:19,685 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38288#true} {38288#true} #1220#return; {38288#true} is VALID [2022-04-08 08:31:19,695 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 08:31:19,696 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:31:19,700 INFO L290 TraceCheckUtils]: 0: Hoare triple {38346#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {38288#true} is VALID [2022-04-08 08:31:19,701 INFO L290 TraceCheckUtils]: 1: Hoare triple {38288#true} assume true; {38288#true} is VALID [2022-04-08 08:31:19,701 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38288#true} {38288#true} #1222#return; {38288#true} is VALID [2022-04-08 08:31:19,711 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 47 [2022-04-08 08:31:19,717 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:31:19,737 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:31:19,738 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:31:19,742 INFO L290 TraceCheckUtils]: 0: Hoare triple {38353#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {38288#true} is VALID [2022-04-08 08:31:19,742 INFO L290 TraceCheckUtils]: 1: Hoare triple {38288#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {38288#true} is VALID [2022-04-08 08:31:19,742 INFO L290 TraceCheckUtils]: 2: Hoare triple {38288#true} assume true; {38288#true} is VALID [2022-04-08 08:31:19,742 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38288#true} {38289#false} #1248#return; {38289#false} is VALID [2022-04-08 08:31:19,743 INFO L290 TraceCheckUtils]: 0: Hoare triple {38347#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~irpStack~2.base, ~irpStack~2.offset;havoc ~devExt~2.base, ~devExt~2.offset;havoc ~hookKeyboard~0.base, ~hookKeyboard~0.offset;havoc ~connectData~0.base, ~connectData~0.offset;havoc ~status~2;havoc ~tmp~2;~status~2 := 0;call #t~mem51.base, #t~mem51.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~2.base, ~devExt~2.offset := #t~mem51.base, #t~mem51.offset;havoc #t~mem51.base, #t~mem51.offset;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4);call #t~mem52.base, #t~mem52.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~2.base, ~irpStack~2.offset := #t~mem52.base, #t~mem52.offset;havoc #t~mem52.base, #t~mem52.offset;call #t~mem53 := read~int(~irpStack~2.base, 12 + ~irpStack~2.offset, 4); {38348#(<= 0 KbFilter_InternIoCtl_~status~2)} is VALID [2022-04-08 08:31:19,743 INFO L290 TraceCheckUtils]: 1: Hoare triple {38348#(<= 0 KbFilter_InternIoCtl_~status~2)} assume #t~mem53 % 4294967296 == ~bitwiseOr(~bitwiseOr(720896, 512), 3) % 4294967296;havoc #t~mem53; {38348#(<= 0 KbFilter_InternIoCtl_~status~2)} is VALID [2022-04-08 08:31:19,744 INFO L290 TraceCheckUtils]: 2: Hoare triple {38348#(<= 0 KbFilter_InternIoCtl_~status~2)} call #t~mem62.base, #t~mem62.offset := read~$Pointer$(~devExt~2.base, 20 + ~devExt~2.offset, 4); {38348#(<= 0 KbFilter_InternIoCtl_~status~2)} is VALID [2022-04-08 08:31:19,744 INFO L290 TraceCheckUtils]: 3: Hoare triple {38348#(<= 0 KbFilter_InternIoCtl_~status~2)} assume !(0 != (#t~mem62.base + #t~mem62.offset) % 4294967296);havoc #t~mem62.base, #t~mem62.offset;call #t~mem63 := read~int(~irpStack~2.base, 8 + ~irpStack~2.offset, 4); {38348#(<= 0 KbFilter_InternIoCtl_~status~2)} is VALID [2022-04-08 08:31:19,744 INFO L290 TraceCheckUtils]: 4: Hoare triple {38348#(<= 0 KbFilter_InternIoCtl_~status~2)} assume !(#t~mem63 % 4294967296 < 8);havoc #t~mem63;call #t~mem64.base, #t~mem64.offset := read~$Pointer$(~irpStack~2.base, 16 + ~irpStack~2.offset, 4);~connectData~0.base, ~connectData~0.offset := #t~mem64.base, #t~mem64.offset;havoc #t~mem64.base, #t~mem64.offset;call #t~mem65.base, #t~mem65.offset := read~$Pointer$(~connectData~0.base, ~connectData~0.offset, 4);call #t~mem66.base, #t~mem66.offset := read~$Pointer$(~connectData~0.base, 4 + ~connectData~0.offset, 4);call write~$Pointer$(#t~mem65.base, #t~mem65.offset, ~devExt~2.base, 16 + ~devExt~2.offset, 4);call write~$Pointer$(#t~mem66.base, #t~mem66.offset, ~devExt~2.base, 20 + ~devExt~2.offset, 4);havoc #t~mem65.base, #t~mem65.offset;havoc #t~mem66.base, #t~mem66.offset;call #t~mem67.base, #t~mem67.offset := read~$Pointer$(~devExt~2.base, ~devExt~2.offset, 4);call write~$Pointer$(#t~mem67.base, #t~mem67.offset, ~connectData~0.base, ~connectData~0.offset, 4);havoc #t~mem67.base, #t~mem67.offset;call write~$Pointer$(#funAddr~KbFilter_ServiceCallback.base, #funAddr~KbFilter_ServiceCallback.offset, ~connectData~0.base, 4 + ~connectData~0.offset, 4); {38348#(<= 0 KbFilter_InternIoCtl_~status~2)} is VALID [2022-04-08 08:31:19,744 INFO L290 TraceCheckUtils]: 5: Hoare triple {38348#(<= 0 KbFilter_InternIoCtl_~status~2)} assume !(~status~2 >= 0);call write~int(~status~2, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~2; {38289#false} is VALID [2022-04-08 08:31:19,744 INFO L272 TraceCheckUtils]: 6: Hoare triple {38289#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {38353#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:31:19,744 INFO L290 TraceCheckUtils]: 7: Hoare triple {38353#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {38288#true} is VALID [2022-04-08 08:31:19,745 INFO L290 TraceCheckUtils]: 8: Hoare triple {38288#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {38288#true} is VALID [2022-04-08 08:31:19,745 INFO L290 TraceCheckUtils]: 9: Hoare triple {38288#true} assume true; {38288#true} is VALID [2022-04-08 08:31:19,745 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38288#true} {38289#false} #1248#return; {38289#false} is VALID [2022-04-08 08:31:19,745 INFO L290 TraceCheckUtils]: 11: Hoare triple {38289#false} #res := ~status~2; {38289#false} is VALID [2022-04-08 08:31:19,745 INFO L290 TraceCheckUtils]: 12: Hoare triple {38289#false} assume true; {38289#false} is VALID [2022-04-08 08:31:19,745 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {38289#false} {38288#true} #1234#return; {38289#false} is VALID [2022-04-08 08:31:19,746 INFO L272 TraceCheckUtils]: 0: Hoare triple {38288#true} call ULTIMATE.init(); {38333#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:31:19,746 INFO L290 TraceCheckUtils]: 1: Hoare triple {38333#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {38288#true} is VALID [2022-04-08 08:31:19,746 INFO L290 TraceCheckUtils]: 2: Hoare triple {38288#true} assume true; {38288#true} is VALID [2022-04-08 08:31:19,746 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38288#true} {38288#true} #1270#return; {38288#true} is VALID [2022-04-08 08:31:19,746 INFO L272 TraceCheckUtils]: 4: Hoare triple {38288#true} call #t~ret213 := main(); {38288#true} is VALID [2022-04-08 08:31:19,746 INFO L290 TraceCheckUtils]: 5: Hoare triple {38288#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {38288#true} is VALID [2022-04-08 08:31:19,747 INFO L272 TraceCheckUtils]: 6: Hoare triple {38288#true} call _BLAST_init(); {38334#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:31:19,747 INFO L290 TraceCheckUtils]: 7: Hoare triple {38334#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {38288#true} is VALID [2022-04-08 08:31:19,747 INFO L290 TraceCheckUtils]: 8: Hoare triple {38288#true} assume true; {38288#true} is VALID [2022-04-08 08:31:19,747 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {38288#true} {38288#true} #1216#return; {38288#true} is VALID [2022-04-08 08:31:19,748 INFO L272 TraceCheckUtils]: 10: Hoare triple {38288#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {38335#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:31:19,748 INFO L290 TraceCheckUtils]: 11: Hoare triple {38335#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {38288#true} is VALID [2022-04-08 08:31:19,748 INFO L272 TraceCheckUtils]: 12: Hoare triple {38288#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {38288#true} is VALID [2022-04-08 08:31:19,748 INFO L290 TraceCheckUtils]: 13: Hoare triple {38288#true} ~cond := #in~cond; {38288#true} is VALID [2022-04-08 08:31:19,748 INFO L290 TraceCheckUtils]: 14: Hoare triple {38288#true} assume !(0 == ~cond); {38288#true} is VALID [2022-04-08 08:31:19,748 INFO L290 TraceCheckUtils]: 15: Hoare triple {38288#true} assume true; {38288#true} is VALID [2022-04-08 08:31:19,748 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {38288#true} {38288#true} #1254#return; {38288#true} is VALID [2022-04-08 08:31:19,748 INFO L290 TraceCheckUtils]: 17: Hoare triple {38288#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {38288#true} is VALID [2022-04-08 08:31:19,748 INFO L290 TraceCheckUtils]: 18: Hoare triple {38288#true} assume true; {38288#true} is VALID [2022-04-08 08:31:19,748 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {38288#true} {38288#true} #1218#return; {38288#true} is VALID [2022-04-08 08:31:19,748 INFO L290 TraceCheckUtils]: 20: Hoare triple {38288#true} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {38288#true} is VALID [2022-04-08 08:31:19,748 INFO L290 TraceCheckUtils]: 21: Hoare triple {38288#true} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {38288#true} is VALID [2022-04-08 08:31:19,748 INFO L290 TraceCheckUtils]: 22: Hoare triple {38288#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {38288#true} is VALID [2022-04-08 08:31:19,749 INFO L272 TraceCheckUtils]: 23: Hoare triple {38288#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {38340#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:31:19,749 INFO L290 TraceCheckUtils]: 24: Hoare triple {38340#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {38288#true} is VALID [2022-04-08 08:31:19,750 INFO L272 TraceCheckUtils]: 25: Hoare triple {38288#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {38340#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:31:19,750 INFO L290 TraceCheckUtils]: 26: Hoare triple {38340#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {38288#true} is VALID [2022-04-08 08:31:19,750 INFO L290 TraceCheckUtils]: 27: Hoare triple {38288#true} assume !(0 == ~__BLAST_NONDET~5); {38288#true} is VALID [2022-04-08 08:31:19,750 INFO L290 TraceCheckUtils]: 28: Hoare triple {38288#true} #res := -1073741823; {38288#true} is VALID [2022-04-08 08:31:19,750 INFO L290 TraceCheckUtils]: 29: Hoare triple {38288#true} assume true; {38288#true} is VALID [2022-04-08 08:31:19,750 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {38288#true} {38288#true} #1176#return; {38288#true} is VALID [2022-04-08 08:31:19,750 INFO L290 TraceCheckUtils]: 31: Hoare triple {38288#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {38288#true} is VALID [2022-04-08 08:31:19,750 INFO L290 TraceCheckUtils]: 32: Hoare triple {38288#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {38288#true} is VALID [2022-04-08 08:31:19,751 INFO L290 TraceCheckUtils]: 33: Hoare triple {38288#true} assume true; {38288#true} is VALID [2022-04-08 08:31:19,751 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {38288#true} {38288#true} #1220#return; {38288#true} is VALID [2022-04-08 08:31:19,751 INFO L290 TraceCheckUtils]: 35: Hoare triple {38288#true} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {38288#true} is VALID [2022-04-08 08:31:19,751 INFO L272 TraceCheckUtils]: 36: Hoare triple {38288#true} call stub_driver_init(); {38346#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:31:19,751 INFO L290 TraceCheckUtils]: 37: Hoare triple {38346#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {38288#true} is VALID [2022-04-08 08:31:19,751 INFO L290 TraceCheckUtils]: 38: Hoare triple {38288#true} assume true; {38288#true} is VALID [2022-04-08 08:31:19,751 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {38288#true} {38288#true} #1222#return; {38288#true} is VALID [2022-04-08 08:31:19,751 INFO L290 TraceCheckUtils]: 40: Hoare triple {38288#true} assume !!(~status~5 >= 0); {38288#true} is VALID [2022-04-08 08:31:19,751 INFO L290 TraceCheckUtils]: 41: Hoare triple {38288#true} assume !(0 == ~__BLAST_NONDET~0); {38288#true} is VALID [2022-04-08 08:31:19,751 INFO L290 TraceCheckUtils]: 42: Hoare triple {38288#true} assume !(1 == ~__BLAST_NONDET~0); {38288#true} is VALID [2022-04-08 08:31:19,752 INFO L290 TraceCheckUtils]: 43: Hoare triple {38288#true} assume !(2 == ~__BLAST_NONDET~0); {38288#true} is VALID [2022-04-08 08:31:19,752 INFO L290 TraceCheckUtils]: 44: Hoare triple {38288#true} assume !(3 == ~__BLAST_NONDET~0); {38288#true} is VALID [2022-04-08 08:31:19,752 INFO L290 TraceCheckUtils]: 45: Hoare triple {38288#true} assume !(4 == ~__BLAST_NONDET~0); {38288#true} is VALID [2022-04-08 08:31:19,752 INFO L290 TraceCheckUtils]: 46: Hoare triple {38288#true} assume 8 == ~__BLAST_NONDET~0; {38288#true} is VALID [2022-04-08 08:31:19,752 INFO L272 TraceCheckUtils]: 47: Hoare triple {38288#true} call #t~ret176 := KbFilter_InternIoCtl(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {38347#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:31:19,753 INFO L290 TraceCheckUtils]: 48: Hoare triple {38347#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~irpStack~2.base, ~irpStack~2.offset;havoc ~devExt~2.base, ~devExt~2.offset;havoc ~hookKeyboard~0.base, ~hookKeyboard~0.offset;havoc ~connectData~0.base, ~connectData~0.offset;havoc ~status~2;havoc ~tmp~2;~status~2 := 0;call #t~mem51.base, #t~mem51.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~2.base, ~devExt~2.offset := #t~mem51.base, #t~mem51.offset;havoc #t~mem51.base, #t~mem51.offset;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4);call #t~mem52.base, #t~mem52.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~2.base, ~irpStack~2.offset := #t~mem52.base, #t~mem52.offset;havoc #t~mem52.base, #t~mem52.offset;call #t~mem53 := read~int(~irpStack~2.base, 12 + ~irpStack~2.offset, 4); {38348#(<= 0 KbFilter_InternIoCtl_~status~2)} is VALID [2022-04-08 08:31:19,753 INFO L290 TraceCheckUtils]: 49: Hoare triple {38348#(<= 0 KbFilter_InternIoCtl_~status~2)} assume #t~mem53 % 4294967296 == ~bitwiseOr(~bitwiseOr(720896, 512), 3) % 4294967296;havoc #t~mem53; {38348#(<= 0 KbFilter_InternIoCtl_~status~2)} is VALID [2022-04-08 08:31:19,753 INFO L290 TraceCheckUtils]: 50: Hoare triple {38348#(<= 0 KbFilter_InternIoCtl_~status~2)} call #t~mem62.base, #t~mem62.offset := read~$Pointer$(~devExt~2.base, 20 + ~devExt~2.offset, 4); {38348#(<= 0 KbFilter_InternIoCtl_~status~2)} is VALID [2022-04-08 08:31:19,754 INFO L290 TraceCheckUtils]: 51: Hoare triple {38348#(<= 0 KbFilter_InternIoCtl_~status~2)} assume !(0 != (#t~mem62.base + #t~mem62.offset) % 4294967296);havoc #t~mem62.base, #t~mem62.offset;call #t~mem63 := read~int(~irpStack~2.base, 8 + ~irpStack~2.offset, 4); {38348#(<= 0 KbFilter_InternIoCtl_~status~2)} is VALID [2022-04-08 08:31:19,754 INFO L290 TraceCheckUtils]: 52: Hoare triple {38348#(<= 0 KbFilter_InternIoCtl_~status~2)} assume !(#t~mem63 % 4294967296 < 8);havoc #t~mem63;call #t~mem64.base, #t~mem64.offset := read~$Pointer$(~irpStack~2.base, 16 + ~irpStack~2.offset, 4);~connectData~0.base, ~connectData~0.offset := #t~mem64.base, #t~mem64.offset;havoc #t~mem64.base, #t~mem64.offset;call #t~mem65.base, #t~mem65.offset := read~$Pointer$(~connectData~0.base, ~connectData~0.offset, 4);call #t~mem66.base, #t~mem66.offset := read~$Pointer$(~connectData~0.base, 4 + ~connectData~0.offset, 4);call write~$Pointer$(#t~mem65.base, #t~mem65.offset, ~devExt~2.base, 16 + ~devExt~2.offset, 4);call write~$Pointer$(#t~mem66.base, #t~mem66.offset, ~devExt~2.base, 20 + ~devExt~2.offset, 4);havoc #t~mem65.base, #t~mem65.offset;havoc #t~mem66.base, #t~mem66.offset;call #t~mem67.base, #t~mem67.offset := read~$Pointer$(~devExt~2.base, ~devExt~2.offset, 4);call write~$Pointer$(#t~mem67.base, #t~mem67.offset, ~connectData~0.base, ~connectData~0.offset, 4);havoc #t~mem67.base, #t~mem67.offset;call write~$Pointer$(#funAddr~KbFilter_ServiceCallback.base, #funAddr~KbFilter_ServiceCallback.offset, ~connectData~0.base, 4 + ~connectData~0.offset, 4); {38348#(<= 0 KbFilter_InternIoCtl_~status~2)} is VALID [2022-04-08 08:31:19,754 INFO L290 TraceCheckUtils]: 53: Hoare triple {38348#(<= 0 KbFilter_InternIoCtl_~status~2)} assume !(~status~2 >= 0);call write~int(~status~2, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~2; {38289#false} is VALID [2022-04-08 08:31:19,754 INFO L272 TraceCheckUtils]: 54: Hoare triple {38289#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {38353#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:31:19,754 INFO L290 TraceCheckUtils]: 55: Hoare triple {38353#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {38288#true} is VALID [2022-04-08 08:31:19,754 INFO L290 TraceCheckUtils]: 56: Hoare triple {38288#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {38288#true} is VALID [2022-04-08 08:31:19,754 INFO L290 TraceCheckUtils]: 57: Hoare triple {38288#true} assume true; {38288#true} is VALID [2022-04-08 08:31:19,754 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {38288#true} {38289#false} #1248#return; {38289#false} is VALID [2022-04-08 08:31:19,754 INFO L290 TraceCheckUtils]: 59: Hoare triple {38289#false} #res := ~status~2; {38289#false} is VALID [2022-04-08 08:31:19,755 INFO L290 TraceCheckUtils]: 60: Hoare triple {38289#false} assume true; {38289#false} is VALID [2022-04-08 08:31:19,755 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {38289#false} {38288#true} #1234#return; {38289#false} is VALID [2022-04-08 08:31:19,755 INFO L290 TraceCheckUtils]: 62: Hoare triple {38289#false} assume -2147483648 <= #t~ret176 && #t~ret176 <= 2147483647;~status~5 := #t~ret176;havoc #t~ret176; {38289#false} is VALID [2022-04-08 08:31:19,755 INFO L290 TraceCheckUtils]: 63: Hoare triple {38289#false} assume 0 != ~we_should_unload~0; {38289#false} is VALID [2022-04-08 08:31:19,755 INFO L290 TraceCheckUtils]: 64: Hoare triple {38289#false} assume !(1 == ~pended~0); {38289#false} is VALID [2022-04-08 08:31:19,755 INFO L290 TraceCheckUtils]: 65: Hoare triple {38289#false} assume !(1 == ~pended~0); {38289#false} is VALID [2022-04-08 08:31:19,755 INFO L290 TraceCheckUtils]: 66: Hoare triple {38289#false} assume !(~s~0 == ~UNLOADED~0); {38289#false} is VALID [2022-04-08 08:31:19,755 INFO L290 TraceCheckUtils]: 67: Hoare triple {38289#false} assume !(-1 == ~status~5); {38289#false} is VALID [2022-04-08 08:31:19,755 INFO L290 TraceCheckUtils]: 68: Hoare triple {38289#false} assume ~s~0 != ~SKIP2~0; {38289#false} is VALID [2022-04-08 08:31:19,755 INFO L290 TraceCheckUtils]: 69: Hoare triple {38289#false} assume ~s~0 != ~IPC~0; {38289#false} is VALID [2022-04-08 08:31:19,755 INFO L290 TraceCheckUtils]: 70: Hoare triple {38289#false} assume !(~s~0 != ~DC~0); {38289#false} is VALID [2022-04-08 08:31:19,755 INFO L290 TraceCheckUtils]: 71: Hoare triple {38289#false} assume !(1 == ~pended~0); {38289#false} is VALID [2022-04-08 08:31:19,755 INFO L290 TraceCheckUtils]: 72: Hoare triple {38289#false} assume ~s~0 == ~DC~0; {38289#false} is VALID [2022-04-08 08:31:19,755 INFO L290 TraceCheckUtils]: 73: Hoare triple {38289#false} assume 259 == ~status~5; {38289#false} is VALID [2022-04-08 08:31:19,755 INFO L272 TraceCheckUtils]: 74: Hoare triple {38289#false} call errorFn(); {38289#false} is VALID [2022-04-08 08:31:19,755 INFO L290 TraceCheckUtils]: 75: Hoare triple {38289#false} assume !false; {38289#false} is VALID [2022-04-08 08:31:19,756 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 08:31:19,756 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:31:19,756 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1025307775] [2022-04-08 08:31:19,756 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1025307775] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:31:19,756 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:31:19,756 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 08:31:19,756 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:31:19,756 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [312328491] [2022-04-08 08:31:19,756 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [312328491] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:31:19,756 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:31:19,756 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 08:31:19,756 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [172634056] [2022-04-08 08:31:19,756 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:31:19,757 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 5.6) internal successors, (56), 3 states have internal predecessors, (56), 2 states have call successors, (11), 9 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 76 [2022-04-08 08:31:19,757 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:31:19,757 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 5.6) internal successors, (56), 3 states have internal predecessors, (56), 2 states have call successors, (11), 9 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:31:19,813 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:31:19,813 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 08:31:19,813 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:31:19,813 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 08:31:19,813 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=64, Unknown=0, NotChecked=0, Total=90 [2022-04-08 08:31:19,813 INFO L87 Difference]: Start difference. First operand 344 states and 439 transitions. Second operand has 10 states, 10 states have (on average 5.6) internal successors, (56), 3 states have internal predecessors, (56), 2 states have call successors, (11), 9 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:31:23,644 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.71s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:31:25,652 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:31:29,618 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.94s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:31:31,628 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:31:38,358 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:31:38,358 INFO L93 Difference]: Finished difference Result 378 states and 480 transitions. [2022-04-08 08:31:38,358 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 08:31:38,359 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 5.6) internal successors, (56), 3 states have internal predecessors, (56), 2 states have call successors, (11), 9 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 76 [2022-04-08 08:31:38,359 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:31:38,359 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 5.6) internal successors, (56), 3 states have internal predecessors, (56), 2 states have call successors, (11), 9 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:31:38,361 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 427 transitions. [2022-04-08 08:31:38,361 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 5.6) internal successors, (56), 3 states have internal predecessors, (56), 2 states have call successors, (11), 9 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:31:38,382 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 427 transitions. [2022-04-08 08:31:38,383 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 427 transitions. [2022-04-08 08:31:38,837 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 427 edges. 427 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:31:38,844 INFO L225 Difference]: With dead ends: 378 [2022-04-08 08:31:38,844 INFO L226 Difference]: Without dead ends: 355 [2022-04-08 08:31:38,844 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=57, Invalid=125, Unknown=0, NotChecked=0, Total=182 [2022-04-08 08:31:38,845 INFO L913 BasicCegarLoop]: 271 mSDtfsCounter, 621 mSDsluCounter, 199 mSDsCounter, 0 mSdLazyCounter, 750 mSolverCounterSat, 223 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 9.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 624 SdHoareTripleChecker+Valid, 470 SdHoareTripleChecker+Invalid, 975 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 223 IncrementalHoareTripleChecker+Valid, 750 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 9.3s IncrementalHoareTripleChecker+Time [2022-04-08 08:31:38,845 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [624 Valid, 470 Invalid, 975 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [223 Valid, 750 Invalid, 2 Unknown, 0 Unchecked, 9.3s Time] [2022-04-08 08:31:38,846 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 355 states. [2022-04-08 08:31:39,283 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 355 to 335. [2022-04-08 08:31:39,283 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:31:39,284 INFO L82 GeneralOperation]: Start isEquivalent. First operand 355 states. Second operand has 335 states, 267 states have (on average 1.3333333333333333) internal successors, (356), 271 states have internal predecessors, (356), 37 states have call successors, (37), 29 states have call predecessors, (37), 30 states have return successors, (36), 34 states have call predecessors, (36), 32 states have call successors, (36) [2022-04-08 08:31:39,284 INFO L74 IsIncluded]: Start isIncluded. First operand 355 states. Second operand has 335 states, 267 states have (on average 1.3333333333333333) internal successors, (356), 271 states have internal predecessors, (356), 37 states have call successors, (37), 29 states have call predecessors, (37), 30 states have return successors, (36), 34 states have call predecessors, (36), 32 states have call successors, (36) [2022-04-08 08:31:39,284 INFO L87 Difference]: Start difference. First operand 355 states. Second operand has 335 states, 267 states have (on average 1.3333333333333333) internal successors, (356), 271 states have internal predecessors, (356), 37 states have call successors, (37), 29 states have call predecessors, (37), 30 states have return successors, (36), 34 states have call predecessors, (36), 32 states have call successors, (36) [2022-04-08 08:31:39,290 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:31:39,290 INFO L93 Difference]: Finished difference Result 355 states and 456 transitions. [2022-04-08 08:31:39,290 INFO L276 IsEmpty]: Start isEmpty. Operand 355 states and 456 transitions. [2022-04-08 08:31:39,290 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:31:39,290 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:31:39,291 INFO L74 IsIncluded]: Start isIncluded. First operand has 335 states, 267 states have (on average 1.3333333333333333) internal successors, (356), 271 states have internal predecessors, (356), 37 states have call successors, (37), 29 states have call predecessors, (37), 30 states have return successors, (36), 34 states have call predecessors, (36), 32 states have call successors, (36) Second operand 355 states. [2022-04-08 08:31:39,291 INFO L87 Difference]: Start difference. First operand has 335 states, 267 states have (on average 1.3333333333333333) internal successors, (356), 271 states have internal predecessors, (356), 37 states have call successors, (37), 29 states have call predecessors, (37), 30 states have return successors, (36), 34 states have call predecessors, (36), 32 states have call successors, (36) Second operand 355 states. [2022-04-08 08:31:39,296 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:31:39,296 INFO L93 Difference]: Finished difference Result 355 states and 456 transitions. [2022-04-08 08:31:39,296 INFO L276 IsEmpty]: Start isEmpty. Operand 355 states and 456 transitions. [2022-04-08 08:31:39,296 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:31:39,297 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:31:39,297 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:31:39,297 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:31:39,297 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 335 states, 267 states have (on average 1.3333333333333333) internal successors, (356), 271 states have internal predecessors, (356), 37 states have call successors, (37), 29 states have call predecessors, (37), 30 states have return successors, (36), 34 states have call predecessors, (36), 32 states have call successors, (36) [2022-04-08 08:31:39,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 335 states to 335 states and 429 transitions. [2022-04-08 08:31:39,308 INFO L78 Accepts]: Start accepts. Automaton has 335 states and 429 transitions. Word has length 76 [2022-04-08 08:31:39,308 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:31:39,308 INFO L478 AbstractCegarLoop]: Abstraction has 335 states and 429 transitions. [2022-04-08 08:31:39,308 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 5.6) internal successors, (56), 3 states have internal predecessors, (56), 2 states have call successors, (11), 9 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:31:39,308 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 335 states and 429 transitions. [2022-04-08 08:31:40,011 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 429 edges. 429 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:31:40,011 INFO L276 IsEmpty]: Start isEmpty. Operand 335 states and 429 transitions. [2022-04-08 08:31:40,012 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2022-04-08 08:31:40,012 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:31:40,012 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:31:40,012 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable15 [2022-04-08 08:31:40,012 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:31:40,012 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:31:40,012 INFO L85 PathProgramCache]: Analyzing trace with hash 2131421, now seen corresponding path program 1 times [2022-04-08 08:31:40,012 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:31:40,012 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [294776762] [2022-04-08 08:31:40,013 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 08:31:40,013 INFO L85 PathProgramCache]: Analyzing trace with hash 2131421, now seen corresponding path program 2 times [2022-04-08 08:31:40,013 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:31:40,013 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1243674244] [2022-04-08 08:31:40,013 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:31:40,013 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:31:40,074 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:31:40,147 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:31:40,148 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:31:40,153 INFO L290 TraceCheckUtils]: 0: Hoare triple {40554#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {40502#true} is VALID [2022-04-08 08:31:40,153 INFO L290 TraceCheckUtils]: 1: Hoare triple {40502#true} assume true; {40502#true} is VALID [2022-04-08 08:31:40,153 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40502#true} {40502#true} #1270#return; {40502#true} is VALID [2022-04-08 08:31:40,180 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:31:40,181 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:31:40,186 INFO L290 TraceCheckUtils]: 0: Hoare triple {40555#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {40502#true} is VALID [2022-04-08 08:31:40,186 INFO L290 TraceCheckUtils]: 1: Hoare triple {40502#true} assume true; {40502#true} is VALID [2022-04-08 08:31:40,186 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40502#true} {40502#true} #1216#return; {40502#true} is VALID [2022-04-08 08:31:40,198 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:31:40,205 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:31:40,212 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:31:40,212 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:31:40,216 INFO L290 TraceCheckUtils]: 0: Hoare triple {40502#true} ~cond := #in~cond; {40502#true} is VALID [2022-04-08 08:31:40,216 INFO L290 TraceCheckUtils]: 1: Hoare triple {40502#true} assume !(0 == ~cond); {40502#true} is VALID [2022-04-08 08:31:40,216 INFO L290 TraceCheckUtils]: 2: Hoare triple {40502#true} assume true; {40502#true} is VALID [2022-04-08 08:31:40,217 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40502#true} {40502#true} #1254#return; {40502#true} is VALID [2022-04-08 08:31:40,218 INFO L290 TraceCheckUtils]: 0: Hoare triple {40556#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {40502#true} is VALID [2022-04-08 08:31:40,218 INFO L272 TraceCheckUtils]: 1: Hoare triple {40502#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {40502#true} is VALID [2022-04-08 08:31:40,218 INFO L290 TraceCheckUtils]: 2: Hoare triple {40502#true} ~cond := #in~cond; {40502#true} is VALID [2022-04-08 08:31:40,218 INFO L290 TraceCheckUtils]: 3: Hoare triple {40502#true} assume !(0 == ~cond); {40502#true} is VALID [2022-04-08 08:31:40,218 INFO L290 TraceCheckUtils]: 4: Hoare triple {40502#true} assume true; {40502#true} is VALID [2022-04-08 08:31:40,218 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {40502#true} {40502#true} #1254#return; {40502#true} is VALID [2022-04-08 08:31:40,218 INFO L290 TraceCheckUtils]: 6: Hoare triple {40502#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {40502#true} is VALID [2022-04-08 08:31:40,218 INFO L290 TraceCheckUtils]: 7: Hoare triple {40502#true} assume true; {40502#true} is VALID [2022-04-08 08:31:40,218 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {40502#true} {40502#true} #1218#return; {40502#true} is VALID [2022-04-08 08:31:40,228 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:31:40,231 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:31:40,237 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:31:40,239 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:31:40,245 INFO L290 TraceCheckUtils]: 0: Hoare triple {40561#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {40502#true} is VALID [2022-04-08 08:31:40,245 INFO L290 TraceCheckUtils]: 1: Hoare triple {40502#true} assume !(0 == ~__BLAST_NONDET~5); {40502#true} is VALID [2022-04-08 08:31:40,245 INFO L290 TraceCheckUtils]: 2: Hoare triple {40502#true} #res := -1073741823; {40502#true} is VALID [2022-04-08 08:31:40,245 INFO L290 TraceCheckUtils]: 3: Hoare triple {40502#true} assume true; {40502#true} is VALID [2022-04-08 08:31:40,245 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {40502#true} {40502#true} #1176#return; {40502#true} is VALID [2022-04-08 08:31:40,245 INFO L290 TraceCheckUtils]: 0: Hoare triple {40561#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {40502#true} is VALID [2022-04-08 08:31:40,246 INFO L272 TraceCheckUtils]: 1: Hoare triple {40502#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {40561#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:31:40,247 INFO L290 TraceCheckUtils]: 2: Hoare triple {40561#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {40502#true} is VALID [2022-04-08 08:31:40,247 INFO L290 TraceCheckUtils]: 3: Hoare triple {40502#true} assume !(0 == ~__BLAST_NONDET~5); {40502#true} is VALID [2022-04-08 08:31:40,247 INFO L290 TraceCheckUtils]: 4: Hoare triple {40502#true} #res := -1073741823; {40502#true} is VALID [2022-04-08 08:31:40,247 INFO L290 TraceCheckUtils]: 5: Hoare triple {40502#true} assume true; {40502#true} is VALID [2022-04-08 08:31:40,247 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {40502#true} {40502#true} #1176#return; {40502#true} is VALID [2022-04-08 08:31:40,247 INFO L290 TraceCheckUtils]: 7: Hoare triple {40502#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {40502#true} is VALID [2022-04-08 08:31:40,247 INFO L290 TraceCheckUtils]: 8: Hoare triple {40502#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {40502#true} is VALID [2022-04-08 08:31:40,247 INFO L290 TraceCheckUtils]: 9: Hoare triple {40502#true} assume true; {40502#true} is VALID [2022-04-08 08:31:40,247 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {40502#true} {40502#true} #1220#return; {40502#true} is VALID [2022-04-08 08:31:40,261 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 08:31:40,262 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:31:40,266 INFO L290 TraceCheckUtils]: 0: Hoare triple {40567#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {40502#true} is VALID [2022-04-08 08:31:40,266 INFO L290 TraceCheckUtils]: 1: Hoare triple {40502#true} assume true; {40502#true} is VALID [2022-04-08 08:31:40,266 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40502#true} {40502#true} #1222#return; {40502#true} is VALID [2022-04-08 08:31:40,281 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-08 08:31:40,289 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:31:40,326 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-04-08 08:31:40,329 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:31:40,369 INFO L290 TraceCheckUtils]: 0: Hoare triple {40581#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet204 && #t~nondet204 <= 2147483647;~__BLAST_NONDET~16 := #t~nondet204;havoc #t~nondet204;havoc ~compRetStatus~1;havoc ~returnVal~0;~lcontext~1.base, ~lcontext~1.offset := 0, 0;havoc ~tmp~12; {40502#true} is VALID [2022-04-08 08:31:40,369 INFO L290 TraceCheckUtils]: 1: Hoare triple {40502#true} assume !(0 != ~compRegistered~0); {40502#true} is VALID [2022-04-08 08:31:40,369 INFO L290 TraceCheckUtils]: 2: Hoare triple {40502#true} assume 0 == ~__BLAST_NONDET~16; {40502#true} is VALID [2022-04-08 08:31:40,369 INFO L290 TraceCheckUtils]: 3: Hoare triple {40502#true} ~returnVal~0 := 0; {40582#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} is VALID [2022-04-08 08:31:40,370 INFO L290 TraceCheckUtils]: 4: Hoare triple {40582#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} assume !(~s~0 == ~NP~0); {40582#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} is VALID [2022-04-08 08:31:40,370 INFO L290 TraceCheckUtils]: 5: Hoare triple {40582#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} assume !(~s~0 == ~MPR1~0); {40582#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} is VALID [2022-04-08 08:31:40,370 INFO L290 TraceCheckUtils]: 6: Hoare triple {40582#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} assume ~s~0 == ~SKIP1~0;~s~0 := ~SKIP2~0;~lowerDriverReturn~0 := ~returnVal~0; {40582#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} is VALID [2022-04-08 08:31:40,371 INFO L290 TraceCheckUtils]: 7: Hoare triple {40582#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} #res := ~returnVal~0; {40583#(and (<= |PoCallDriver_#res| 0) (<= 0 |PoCallDriver_#res|))} is VALID [2022-04-08 08:31:40,371 INFO L290 TraceCheckUtils]: 8: Hoare triple {40583#(and (<= |PoCallDriver_#res| 0) (<= 0 |PoCallDriver_#res|))} assume true; {40583#(and (<= |PoCallDriver_#res| 0) (<= 0 |PoCallDriver_#res|))} is VALID [2022-04-08 08:31:40,372 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {40583#(and (<= |PoCallDriver_#res| 0) (<= 0 |PoCallDriver_#res|))} {40502#true} #1268#return; {40579#(= |KbFilter_Power_#t~ret136| 0)} is VALID [2022-04-08 08:31:40,372 INFO L290 TraceCheckUtils]: 0: Hoare triple {40568#(and (= |old(#length)| |#length|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~irpStack~4.base, ~irpStack~4.offset;havoc ~devExt~4.base, ~devExt~4.offset;call ~#powerState~0.base, ~#powerState~0.offset := #Ultimate.allocOnStack(4);havoc ~powerType~0;havoc ~tmp~3;call #t~mem123.base, #t~mem123.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~4.base, ~devExt~4.offset := #t~mem123.base, #t~mem123.offset;havoc #t~mem123.base, #t~mem123.offset;call #t~mem124.base, #t~mem124.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~4.base, ~irpStack~4.offset := #t~mem124.base, #t~mem124.offset;havoc #t~mem124.base, #t~mem124.offset;call #t~mem125 := read~int(~irpStack~4.base, 8 + ~irpStack~4.offset, 4);~powerType~0 := #t~mem125;havoc #t~mem125;call #t~mem126 := read~int(~irpStack~4.base, 12 + ~irpStack~4.offset, 4);call #t~mem127 := read~int(~irpStack~4.base, 12 + ~irpStack~4.offset, 4);call write~int(#t~mem126, ~#powerState~0.base, ~#powerState~0.offset, 4);call write~int(#t~mem127, ~#powerState~0.base, ~#powerState~0.offset, 4);havoc #t~mem126;havoc #t~mem127;call #t~mem128 := read~int(~irpStack~4.base, 1 + ~irpStack~4.offset, 1); {40502#true} is VALID [2022-04-08 08:31:40,373 INFO L290 TraceCheckUtils]: 1: Hoare triple {40502#true} assume 2 == #t~mem128 % 256;havoc #t~mem128; {40502#true} is VALID [2022-04-08 08:31:40,373 INFO L290 TraceCheckUtils]: 2: Hoare triple {40502#true} assume 1 == ~powerType~0;call #t~mem132 := read~int(~#powerState~0.base, ~#powerState~0.offset, 4);call write~int(#t~mem132, ~devExt~4.base, 48 + ~devExt~4.offset, 4);havoc #t~mem132; {40502#true} is VALID [2022-04-08 08:31:40,373 INFO L290 TraceCheckUtils]: 3: Hoare triple {40502#true} assume ~s~0 == ~NP~0;~s~0 := ~SKIP1~0; {40502#true} is VALID [2022-04-08 08:31:40,373 INFO L290 TraceCheckUtils]: 4: Hoare triple {40502#true} call #t~mem133 := read~int(~Irp.base, 35 + ~Irp.offset, 1);call write~int((if (1 + #t~mem133) % 256 <= 127 then (1 + #t~mem133) % 256 else (1 + #t~mem133) % 256 - 256), ~Irp.base, 35 + ~Irp.offset, 1);havoc #t~mem133;call #t~mem134.base, #t~mem134.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);call write~$Pointer$(#t~mem134.base, 36 + #t~mem134.offset, ~Irp.base, 96 + ~Irp.offset, 4);havoc #t~mem134.base, #t~mem134.offset;call #t~mem135.base, #t~mem135.offset := read~$Pointer$(~devExt~4.base, 8 + ~devExt~4.offset, 4); {40502#true} is VALID [2022-04-08 08:31:40,374 INFO L272 TraceCheckUtils]: 5: Hoare triple {40502#true} call #t~ret136 := PoCallDriver(#t~mem135.base, #t~mem135.offset, ~Irp.base, ~Irp.offset); {40581#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:31:40,374 INFO L290 TraceCheckUtils]: 6: Hoare triple {40581#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet204 && #t~nondet204 <= 2147483647;~__BLAST_NONDET~16 := #t~nondet204;havoc #t~nondet204;havoc ~compRetStatus~1;havoc ~returnVal~0;~lcontext~1.base, ~lcontext~1.offset := 0, 0;havoc ~tmp~12; {40502#true} is VALID [2022-04-08 08:31:40,374 INFO L290 TraceCheckUtils]: 7: Hoare triple {40502#true} assume !(0 != ~compRegistered~0); {40502#true} is VALID [2022-04-08 08:31:40,374 INFO L290 TraceCheckUtils]: 8: Hoare triple {40502#true} assume 0 == ~__BLAST_NONDET~16; {40502#true} is VALID [2022-04-08 08:31:40,374 INFO L290 TraceCheckUtils]: 9: Hoare triple {40502#true} ~returnVal~0 := 0; {40582#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} is VALID [2022-04-08 08:31:40,374 INFO L290 TraceCheckUtils]: 10: Hoare triple {40582#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} assume !(~s~0 == ~NP~0); {40582#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} is VALID [2022-04-08 08:31:40,375 INFO L290 TraceCheckUtils]: 11: Hoare triple {40582#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} assume !(~s~0 == ~MPR1~0); {40582#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} is VALID [2022-04-08 08:31:40,375 INFO L290 TraceCheckUtils]: 12: Hoare triple {40582#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} assume ~s~0 == ~SKIP1~0;~s~0 := ~SKIP2~0;~lowerDriverReturn~0 := ~returnVal~0; {40582#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} is VALID [2022-04-08 08:31:40,375 INFO L290 TraceCheckUtils]: 13: Hoare triple {40582#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} #res := ~returnVal~0; {40583#(and (<= |PoCallDriver_#res| 0) (<= 0 |PoCallDriver_#res|))} is VALID [2022-04-08 08:31:40,376 INFO L290 TraceCheckUtils]: 14: Hoare triple {40583#(and (<= |PoCallDriver_#res| 0) (<= 0 |PoCallDriver_#res|))} assume true; {40583#(and (<= |PoCallDriver_#res| 0) (<= 0 |PoCallDriver_#res|))} is VALID [2022-04-08 08:31:40,377 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {40583#(and (<= |PoCallDriver_#res| 0) (<= 0 |PoCallDriver_#res|))} {40502#true} #1268#return; {40579#(= |KbFilter_Power_#t~ret136| 0)} is VALID [2022-04-08 08:31:40,377 INFO L290 TraceCheckUtils]: 16: Hoare triple {40579#(= |KbFilter_Power_#t~ret136| 0)} assume -2147483648 <= #t~ret136 && #t~ret136 <= 2147483647;~tmp~3 := #t~ret136;havoc #t~mem135.base, #t~mem135.offset;havoc #t~ret136;#res := ~tmp~3;call ULTIMATE.dealloc(~#powerState~0.base, ~#powerState~0.offset);havoc ~#powerState~0.base, ~#powerState~0.offset; {40580#(= |KbFilter_Power_#res| 0)} is VALID [2022-04-08 08:31:40,377 INFO L290 TraceCheckUtils]: 17: Hoare triple {40580#(= |KbFilter_Power_#res| 0)} assume true; {40580#(= |KbFilter_Power_#res| 0)} is VALID [2022-04-08 08:31:40,378 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {40580#(= |KbFilter_Power_#res| 0)} {40502#true} #1232#return; {40552#(= 0 |main_#t~ret175|)} is VALID [2022-04-08 08:31:40,380 INFO L272 TraceCheckUtils]: 0: Hoare triple {40502#true} call ULTIMATE.init(); {40554#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:31:40,380 INFO L290 TraceCheckUtils]: 1: Hoare triple {40554#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {40502#true} is VALID [2022-04-08 08:31:40,380 INFO L290 TraceCheckUtils]: 2: Hoare triple {40502#true} assume true; {40502#true} is VALID [2022-04-08 08:31:40,380 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40502#true} {40502#true} #1270#return; {40502#true} is VALID [2022-04-08 08:31:40,380 INFO L272 TraceCheckUtils]: 4: Hoare triple {40502#true} call #t~ret213 := main(); {40502#true} is VALID [2022-04-08 08:31:40,380 INFO L290 TraceCheckUtils]: 5: Hoare triple {40502#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {40502#true} is VALID [2022-04-08 08:31:40,381 INFO L272 TraceCheckUtils]: 6: Hoare triple {40502#true} call _BLAST_init(); {40555#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:31:40,381 INFO L290 TraceCheckUtils]: 7: Hoare triple {40555#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {40502#true} is VALID [2022-04-08 08:31:40,381 INFO L290 TraceCheckUtils]: 8: Hoare triple {40502#true} assume true; {40502#true} is VALID [2022-04-08 08:31:40,381 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {40502#true} {40502#true} #1216#return; {40502#true} is VALID [2022-04-08 08:31:40,382 INFO L272 TraceCheckUtils]: 10: Hoare triple {40502#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {40556#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:31:40,382 INFO L290 TraceCheckUtils]: 11: Hoare triple {40556#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {40502#true} is VALID [2022-04-08 08:31:40,382 INFO L272 TraceCheckUtils]: 12: Hoare triple {40502#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {40502#true} is VALID [2022-04-08 08:31:40,382 INFO L290 TraceCheckUtils]: 13: Hoare triple {40502#true} ~cond := #in~cond; {40502#true} is VALID [2022-04-08 08:31:40,382 INFO L290 TraceCheckUtils]: 14: Hoare triple {40502#true} assume !(0 == ~cond); {40502#true} is VALID [2022-04-08 08:31:40,382 INFO L290 TraceCheckUtils]: 15: Hoare triple {40502#true} assume true; {40502#true} is VALID [2022-04-08 08:31:40,382 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {40502#true} {40502#true} #1254#return; {40502#true} is VALID [2022-04-08 08:31:40,382 INFO L290 TraceCheckUtils]: 17: Hoare triple {40502#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {40502#true} is VALID [2022-04-08 08:31:40,382 INFO L290 TraceCheckUtils]: 18: Hoare triple {40502#true} assume true; {40502#true} is VALID [2022-04-08 08:31:40,382 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {40502#true} {40502#true} #1218#return; {40502#true} is VALID [2022-04-08 08:31:40,382 INFO L290 TraceCheckUtils]: 20: Hoare triple {40502#true} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {40502#true} is VALID [2022-04-08 08:31:40,382 INFO L290 TraceCheckUtils]: 21: Hoare triple {40502#true} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {40502#true} is VALID [2022-04-08 08:31:40,382 INFO L290 TraceCheckUtils]: 22: Hoare triple {40502#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {40502#true} is VALID [2022-04-08 08:31:40,387 INFO L272 TraceCheckUtils]: 23: Hoare triple {40502#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {40561#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:31:40,388 INFO L290 TraceCheckUtils]: 24: Hoare triple {40561#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {40502#true} is VALID [2022-04-08 08:31:40,389 INFO L272 TraceCheckUtils]: 25: Hoare triple {40502#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {40561#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:31:40,389 INFO L290 TraceCheckUtils]: 26: Hoare triple {40561#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {40502#true} is VALID [2022-04-08 08:31:40,389 INFO L290 TraceCheckUtils]: 27: Hoare triple {40502#true} assume !(0 == ~__BLAST_NONDET~5); {40502#true} is VALID [2022-04-08 08:31:40,389 INFO L290 TraceCheckUtils]: 28: Hoare triple {40502#true} #res := -1073741823; {40502#true} is VALID [2022-04-08 08:31:40,389 INFO L290 TraceCheckUtils]: 29: Hoare triple {40502#true} assume true; {40502#true} is VALID [2022-04-08 08:31:40,389 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {40502#true} {40502#true} #1176#return; {40502#true} is VALID [2022-04-08 08:31:40,389 INFO L290 TraceCheckUtils]: 31: Hoare triple {40502#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {40502#true} is VALID [2022-04-08 08:31:40,389 INFO L290 TraceCheckUtils]: 32: Hoare triple {40502#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {40502#true} is VALID [2022-04-08 08:31:40,389 INFO L290 TraceCheckUtils]: 33: Hoare triple {40502#true} assume true; {40502#true} is VALID [2022-04-08 08:31:40,389 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {40502#true} {40502#true} #1220#return; {40502#true} is VALID [2022-04-08 08:31:40,389 INFO L290 TraceCheckUtils]: 35: Hoare triple {40502#true} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {40502#true} is VALID [2022-04-08 08:31:40,390 INFO L272 TraceCheckUtils]: 36: Hoare triple {40502#true} call stub_driver_init(); {40567#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:31:40,390 INFO L290 TraceCheckUtils]: 37: Hoare triple {40567#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {40502#true} is VALID [2022-04-08 08:31:40,390 INFO L290 TraceCheckUtils]: 38: Hoare triple {40502#true} assume true; {40502#true} is VALID [2022-04-08 08:31:40,390 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {40502#true} {40502#true} #1222#return; {40502#true} is VALID [2022-04-08 08:31:40,390 INFO L290 TraceCheckUtils]: 40: Hoare triple {40502#true} assume !!(~status~5 >= 0); {40502#true} is VALID [2022-04-08 08:31:40,391 INFO L290 TraceCheckUtils]: 41: Hoare triple {40502#true} assume !(0 == ~__BLAST_NONDET~0); {40502#true} is VALID [2022-04-08 08:31:40,391 INFO L290 TraceCheckUtils]: 42: Hoare triple {40502#true} assume !(1 == ~__BLAST_NONDET~0); {40502#true} is VALID [2022-04-08 08:31:40,391 INFO L290 TraceCheckUtils]: 43: Hoare triple {40502#true} assume !(2 == ~__BLAST_NONDET~0); {40502#true} is VALID [2022-04-08 08:31:40,391 INFO L290 TraceCheckUtils]: 44: Hoare triple {40502#true} assume !(3 == ~__BLAST_NONDET~0); {40502#true} is VALID [2022-04-08 08:31:40,391 INFO L290 TraceCheckUtils]: 45: Hoare triple {40502#true} assume 4 == ~__BLAST_NONDET~0; {40502#true} is VALID [2022-04-08 08:31:40,392 INFO L272 TraceCheckUtils]: 46: Hoare triple {40502#true} call #t~ret175 := KbFilter_Power(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {40568#(and (= |old(#length)| |#length|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:31:40,392 INFO L290 TraceCheckUtils]: 47: Hoare triple {40568#(and (= |old(#length)| |#length|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~irpStack~4.base, ~irpStack~4.offset;havoc ~devExt~4.base, ~devExt~4.offset;call ~#powerState~0.base, ~#powerState~0.offset := #Ultimate.allocOnStack(4);havoc ~powerType~0;havoc ~tmp~3;call #t~mem123.base, #t~mem123.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~4.base, ~devExt~4.offset := #t~mem123.base, #t~mem123.offset;havoc #t~mem123.base, #t~mem123.offset;call #t~mem124.base, #t~mem124.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~4.base, ~irpStack~4.offset := #t~mem124.base, #t~mem124.offset;havoc #t~mem124.base, #t~mem124.offset;call #t~mem125 := read~int(~irpStack~4.base, 8 + ~irpStack~4.offset, 4);~powerType~0 := #t~mem125;havoc #t~mem125;call #t~mem126 := read~int(~irpStack~4.base, 12 + ~irpStack~4.offset, 4);call #t~mem127 := read~int(~irpStack~4.base, 12 + ~irpStack~4.offset, 4);call write~int(#t~mem126, ~#powerState~0.base, ~#powerState~0.offset, 4);call write~int(#t~mem127, ~#powerState~0.base, ~#powerState~0.offset, 4);havoc #t~mem126;havoc #t~mem127;call #t~mem128 := read~int(~irpStack~4.base, 1 + ~irpStack~4.offset, 1); {40502#true} is VALID [2022-04-08 08:31:40,392 INFO L290 TraceCheckUtils]: 48: Hoare triple {40502#true} assume 2 == #t~mem128 % 256;havoc #t~mem128; {40502#true} is VALID [2022-04-08 08:31:40,392 INFO L290 TraceCheckUtils]: 49: Hoare triple {40502#true} assume 1 == ~powerType~0;call #t~mem132 := read~int(~#powerState~0.base, ~#powerState~0.offset, 4);call write~int(#t~mem132, ~devExt~4.base, 48 + ~devExt~4.offset, 4);havoc #t~mem132; {40502#true} is VALID [2022-04-08 08:31:40,392 INFO L290 TraceCheckUtils]: 50: Hoare triple {40502#true} assume ~s~0 == ~NP~0;~s~0 := ~SKIP1~0; {40502#true} is VALID [2022-04-08 08:31:40,392 INFO L290 TraceCheckUtils]: 51: Hoare triple {40502#true} call #t~mem133 := read~int(~Irp.base, 35 + ~Irp.offset, 1);call write~int((if (1 + #t~mem133) % 256 <= 127 then (1 + #t~mem133) % 256 else (1 + #t~mem133) % 256 - 256), ~Irp.base, 35 + ~Irp.offset, 1);havoc #t~mem133;call #t~mem134.base, #t~mem134.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);call write~$Pointer$(#t~mem134.base, 36 + #t~mem134.offset, ~Irp.base, 96 + ~Irp.offset, 4);havoc #t~mem134.base, #t~mem134.offset;call #t~mem135.base, #t~mem135.offset := read~$Pointer$(~devExt~4.base, 8 + ~devExt~4.offset, 4); {40502#true} is VALID [2022-04-08 08:31:40,393 INFO L272 TraceCheckUtils]: 52: Hoare triple {40502#true} call #t~ret136 := PoCallDriver(#t~mem135.base, #t~mem135.offset, ~Irp.base, ~Irp.offset); {40581#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:31:40,393 INFO L290 TraceCheckUtils]: 53: Hoare triple {40581#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet204 && #t~nondet204 <= 2147483647;~__BLAST_NONDET~16 := #t~nondet204;havoc #t~nondet204;havoc ~compRetStatus~1;havoc ~returnVal~0;~lcontext~1.base, ~lcontext~1.offset := 0, 0;havoc ~tmp~12; {40502#true} is VALID [2022-04-08 08:31:40,393 INFO L290 TraceCheckUtils]: 54: Hoare triple {40502#true} assume !(0 != ~compRegistered~0); {40502#true} is VALID [2022-04-08 08:31:40,393 INFO L290 TraceCheckUtils]: 55: Hoare triple {40502#true} assume 0 == ~__BLAST_NONDET~16; {40502#true} is VALID [2022-04-08 08:31:40,394 INFO L290 TraceCheckUtils]: 56: Hoare triple {40502#true} ~returnVal~0 := 0; {40582#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} is VALID [2022-04-08 08:31:40,394 INFO L290 TraceCheckUtils]: 57: Hoare triple {40582#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} assume !(~s~0 == ~NP~0); {40582#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} is VALID [2022-04-08 08:31:40,394 INFO L290 TraceCheckUtils]: 58: Hoare triple {40582#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} assume !(~s~0 == ~MPR1~0); {40582#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} is VALID [2022-04-08 08:31:40,395 INFO L290 TraceCheckUtils]: 59: Hoare triple {40582#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} assume ~s~0 == ~SKIP1~0;~s~0 := ~SKIP2~0;~lowerDriverReturn~0 := ~returnVal~0; {40582#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} is VALID [2022-04-08 08:31:40,395 INFO L290 TraceCheckUtils]: 60: Hoare triple {40582#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} #res := ~returnVal~0; {40583#(and (<= |PoCallDriver_#res| 0) (<= 0 |PoCallDriver_#res|))} is VALID [2022-04-08 08:31:40,396 INFO L290 TraceCheckUtils]: 61: Hoare triple {40583#(and (<= |PoCallDriver_#res| 0) (<= 0 |PoCallDriver_#res|))} assume true; {40583#(and (<= |PoCallDriver_#res| 0) (<= 0 |PoCallDriver_#res|))} is VALID [2022-04-08 08:31:40,396 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {40583#(and (<= |PoCallDriver_#res| 0) (<= 0 |PoCallDriver_#res|))} {40502#true} #1268#return; {40579#(= |KbFilter_Power_#t~ret136| 0)} is VALID [2022-04-08 08:31:40,397 INFO L290 TraceCheckUtils]: 63: Hoare triple {40579#(= |KbFilter_Power_#t~ret136| 0)} assume -2147483648 <= #t~ret136 && #t~ret136 <= 2147483647;~tmp~3 := #t~ret136;havoc #t~mem135.base, #t~mem135.offset;havoc #t~ret136;#res := ~tmp~3;call ULTIMATE.dealloc(~#powerState~0.base, ~#powerState~0.offset);havoc ~#powerState~0.base, ~#powerState~0.offset; {40580#(= |KbFilter_Power_#res| 0)} is VALID [2022-04-08 08:31:40,397 INFO L290 TraceCheckUtils]: 64: Hoare triple {40580#(= |KbFilter_Power_#res| 0)} assume true; {40580#(= |KbFilter_Power_#res| 0)} is VALID [2022-04-08 08:31:40,398 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {40580#(= |KbFilter_Power_#res| 0)} {40502#true} #1232#return; {40552#(= 0 |main_#t~ret175|)} is VALID [2022-04-08 08:31:40,398 INFO L290 TraceCheckUtils]: 66: Hoare triple {40552#(= 0 |main_#t~ret175|)} assume -2147483648 <= #t~ret175 && #t~ret175 <= 2147483647;~status~5 := #t~ret175;havoc #t~ret175; {40553#(= main_~status~5 0)} is VALID [2022-04-08 08:31:40,399 INFO L290 TraceCheckUtils]: 67: Hoare triple {40553#(= main_~status~5 0)} assume 0 != ~we_should_unload~0; {40553#(= main_~status~5 0)} is VALID [2022-04-08 08:31:40,399 INFO L290 TraceCheckUtils]: 68: Hoare triple {40553#(= main_~status~5 0)} assume !(1 == ~pended~0); {40553#(= main_~status~5 0)} is VALID [2022-04-08 08:31:40,399 INFO L290 TraceCheckUtils]: 69: Hoare triple {40553#(= main_~status~5 0)} assume !(1 == ~pended~0); {40553#(= main_~status~5 0)} is VALID [2022-04-08 08:31:40,399 INFO L290 TraceCheckUtils]: 70: Hoare triple {40553#(= main_~status~5 0)} assume !(~s~0 == ~UNLOADED~0); {40553#(= main_~status~5 0)} is VALID [2022-04-08 08:31:40,400 INFO L290 TraceCheckUtils]: 71: Hoare triple {40553#(= main_~status~5 0)} assume !(-1 == ~status~5); {40553#(= main_~status~5 0)} is VALID [2022-04-08 08:31:40,400 INFO L290 TraceCheckUtils]: 72: Hoare triple {40553#(= main_~status~5 0)} assume !(~s~0 != ~SKIP2~0); {40553#(= main_~status~5 0)} is VALID [2022-04-08 08:31:40,400 INFO L290 TraceCheckUtils]: 73: Hoare triple {40553#(= main_~status~5 0)} assume !(1 == ~pended~0); {40553#(= main_~status~5 0)} is VALID [2022-04-08 08:31:40,401 INFO L290 TraceCheckUtils]: 74: Hoare triple {40553#(= main_~status~5 0)} assume ~s~0 == ~DC~0; {40553#(= main_~status~5 0)} is VALID [2022-04-08 08:31:40,401 INFO L290 TraceCheckUtils]: 75: Hoare triple {40553#(= main_~status~5 0)} assume 259 == ~status~5; {40503#false} is VALID [2022-04-08 08:31:40,401 INFO L272 TraceCheckUtils]: 76: Hoare triple {40503#false} call errorFn(); {40503#false} is VALID [2022-04-08 08:31:40,401 INFO L290 TraceCheckUtils]: 77: Hoare triple {40503#false} assume !false; {40503#false} is VALID [2022-04-08 08:31:40,401 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 08:31:40,401 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:31:40,401 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1243674244] [2022-04-08 08:31:40,402 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1243674244] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:31:40,402 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:31:40,402 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 08:31:40,402 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:31:40,402 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [294776762] [2022-04-08 08:31:40,402 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [294776762] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:31:40,402 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:31:40,402 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 08:31:40,402 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1679482528] [2022-04-08 08:31:40,402 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:31:40,402 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 3.8666666666666667) internal successors, (58), 6 states have internal predecessors, (58), 2 states have call successors, (11), 9 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 1 states have call successors, (9) Word has length 78 [2022-04-08 08:31:40,402 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:31:40,403 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 3.8666666666666667) internal successors, (58), 6 states have internal predecessors, (58), 2 states have call successors, (11), 9 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 1 states have call successors, (9) [2022-04-08 08:31:40,457 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:31:40,457 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-08 08:31:40,457 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:31:40,458 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-08 08:31:40,458 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=173, Unknown=0, NotChecked=0, Total=210 [2022-04-08 08:31:40,458 INFO L87 Difference]: Start difference. First operand 335 states and 429 transitions. Second operand has 15 states, 15 states have (on average 3.8666666666666667) internal successors, (58), 6 states have internal predecessors, (58), 2 states have call successors, (11), 9 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 1 states have call successors, (9) [2022-04-08 08:31:42,595 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:32:00,619 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:32:00,619 INFO L93 Difference]: Finished difference Result 398 states and 505 transitions. [2022-04-08 08:32:00,620 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-08 08:32:00,620 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 3.8666666666666667) internal successors, (58), 6 states have internal predecessors, (58), 2 states have call successors, (11), 9 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 1 states have call successors, (9) Word has length 78 [2022-04-08 08:32:00,620 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:32:00,620 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 3.8666666666666667) internal successors, (58), 6 states have internal predecessors, (58), 2 states have call successors, (11), 9 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 1 states have call successors, (9) [2022-04-08 08:32:00,622 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 444 transitions. [2022-04-08 08:32:00,622 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 3.8666666666666667) internal successors, (58), 6 states have internal predecessors, (58), 2 states have call successors, (11), 9 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 1 states have call successors, (9) [2022-04-08 08:32:00,624 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 444 transitions. [2022-04-08 08:32:00,624 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 444 transitions. [2022-04-08 08:32:01,142 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 444 edges. 444 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:32:01,151 INFO L225 Difference]: With dead ends: 398 [2022-04-08 08:32:01,151 INFO L226 Difference]: Without dead ends: 354 [2022-04-08 08:32:01,151 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=79, Invalid=301, Unknown=0, NotChecked=0, Total=380 [2022-04-08 08:32:01,152 INFO L913 BasicCegarLoop]: 272 mSDtfsCounter, 397 mSDsluCounter, 651 mSDsCounter, 0 mSdLazyCounter, 2556 mSolverCounterSat, 134 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 8.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 401 SdHoareTripleChecker+Valid, 923 SdHoareTripleChecker+Invalid, 2691 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 134 IncrementalHoareTripleChecker+Valid, 2556 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 8.7s IncrementalHoareTripleChecker+Time [2022-04-08 08:32:01,152 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [401 Valid, 923 Invalid, 2691 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [134 Valid, 2556 Invalid, 1 Unknown, 0 Unchecked, 8.7s Time] [2022-04-08 08:32:01,153 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 354 states. [2022-04-08 08:32:01,622 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 354 to 334. [2022-04-08 08:32:01,622 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:32:01,623 INFO L82 GeneralOperation]: Start isEquivalent. First operand 354 states. Second operand has 334 states, 266 states have (on average 1.330827067669173) internal successors, (354), 270 states have internal predecessors, (354), 37 states have call successors, (37), 29 states have call predecessors, (37), 30 states have return successors, (36), 34 states have call predecessors, (36), 32 states have call successors, (36) [2022-04-08 08:32:01,623 INFO L74 IsIncluded]: Start isIncluded. First operand 354 states. Second operand has 334 states, 266 states have (on average 1.330827067669173) internal successors, (354), 270 states have internal predecessors, (354), 37 states have call successors, (37), 29 states have call predecessors, (37), 30 states have return successors, (36), 34 states have call predecessors, (36), 32 states have call successors, (36) [2022-04-08 08:32:01,624 INFO L87 Difference]: Start difference. First operand 354 states. Second operand has 334 states, 266 states have (on average 1.330827067669173) internal successors, (354), 270 states have internal predecessors, (354), 37 states have call successors, (37), 29 states have call predecessors, (37), 30 states have return successors, (36), 34 states have call predecessors, (36), 32 states have call successors, (36) [2022-04-08 08:32:01,632 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:32:01,632 INFO L93 Difference]: Finished difference Result 354 states and 454 transitions. [2022-04-08 08:32:01,632 INFO L276 IsEmpty]: Start isEmpty. Operand 354 states and 454 transitions. [2022-04-08 08:32:01,633 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:32:01,633 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:32:01,634 INFO L74 IsIncluded]: Start isIncluded. First operand has 334 states, 266 states have (on average 1.330827067669173) internal successors, (354), 270 states have internal predecessors, (354), 37 states have call successors, (37), 29 states have call predecessors, (37), 30 states have return successors, (36), 34 states have call predecessors, (36), 32 states have call successors, (36) Second operand 354 states. [2022-04-08 08:32:01,634 INFO L87 Difference]: Start difference. First operand has 334 states, 266 states have (on average 1.330827067669173) internal successors, (354), 270 states have internal predecessors, (354), 37 states have call successors, (37), 29 states have call predecessors, (37), 30 states have return successors, (36), 34 states have call predecessors, (36), 32 states have call successors, (36) Second operand 354 states. [2022-04-08 08:32:01,642 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:32:01,642 INFO L93 Difference]: Finished difference Result 354 states and 454 transitions. [2022-04-08 08:32:01,642 INFO L276 IsEmpty]: Start isEmpty. Operand 354 states and 454 transitions. [2022-04-08 08:32:01,643 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:32:01,643 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:32:01,643 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:32:01,643 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:32:01,644 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 334 states, 266 states have (on average 1.330827067669173) internal successors, (354), 270 states have internal predecessors, (354), 37 states have call successors, (37), 29 states have call predecessors, (37), 30 states have return successors, (36), 34 states have call predecessors, (36), 32 states have call successors, (36) [2022-04-08 08:32:01,652 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 334 states to 334 states and 427 transitions. [2022-04-08 08:32:01,652 INFO L78 Accepts]: Start accepts. Automaton has 334 states and 427 transitions. Word has length 78 [2022-04-08 08:32:01,652 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:32:01,653 INFO L478 AbstractCegarLoop]: Abstraction has 334 states and 427 transitions. [2022-04-08 08:32:01,653 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 3.8666666666666667) internal successors, (58), 6 states have internal predecessors, (58), 2 states have call successors, (11), 9 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 1 states have call successors, (9) [2022-04-08 08:32:01,653 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 334 states and 427 transitions. [2022-04-08 08:32:02,440 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 427 edges. 427 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:32:02,441 INFO L276 IsEmpty]: Start isEmpty. Operand 334 states and 427 transitions. [2022-04-08 08:32:02,442 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-08 08:32:02,442 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:32:02,442 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:32:02,442 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable16 [2022-04-08 08:32:02,442 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:32:02,442 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:32:02,443 INFO L85 PathProgramCache]: Analyzing trace with hash -1889602735, now seen corresponding path program 1 times [2022-04-08 08:32:02,443 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:32:02,443 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1736957239] [2022-04-08 08:32:02,443 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 08:32:02,443 INFO L85 PathProgramCache]: Analyzing trace with hash -1889602735, now seen corresponding path program 2 times [2022-04-08 08:32:02,443 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:32:02,443 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [430207335] [2022-04-08 08:32:02,443 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:32:02,443 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:32:02,505 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:32:02,566 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:32:02,569 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:32:02,574 INFO L290 TraceCheckUtils]: 0: Hoare triple {42824#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {42770#true} is VALID [2022-04-08 08:32:02,574 INFO L290 TraceCheckUtils]: 1: Hoare triple {42770#true} assume true; {42770#true} is VALID [2022-04-08 08:32:02,574 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {42770#true} {42770#true} #1270#return; {42770#true} is VALID [2022-04-08 08:32:02,594 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:32:02,595 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:32:02,599 INFO L290 TraceCheckUtils]: 0: Hoare triple {42825#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {42770#true} is VALID [2022-04-08 08:32:02,600 INFO L290 TraceCheckUtils]: 1: Hoare triple {42770#true} assume true; {42770#true} is VALID [2022-04-08 08:32:02,600 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {42770#true} {42770#true} #1216#return; {42770#true} is VALID [2022-04-08 08:32:02,606 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:32:02,613 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:32:02,620 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:32:02,620 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:32:02,626 INFO L290 TraceCheckUtils]: 0: Hoare triple {42770#true} ~cond := #in~cond; {42770#true} is VALID [2022-04-08 08:32:02,626 INFO L290 TraceCheckUtils]: 1: Hoare triple {42770#true} assume !(0 == ~cond); {42770#true} is VALID [2022-04-08 08:32:02,626 INFO L290 TraceCheckUtils]: 2: Hoare triple {42770#true} assume true; {42770#true} is VALID [2022-04-08 08:32:02,626 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42770#true} {42770#true} #1254#return; {42770#true} is VALID [2022-04-08 08:32:02,626 INFO L290 TraceCheckUtils]: 0: Hoare triple {42826#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {42770#true} is VALID [2022-04-08 08:32:02,626 INFO L272 TraceCheckUtils]: 1: Hoare triple {42770#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {42770#true} is VALID [2022-04-08 08:32:02,626 INFO L290 TraceCheckUtils]: 2: Hoare triple {42770#true} ~cond := #in~cond; {42770#true} is VALID [2022-04-08 08:32:02,626 INFO L290 TraceCheckUtils]: 3: Hoare triple {42770#true} assume !(0 == ~cond); {42770#true} is VALID [2022-04-08 08:32:02,626 INFO L290 TraceCheckUtils]: 4: Hoare triple {42770#true} assume true; {42770#true} is VALID [2022-04-08 08:32:02,626 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {42770#true} {42770#true} #1254#return; {42770#true} is VALID [2022-04-08 08:32:02,626 INFO L290 TraceCheckUtils]: 6: Hoare triple {42770#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {42770#true} is VALID [2022-04-08 08:32:02,626 INFO L290 TraceCheckUtils]: 7: Hoare triple {42770#true} assume true; {42770#true} is VALID [2022-04-08 08:32:02,626 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {42770#true} {42770#true} #1218#return; {42770#true} is VALID [2022-04-08 08:32:02,635 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:32:02,638 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:32:02,643 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:32:02,644 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:32:02,648 INFO L290 TraceCheckUtils]: 0: Hoare triple {42831#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {42770#true} is VALID [2022-04-08 08:32:02,648 INFO L290 TraceCheckUtils]: 1: Hoare triple {42770#true} assume !(0 == ~__BLAST_NONDET~5); {42770#true} is VALID [2022-04-08 08:32:02,648 INFO L290 TraceCheckUtils]: 2: Hoare triple {42770#true} #res := -1073741823; {42770#true} is VALID [2022-04-08 08:32:02,648 INFO L290 TraceCheckUtils]: 3: Hoare triple {42770#true} assume true; {42770#true} is VALID [2022-04-08 08:32:02,648 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {42770#true} {42770#true} #1176#return; {42770#true} is VALID [2022-04-08 08:32:02,648 INFO L290 TraceCheckUtils]: 0: Hoare triple {42831#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {42770#true} is VALID [2022-04-08 08:32:02,649 INFO L272 TraceCheckUtils]: 1: Hoare triple {42770#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {42831#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:32:02,649 INFO L290 TraceCheckUtils]: 2: Hoare triple {42831#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {42770#true} is VALID [2022-04-08 08:32:02,649 INFO L290 TraceCheckUtils]: 3: Hoare triple {42770#true} assume !(0 == ~__BLAST_NONDET~5); {42770#true} is VALID [2022-04-08 08:32:02,650 INFO L290 TraceCheckUtils]: 4: Hoare triple {42770#true} #res := -1073741823; {42770#true} is VALID [2022-04-08 08:32:02,650 INFO L290 TraceCheckUtils]: 5: Hoare triple {42770#true} assume true; {42770#true} is VALID [2022-04-08 08:32:02,650 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {42770#true} {42770#true} #1176#return; {42770#true} is VALID [2022-04-08 08:32:02,650 INFO L290 TraceCheckUtils]: 7: Hoare triple {42770#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {42770#true} is VALID [2022-04-08 08:32:02,650 INFO L290 TraceCheckUtils]: 8: Hoare triple {42770#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {42770#true} is VALID [2022-04-08 08:32:02,650 INFO L290 TraceCheckUtils]: 9: Hoare triple {42770#true} assume true; {42770#true} is VALID [2022-04-08 08:32:02,650 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {42770#true} {42770#true} #1220#return; {42770#true} is VALID [2022-04-08 08:32:02,662 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 08:32:02,663 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:32:02,667 INFO L290 TraceCheckUtils]: 0: Hoare triple {42837#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {42770#true} is VALID [2022-04-08 08:32:02,667 INFO L290 TraceCheckUtils]: 1: Hoare triple {42770#true} assume true; {42770#true} is VALID [2022-04-08 08:32:02,667 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {42770#true} {42770#true} #1222#return; {42770#true} is VALID [2022-04-08 08:32:02,687 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 45 [2022-04-08 08:32:02,694 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:32:02,735 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:32:02,738 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:32:02,774 INFO L290 TraceCheckUtils]: 0: Hoare triple {42852#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {42770#true} is VALID [2022-04-08 08:32:02,775 INFO L290 TraceCheckUtils]: 1: Hoare triple {42770#true} assume !(0 != ~compRegistered~0); {42770#true} is VALID [2022-04-08 08:32:02,775 INFO L290 TraceCheckUtils]: 2: Hoare triple {42770#true} assume 0 == ~__BLAST_NONDET~11; {42770#true} is VALID [2022-04-08 08:32:02,775 INFO L290 TraceCheckUtils]: 3: Hoare triple {42770#true} ~returnVal2~0 := 0; {42853#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:32:02,775 INFO L290 TraceCheckUtils]: 4: Hoare triple {42853#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume !(~s~0 == ~NP~0); {42853#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:32:02,776 INFO L290 TraceCheckUtils]: 5: Hoare triple {42853#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume !(~s~0 == ~MPR1~0); {42853#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:32:02,776 INFO L290 TraceCheckUtils]: 6: Hoare triple {42853#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume ~s~0 == ~SKIP1~0;~s~0 := ~SKIP2~0;~lowerDriverReturn~0 := ~returnVal2~0; {42853#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:32:02,776 INFO L290 TraceCheckUtils]: 7: Hoare triple {42853#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} #res := ~returnVal2~0; {42854#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} is VALID [2022-04-08 08:32:02,777 INFO L290 TraceCheckUtils]: 8: Hoare triple {42854#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} assume true; {42854#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} is VALID [2022-04-08 08:32:02,777 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {42854#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} {42770#true} #1200#return; {42849#(= |KbFilter_PnP_#t~ret114| 0)} is VALID [2022-04-08 08:32:02,778 INFO L290 TraceCheckUtils]: 0: Hoare triple {42838#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(#length)| |#length|) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~devExt~3.base, ~devExt~3.offset;havoc ~irpStack~3.base, ~irpStack~3.offset;havoc ~status~3;call ~#event~1.base, ~#event~1.offset := #Ultimate.allocOnStack(16);havoc ~irpSp~0.base, ~irpSp~0.offset;havoc ~nextIrpSp~0.base, ~nextIrpSp~0.offset;havoc ~irpSp___0~0.base, ~irpSp___0~0.offset;~status~3 := 0;call #t~mem79.base, #t~mem79.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~3.base, ~devExt~3.offset := #t~mem79.base, #t~mem79.offset;havoc #t~mem79.base, #t~mem79.offset;call #t~mem80.base, #t~mem80.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~3.base, ~irpStack~3.offset := #t~mem80.base, #t~mem80.offset;havoc #t~mem80.base, #t~mem80.offset;call #t~mem81 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {42770#true} is VALID [2022-04-08 08:32:02,778 INFO L290 TraceCheckUtils]: 1: Hoare triple {42770#true} assume !(0 == #t~mem81 % 256);havoc #t~mem81;call #t~mem82 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {42770#true} is VALID [2022-04-08 08:32:02,778 INFO L290 TraceCheckUtils]: 2: Hoare triple {42770#true} assume 23 == #t~mem82 % 256;havoc #t~mem82; {42770#true} is VALID [2022-04-08 08:32:02,778 INFO L290 TraceCheckUtils]: 3: Hoare triple {42770#true} call write~int(1, ~devExt~3.base, 53 + ~devExt~3.offset, 1); {42770#true} is VALID [2022-04-08 08:32:02,778 INFO L290 TraceCheckUtils]: 4: Hoare triple {42770#true} assume ~s~0 == ~NP~0;~s~0 := ~SKIP1~0; {42770#true} is VALID [2022-04-08 08:32:02,778 INFO L290 TraceCheckUtils]: 5: Hoare triple {42770#true} call #t~mem111 := read~int(~Irp.base, 35 + ~Irp.offset, 1);call write~int((if (1 + #t~mem111) % 256 <= 127 then (1 + #t~mem111) % 256 else (1 + #t~mem111) % 256 - 256), ~Irp.base, 35 + ~Irp.offset, 1);havoc #t~mem111;call #t~mem112.base, #t~mem112.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);call write~$Pointer$(#t~mem112.base, 36 + #t~mem112.offset, ~Irp.base, 96 + ~Irp.offset, 4);havoc #t~mem112.base, #t~mem112.offset;call #t~mem113.base, #t~mem113.offset := read~$Pointer$(~devExt~3.base, 8 + ~devExt~3.offset, 4); {42770#true} is VALID [2022-04-08 08:32:02,779 INFO L272 TraceCheckUtils]: 6: Hoare triple {42770#true} call #t~ret114 := IofCallDriver(#t~mem113.base, #t~mem113.offset, ~Irp.base, ~Irp.offset); {42852#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:32:02,779 INFO L290 TraceCheckUtils]: 7: Hoare triple {42852#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {42770#true} is VALID [2022-04-08 08:32:02,779 INFO L290 TraceCheckUtils]: 8: Hoare triple {42770#true} assume !(0 != ~compRegistered~0); {42770#true} is VALID [2022-04-08 08:32:02,779 INFO L290 TraceCheckUtils]: 9: Hoare triple {42770#true} assume 0 == ~__BLAST_NONDET~11; {42770#true} is VALID [2022-04-08 08:32:02,779 INFO L290 TraceCheckUtils]: 10: Hoare triple {42770#true} ~returnVal2~0 := 0; {42853#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:32:02,779 INFO L290 TraceCheckUtils]: 11: Hoare triple {42853#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume !(~s~0 == ~NP~0); {42853#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:32:02,780 INFO L290 TraceCheckUtils]: 12: Hoare triple {42853#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume !(~s~0 == ~MPR1~0); {42853#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:32:02,780 INFO L290 TraceCheckUtils]: 13: Hoare triple {42853#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume ~s~0 == ~SKIP1~0;~s~0 := ~SKIP2~0;~lowerDriverReturn~0 := ~returnVal2~0; {42853#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:32:02,780 INFO L290 TraceCheckUtils]: 14: Hoare triple {42853#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} #res := ~returnVal2~0; {42854#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} is VALID [2022-04-08 08:32:02,781 INFO L290 TraceCheckUtils]: 15: Hoare triple {42854#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} assume true; {42854#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} is VALID [2022-04-08 08:32:02,781 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {42854#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} {42770#true} #1200#return; {42849#(= |KbFilter_PnP_#t~ret114| 0)} is VALID [2022-04-08 08:32:02,782 INFO L290 TraceCheckUtils]: 17: Hoare triple {42849#(= |KbFilter_PnP_#t~ret114| 0)} assume -2147483648 <= #t~ret114 && #t~ret114 <= 2147483647;~status~3 := #t~ret114;havoc #t~mem113.base, #t~mem113.offset;havoc #t~ret114; {42850#(= KbFilter_PnP_~status~3 0)} is VALID [2022-04-08 08:32:02,782 INFO L290 TraceCheckUtils]: 18: Hoare triple {42850#(= KbFilter_PnP_~status~3 0)} #res := ~status~3;call ULTIMATE.dealloc(~#event~1.base, ~#event~1.offset);havoc ~#event~1.base, ~#event~1.offset; {42851#(= |KbFilter_PnP_#res| 0)} is VALID [2022-04-08 08:32:02,782 INFO L290 TraceCheckUtils]: 19: Hoare triple {42851#(= |KbFilter_PnP_#res| 0)} assume true; {42851#(= |KbFilter_PnP_#res| 0)} is VALID [2022-04-08 08:32:02,783 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {42851#(= |KbFilter_PnP_#res| 0)} {42770#true} #1230#return; {42822#(= 0 |main_#t~ret174|)} is VALID [2022-04-08 08:32:02,784 INFO L272 TraceCheckUtils]: 0: Hoare triple {42770#true} call ULTIMATE.init(); {42824#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:32:02,784 INFO L290 TraceCheckUtils]: 1: Hoare triple {42824#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {42770#true} is VALID [2022-04-08 08:32:02,784 INFO L290 TraceCheckUtils]: 2: Hoare triple {42770#true} assume true; {42770#true} is VALID [2022-04-08 08:32:02,784 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42770#true} {42770#true} #1270#return; {42770#true} is VALID [2022-04-08 08:32:02,784 INFO L272 TraceCheckUtils]: 4: Hoare triple {42770#true} call #t~ret213 := main(); {42770#true} is VALID [2022-04-08 08:32:02,784 INFO L290 TraceCheckUtils]: 5: Hoare triple {42770#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {42770#true} is VALID [2022-04-08 08:32:02,785 INFO L272 TraceCheckUtils]: 6: Hoare triple {42770#true} call _BLAST_init(); {42825#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:32:02,785 INFO L290 TraceCheckUtils]: 7: Hoare triple {42825#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {42770#true} is VALID [2022-04-08 08:32:02,785 INFO L290 TraceCheckUtils]: 8: Hoare triple {42770#true} assume true; {42770#true} is VALID [2022-04-08 08:32:02,785 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {42770#true} {42770#true} #1216#return; {42770#true} is VALID [2022-04-08 08:32:02,786 INFO L272 TraceCheckUtils]: 10: Hoare triple {42770#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {42826#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:32:02,786 INFO L290 TraceCheckUtils]: 11: Hoare triple {42826#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {42770#true} is VALID [2022-04-08 08:32:02,786 INFO L272 TraceCheckUtils]: 12: Hoare triple {42770#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {42770#true} is VALID [2022-04-08 08:32:02,786 INFO L290 TraceCheckUtils]: 13: Hoare triple {42770#true} ~cond := #in~cond; {42770#true} is VALID [2022-04-08 08:32:02,786 INFO L290 TraceCheckUtils]: 14: Hoare triple {42770#true} assume !(0 == ~cond); {42770#true} is VALID [2022-04-08 08:32:02,786 INFO L290 TraceCheckUtils]: 15: Hoare triple {42770#true} assume true; {42770#true} is VALID [2022-04-08 08:32:02,786 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {42770#true} {42770#true} #1254#return; {42770#true} is VALID [2022-04-08 08:32:02,786 INFO L290 TraceCheckUtils]: 17: Hoare triple {42770#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {42770#true} is VALID [2022-04-08 08:32:02,786 INFO L290 TraceCheckUtils]: 18: Hoare triple {42770#true} assume true; {42770#true} is VALID [2022-04-08 08:32:02,786 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {42770#true} {42770#true} #1218#return; {42770#true} is VALID [2022-04-08 08:32:02,786 INFO L290 TraceCheckUtils]: 20: Hoare triple {42770#true} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {42770#true} is VALID [2022-04-08 08:32:02,786 INFO L290 TraceCheckUtils]: 21: Hoare triple {42770#true} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {42770#true} is VALID [2022-04-08 08:32:02,786 INFO L290 TraceCheckUtils]: 22: Hoare triple {42770#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {42770#true} is VALID [2022-04-08 08:32:02,787 INFO L272 TraceCheckUtils]: 23: Hoare triple {42770#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {42831#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:32:02,787 INFO L290 TraceCheckUtils]: 24: Hoare triple {42831#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {42770#true} is VALID [2022-04-08 08:32:02,788 INFO L272 TraceCheckUtils]: 25: Hoare triple {42770#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {42831#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:32:02,788 INFO L290 TraceCheckUtils]: 26: Hoare triple {42831#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {42770#true} is VALID [2022-04-08 08:32:02,788 INFO L290 TraceCheckUtils]: 27: Hoare triple {42770#true} assume !(0 == ~__BLAST_NONDET~5); {42770#true} is VALID [2022-04-08 08:32:02,788 INFO L290 TraceCheckUtils]: 28: Hoare triple {42770#true} #res := -1073741823; {42770#true} is VALID [2022-04-08 08:32:02,788 INFO L290 TraceCheckUtils]: 29: Hoare triple {42770#true} assume true; {42770#true} is VALID [2022-04-08 08:32:02,788 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {42770#true} {42770#true} #1176#return; {42770#true} is VALID [2022-04-08 08:32:02,788 INFO L290 TraceCheckUtils]: 31: Hoare triple {42770#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {42770#true} is VALID [2022-04-08 08:32:02,788 INFO L290 TraceCheckUtils]: 32: Hoare triple {42770#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {42770#true} is VALID [2022-04-08 08:32:02,788 INFO L290 TraceCheckUtils]: 33: Hoare triple {42770#true} assume true; {42770#true} is VALID [2022-04-08 08:32:02,788 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {42770#true} {42770#true} #1220#return; {42770#true} is VALID [2022-04-08 08:32:02,789 INFO L290 TraceCheckUtils]: 35: Hoare triple {42770#true} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {42770#true} is VALID [2022-04-08 08:32:02,789 INFO L272 TraceCheckUtils]: 36: Hoare triple {42770#true} call stub_driver_init(); {42837#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:32:02,789 INFO L290 TraceCheckUtils]: 37: Hoare triple {42837#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {42770#true} is VALID [2022-04-08 08:32:02,789 INFO L290 TraceCheckUtils]: 38: Hoare triple {42770#true} assume true; {42770#true} is VALID [2022-04-08 08:32:02,789 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {42770#true} {42770#true} #1222#return; {42770#true} is VALID [2022-04-08 08:32:02,789 INFO L290 TraceCheckUtils]: 40: Hoare triple {42770#true} assume !!(~status~5 >= 0); {42770#true} is VALID [2022-04-08 08:32:02,789 INFO L290 TraceCheckUtils]: 41: Hoare triple {42770#true} assume !(0 == ~__BLAST_NONDET~0); {42770#true} is VALID [2022-04-08 08:32:02,789 INFO L290 TraceCheckUtils]: 42: Hoare triple {42770#true} assume !(1 == ~__BLAST_NONDET~0); {42770#true} is VALID [2022-04-08 08:32:02,789 INFO L290 TraceCheckUtils]: 43: Hoare triple {42770#true} assume !(2 == ~__BLAST_NONDET~0); {42770#true} is VALID [2022-04-08 08:32:02,789 INFO L290 TraceCheckUtils]: 44: Hoare triple {42770#true} assume 3 == ~__BLAST_NONDET~0; {42770#true} is VALID [2022-04-08 08:32:02,790 INFO L272 TraceCheckUtils]: 45: Hoare triple {42770#true} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {42838#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(#length)| |#length|) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:32:02,790 INFO L290 TraceCheckUtils]: 46: Hoare triple {42838#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(#length)| |#length|) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~devExt~3.base, ~devExt~3.offset;havoc ~irpStack~3.base, ~irpStack~3.offset;havoc ~status~3;call ~#event~1.base, ~#event~1.offset := #Ultimate.allocOnStack(16);havoc ~irpSp~0.base, ~irpSp~0.offset;havoc ~nextIrpSp~0.base, ~nextIrpSp~0.offset;havoc ~irpSp___0~0.base, ~irpSp___0~0.offset;~status~3 := 0;call #t~mem79.base, #t~mem79.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~3.base, ~devExt~3.offset := #t~mem79.base, #t~mem79.offset;havoc #t~mem79.base, #t~mem79.offset;call #t~mem80.base, #t~mem80.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~3.base, ~irpStack~3.offset := #t~mem80.base, #t~mem80.offset;havoc #t~mem80.base, #t~mem80.offset;call #t~mem81 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {42770#true} is VALID [2022-04-08 08:32:02,791 INFO L290 TraceCheckUtils]: 47: Hoare triple {42770#true} assume !(0 == #t~mem81 % 256);havoc #t~mem81;call #t~mem82 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {42770#true} is VALID [2022-04-08 08:32:02,791 INFO L290 TraceCheckUtils]: 48: Hoare triple {42770#true} assume 23 == #t~mem82 % 256;havoc #t~mem82; {42770#true} is VALID [2022-04-08 08:32:02,791 INFO L290 TraceCheckUtils]: 49: Hoare triple {42770#true} call write~int(1, ~devExt~3.base, 53 + ~devExt~3.offset, 1); {42770#true} is VALID [2022-04-08 08:32:02,791 INFO L290 TraceCheckUtils]: 50: Hoare triple {42770#true} assume ~s~0 == ~NP~0;~s~0 := ~SKIP1~0; {42770#true} is VALID [2022-04-08 08:32:02,791 INFO L290 TraceCheckUtils]: 51: Hoare triple {42770#true} call #t~mem111 := read~int(~Irp.base, 35 + ~Irp.offset, 1);call write~int((if (1 + #t~mem111) % 256 <= 127 then (1 + #t~mem111) % 256 else (1 + #t~mem111) % 256 - 256), ~Irp.base, 35 + ~Irp.offset, 1);havoc #t~mem111;call #t~mem112.base, #t~mem112.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);call write~$Pointer$(#t~mem112.base, 36 + #t~mem112.offset, ~Irp.base, 96 + ~Irp.offset, 4);havoc #t~mem112.base, #t~mem112.offset;call #t~mem113.base, #t~mem113.offset := read~$Pointer$(~devExt~3.base, 8 + ~devExt~3.offset, 4); {42770#true} is VALID [2022-04-08 08:32:02,791 INFO L272 TraceCheckUtils]: 52: Hoare triple {42770#true} call #t~ret114 := IofCallDriver(#t~mem113.base, #t~mem113.offset, ~Irp.base, ~Irp.offset); {42852#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:32:02,791 INFO L290 TraceCheckUtils]: 53: Hoare triple {42852#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {42770#true} is VALID [2022-04-08 08:32:02,791 INFO L290 TraceCheckUtils]: 54: Hoare triple {42770#true} assume !(0 != ~compRegistered~0); {42770#true} is VALID [2022-04-08 08:32:02,792 INFO L290 TraceCheckUtils]: 55: Hoare triple {42770#true} assume 0 == ~__BLAST_NONDET~11; {42770#true} is VALID [2022-04-08 08:32:02,792 INFO L290 TraceCheckUtils]: 56: Hoare triple {42770#true} ~returnVal2~0 := 0; {42853#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:32:02,792 INFO L290 TraceCheckUtils]: 57: Hoare triple {42853#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume !(~s~0 == ~NP~0); {42853#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:32:02,792 INFO L290 TraceCheckUtils]: 58: Hoare triple {42853#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume !(~s~0 == ~MPR1~0); {42853#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:32:02,793 INFO L290 TraceCheckUtils]: 59: Hoare triple {42853#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume ~s~0 == ~SKIP1~0;~s~0 := ~SKIP2~0;~lowerDriverReturn~0 := ~returnVal2~0; {42853#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:32:02,793 INFO L290 TraceCheckUtils]: 60: Hoare triple {42853#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} #res := ~returnVal2~0; {42854#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} is VALID [2022-04-08 08:32:02,793 INFO L290 TraceCheckUtils]: 61: Hoare triple {42854#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} assume true; {42854#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} is VALID [2022-04-08 08:32:02,794 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {42854#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} {42770#true} #1200#return; {42849#(= |KbFilter_PnP_#t~ret114| 0)} is VALID [2022-04-08 08:32:02,794 INFO L290 TraceCheckUtils]: 63: Hoare triple {42849#(= |KbFilter_PnP_#t~ret114| 0)} assume -2147483648 <= #t~ret114 && #t~ret114 <= 2147483647;~status~3 := #t~ret114;havoc #t~mem113.base, #t~mem113.offset;havoc #t~ret114; {42850#(= KbFilter_PnP_~status~3 0)} is VALID [2022-04-08 08:32:02,795 INFO L290 TraceCheckUtils]: 64: Hoare triple {42850#(= KbFilter_PnP_~status~3 0)} #res := ~status~3;call ULTIMATE.dealloc(~#event~1.base, ~#event~1.offset);havoc ~#event~1.base, ~#event~1.offset; {42851#(= |KbFilter_PnP_#res| 0)} is VALID [2022-04-08 08:32:02,795 INFO L290 TraceCheckUtils]: 65: Hoare triple {42851#(= |KbFilter_PnP_#res| 0)} assume true; {42851#(= |KbFilter_PnP_#res| 0)} is VALID [2022-04-08 08:32:02,795 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {42851#(= |KbFilter_PnP_#res| 0)} {42770#true} #1230#return; {42822#(= 0 |main_#t~ret174|)} is VALID [2022-04-08 08:32:02,796 INFO L290 TraceCheckUtils]: 67: Hoare triple {42822#(= 0 |main_#t~ret174|)} assume -2147483648 <= #t~ret174 && #t~ret174 <= 2147483647;~status~5 := #t~ret174;havoc #t~ret174; {42823#(= main_~status~5 0)} is VALID [2022-04-08 08:32:02,796 INFO L290 TraceCheckUtils]: 68: Hoare triple {42823#(= main_~status~5 0)} assume 0 != ~we_should_unload~0; {42823#(= main_~status~5 0)} is VALID [2022-04-08 08:32:02,796 INFO L290 TraceCheckUtils]: 69: Hoare triple {42823#(= main_~status~5 0)} assume !(1 == ~pended~0); {42823#(= main_~status~5 0)} is VALID [2022-04-08 08:32:02,796 INFO L290 TraceCheckUtils]: 70: Hoare triple {42823#(= main_~status~5 0)} assume !(1 == ~pended~0); {42823#(= main_~status~5 0)} is VALID [2022-04-08 08:32:02,797 INFO L290 TraceCheckUtils]: 71: Hoare triple {42823#(= main_~status~5 0)} assume !(~s~0 == ~UNLOADED~0); {42823#(= main_~status~5 0)} is VALID [2022-04-08 08:32:02,797 INFO L290 TraceCheckUtils]: 72: Hoare triple {42823#(= main_~status~5 0)} assume !(-1 == ~status~5); {42823#(= main_~status~5 0)} is VALID [2022-04-08 08:32:02,797 INFO L290 TraceCheckUtils]: 73: Hoare triple {42823#(= main_~status~5 0)} assume !(~s~0 != ~SKIP2~0); {42823#(= main_~status~5 0)} is VALID [2022-04-08 08:32:02,797 INFO L290 TraceCheckUtils]: 74: Hoare triple {42823#(= main_~status~5 0)} assume !(1 == ~pended~0); {42823#(= main_~status~5 0)} is VALID [2022-04-08 08:32:02,797 INFO L290 TraceCheckUtils]: 75: Hoare triple {42823#(= main_~status~5 0)} assume ~s~0 == ~DC~0; {42823#(= main_~status~5 0)} is VALID [2022-04-08 08:32:02,798 INFO L290 TraceCheckUtils]: 76: Hoare triple {42823#(= main_~status~5 0)} assume 259 == ~status~5; {42771#false} is VALID [2022-04-08 08:32:02,799 INFO L272 TraceCheckUtils]: 77: Hoare triple {42771#false} call errorFn(); {42771#false} is VALID [2022-04-08 08:32:02,799 INFO L290 TraceCheckUtils]: 78: Hoare triple {42771#false} assume !false; {42771#false} is VALID [2022-04-08 08:32:02,800 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 08:32:02,800 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:32:02,800 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [430207335] [2022-04-08 08:32:02,800 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [430207335] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:32:02,800 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:32:02,800 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-08 08:32:02,800 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:32:02,800 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1736957239] [2022-04-08 08:32:02,800 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1736957239] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:32:02,800 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:32:02,800 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-08 08:32:02,800 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [89626936] [2022-04-08 08:32:02,800 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:32:02,801 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 3.6875) internal successors, (59), 7 states have internal predecessors, (59), 2 states have call successors, (11), 9 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 1 states have call successors, (9) Word has length 79 [2022-04-08 08:32:02,801 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:32:02,801 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 3.6875) internal successors, (59), 7 states have internal predecessors, (59), 2 states have call successors, (11), 9 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 1 states have call successors, (9) [2022-04-08 08:32:02,856 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:32:02,857 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-08 08:32:02,857 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:32:02,857 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-08 08:32:02,857 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=201, Unknown=0, NotChecked=0, Total=240 [2022-04-08 08:32:02,857 INFO L87 Difference]: Start difference. First operand 334 states and 427 transitions. Second operand has 16 states, 16 states have (on average 3.6875) internal successors, (59), 7 states have internal predecessors, (59), 2 states have call successors, (11), 9 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 1 states have call successors, (9) [2022-04-08 08:32:06,714 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.67s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:32:08,719 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:32:10,742 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.02s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:32:12,763 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.02s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:32:14,780 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.02s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:32:16,796 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:32:18,818 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.02s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:32:20,839 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.02s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:32:22,858 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.02s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:32:24,876 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.02s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:32:32,253 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.45s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:32:34,534 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.08s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:32:42,045 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:32:42,045 INFO L93 Difference]: Finished difference Result 475 states and 607 transitions. [2022-04-08 08:32:42,045 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-08 08:32:42,045 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 3.6875) internal successors, (59), 7 states have internal predecessors, (59), 2 states have call successors, (11), 9 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 1 states have call successors, (9) Word has length 79 [2022-04-08 08:32:42,046 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:32:42,046 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 3.6875) internal successors, (59), 7 states have internal predecessors, (59), 2 states have call successors, (11), 9 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 1 states have call successors, (9) [2022-04-08 08:32:42,048 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 510 transitions. [2022-04-08 08:32:42,048 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 3.6875) internal successors, (59), 7 states have internal predecessors, (59), 2 states have call successors, (11), 9 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 1 states have call successors, (9) [2022-04-08 08:32:42,051 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 510 transitions. [2022-04-08 08:32:42,051 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 510 transitions. [2022-04-08 08:32:42,628 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 510 edges. 510 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:32:42,638 INFO L225 Difference]: With dead ends: 475 [2022-04-08 08:32:42,638 INFO L226 Difference]: Without dead ends: 367 [2022-04-08 08:32:42,640 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 42 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 92 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=117, Invalid=585, Unknown=0, NotChecked=0, Total=702 [2022-04-08 08:32:42,640 INFO L913 BasicCegarLoop]: 264 mSDtfsCounter, 418 mSDsluCounter, 745 mSDsCounter, 0 mSdLazyCounter, 2760 mSolverCounterSat, 141 mSolverCounterUnsat, 9 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 27.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 428 SdHoareTripleChecker+Valid, 1009 SdHoareTripleChecker+Invalid, 2910 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 141 IncrementalHoareTripleChecker+Valid, 2760 IncrementalHoareTripleChecker+Invalid, 9 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 27.9s IncrementalHoareTripleChecker+Time [2022-04-08 08:32:42,640 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [428 Valid, 1009 Invalid, 2910 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [141 Valid, 2760 Invalid, 9 Unknown, 0 Unchecked, 27.9s Time] [2022-04-08 08:32:42,641 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 367 states. [2022-04-08 08:32:43,140 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 367 to 338. [2022-04-08 08:32:43,140 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:32:43,140 INFO L82 GeneralOperation]: Start isEquivalent. First operand 367 states. Second operand has 338 states, 270 states have (on average 1.3296296296296297) internal successors, (359), 275 states have internal predecessors, (359), 36 states have call successors, (36), 29 states have call predecessors, (36), 31 states have return successors, (37), 33 states have call predecessors, (37), 31 states have call successors, (37) [2022-04-08 08:32:43,141 INFO L74 IsIncluded]: Start isIncluded. First operand 367 states. Second operand has 338 states, 270 states have (on average 1.3296296296296297) internal successors, (359), 275 states have internal predecessors, (359), 36 states have call successors, (36), 29 states have call predecessors, (36), 31 states have return successors, (37), 33 states have call predecessors, (37), 31 states have call successors, (37) [2022-04-08 08:32:43,141 INFO L87 Difference]: Start difference. First operand 367 states. Second operand has 338 states, 270 states have (on average 1.3296296296296297) internal successors, (359), 275 states have internal predecessors, (359), 36 states have call successors, (36), 29 states have call predecessors, (36), 31 states have return successors, (37), 33 states have call predecessors, (37), 31 states have call successors, (37) [2022-04-08 08:32:43,148 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:32:43,148 INFO L93 Difference]: Finished difference Result 367 states and 469 transitions. [2022-04-08 08:32:43,148 INFO L276 IsEmpty]: Start isEmpty. Operand 367 states and 469 transitions. [2022-04-08 08:32:43,149 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:32:43,149 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:32:43,149 INFO L74 IsIncluded]: Start isIncluded. First operand has 338 states, 270 states have (on average 1.3296296296296297) internal successors, (359), 275 states have internal predecessors, (359), 36 states have call successors, (36), 29 states have call predecessors, (36), 31 states have return successors, (37), 33 states have call predecessors, (37), 31 states have call successors, (37) Second operand 367 states. [2022-04-08 08:32:43,149 INFO L87 Difference]: Start difference. First operand has 338 states, 270 states have (on average 1.3296296296296297) internal successors, (359), 275 states have internal predecessors, (359), 36 states have call successors, (36), 29 states have call predecessors, (36), 31 states have return successors, (37), 33 states have call predecessors, (37), 31 states have call successors, (37) Second operand 367 states. [2022-04-08 08:32:43,156 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:32:43,157 INFO L93 Difference]: Finished difference Result 367 states and 469 transitions. [2022-04-08 08:32:43,157 INFO L276 IsEmpty]: Start isEmpty. Operand 367 states and 469 transitions. [2022-04-08 08:32:43,157 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:32:43,157 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:32:43,157 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:32:43,157 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:32:43,158 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 338 states, 270 states have (on average 1.3296296296296297) internal successors, (359), 275 states have internal predecessors, (359), 36 states have call successors, (36), 29 states have call predecessors, (36), 31 states have return successors, (37), 33 states have call predecessors, (37), 31 states have call successors, (37) [2022-04-08 08:32:43,165 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 338 states to 338 states and 432 transitions. [2022-04-08 08:32:43,165 INFO L78 Accepts]: Start accepts. Automaton has 338 states and 432 transitions. Word has length 79 [2022-04-08 08:32:43,166 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:32:43,166 INFO L478 AbstractCegarLoop]: Abstraction has 338 states and 432 transitions. [2022-04-08 08:32:43,166 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 3.6875) internal successors, (59), 7 states have internal predecessors, (59), 2 states have call successors, (11), 9 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 1 states have call successors, (9) [2022-04-08 08:32:43,166 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 338 states and 432 transitions. [2022-04-08 08:32:43,996 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 432 edges. 432 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:32:43,996 INFO L276 IsEmpty]: Start isEmpty. Operand 338 states and 432 transitions. [2022-04-08 08:32:43,997 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-08 08:32:43,997 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:32:43,997 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:32:43,997 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable17 [2022-04-08 08:32:43,997 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:32:43,997 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:32:43,997 INFO L85 PathProgramCache]: Analyzing trace with hash -2045108737, now seen corresponding path program 1 times [2022-04-08 08:32:43,997 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:32:43,997 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1525226787] [2022-04-08 08:32:43,998 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 08:32:43,998 INFO L85 PathProgramCache]: Analyzing trace with hash -2045108737, now seen corresponding path program 2 times [2022-04-08 08:32:43,998 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:32:43,998 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1023341974] [2022-04-08 08:32:43,998 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:32:43,998 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:32:44,054 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:32:44,135 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:32:44,137 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:32:44,142 INFO L290 TraceCheckUtils]: 0: Hoare triple {45296#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {45243#true} is VALID [2022-04-08 08:32:44,142 INFO L290 TraceCheckUtils]: 1: Hoare triple {45243#true} assume true; {45243#true} is VALID [2022-04-08 08:32:44,142 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {45243#true} {45243#true} #1270#return; {45243#true} is VALID [2022-04-08 08:32:44,164 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:32:44,167 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:32:44,178 INFO L290 TraceCheckUtils]: 0: Hoare triple {45297#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 08:32:44,179 INFO L290 TraceCheckUtils]: 1: Hoare triple {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} assume true; {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 08:32:44,179 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} {45243#true} #1216#return; {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 08:32:44,185 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:32:44,193 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:32:44,201 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:32:44,202 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:32:44,206 INFO L290 TraceCheckUtils]: 0: Hoare triple {45243#true} ~cond := #in~cond; {45243#true} is VALID [2022-04-08 08:32:44,206 INFO L290 TraceCheckUtils]: 1: Hoare triple {45243#true} assume !(0 == ~cond); {45243#true} is VALID [2022-04-08 08:32:44,206 INFO L290 TraceCheckUtils]: 2: Hoare triple {45243#true} assume true; {45243#true} is VALID [2022-04-08 08:32:44,206 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45243#true} {45243#true} #1254#return; {45243#true} is VALID [2022-04-08 08:32:44,206 INFO L290 TraceCheckUtils]: 0: Hoare triple {45298#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {45243#true} is VALID [2022-04-08 08:32:44,206 INFO L272 TraceCheckUtils]: 1: Hoare triple {45243#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {45243#true} is VALID [2022-04-08 08:32:44,206 INFO L290 TraceCheckUtils]: 2: Hoare triple {45243#true} ~cond := #in~cond; {45243#true} is VALID [2022-04-08 08:32:44,206 INFO L290 TraceCheckUtils]: 3: Hoare triple {45243#true} assume !(0 == ~cond); {45243#true} is VALID [2022-04-08 08:32:44,206 INFO L290 TraceCheckUtils]: 4: Hoare triple {45243#true} assume true; {45243#true} is VALID [2022-04-08 08:32:44,206 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {45243#true} {45243#true} #1254#return; {45243#true} is VALID [2022-04-08 08:32:44,207 INFO L290 TraceCheckUtils]: 6: Hoare triple {45243#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {45243#true} is VALID [2022-04-08 08:32:44,207 INFO L290 TraceCheckUtils]: 7: Hoare triple {45243#true} assume true; {45243#true} is VALID [2022-04-08 08:32:44,207 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {45243#true} {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} #1218#return; {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 08:32:44,216 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:32:44,220 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:32:44,226 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:32:44,227 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:32:44,232 INFO L290 TraceCheckUtils]: 0: Hoare triple {45303#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {45243#true} is VALID [2022-04-08 08:32:44,232 INFO L290 TraceCheckUtils]: 1: Hoare triple {45243#true} assume !(0 == ~__BLAST_NONDET~5); {45243#true} is VALID [2022-04-08 08:32:44,232 INFO L290 TraceCheckUtils]: 2: Hoare triple {45243#true} #res := -1073741823; {45243#true} is VALID [2022-04-08 08:32:44,232 INFO L290 TraceCheckUtils]: 3: Hoare triple {45243#true} assume true; {45243#true} is VALID [2022-04-08 08:32:44,232 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {45243#true} {45243#true} #1176#return; {45243#true} is VALID [2022-04-08 08:32:44,233 INFO L290 TraceCheckUtils]: 0: Hoare triple {45303#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {45243#true} is VALID [2022-04-08 08:32:44,234 INFO L272 TraceCheckUtils]: 1: Hoare triple {45243#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {45303#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:32:44,234 INFO L290 TraceCheckUtils]: 2: Hoare triple {45303#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {45243#true} is VALID [2022-04-08 08:32:44,234 INFO L290 TraceCheckUtils]: 3: Hoare triple {45243#true} assume !(0 == ~__BLAST_NONDET~5); {45243#true} is VALID [2022-04-08 08:32:44,234 INFO L290 TraceCheckUtils]: 4: Hoare triple {45243#true} #res := -1073741823; {45243#true} is VALID [2022-04-08 08:32:44,234 INFO L290 TraceCheckUtils]: 5: Hoare triple {45243#true} assume true; {45243#true} is VALID [2022-04-08 08:32:44,234 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {45243#true} {45243#true} #1176#return; {45243#true} is VALID [2022-04-08 08:32:44,234 INFO L290 TraceCheckUtils]: 7: Hoare triple {45243#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {45243#true} is VALID [2022-04-08 08:32:44,234 INFO L290 TraceCheckUtils]: 8: Hoare triple {45243#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {45243#true} is VALID [2022-04-08 08:32:44,234 INFO L290 TraceCheckUtils]: 9: Hoare triple {45243#true} assume true; {45243#true} is VALID [2022-04-08 08:32:44,235 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {45243#true} {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} #1220#return; {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 08:32:44,247 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 08:32:44,249 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:32:44,254 INFO L290 TraceCheckUtils]: 0: Hoare triple {45309#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {45243#true} is VALID [2022-04-08 08:32:44,254 INFO L290 TraceCheckUtils]: 1: Hoare triple {45243#true} assume true; {45243#true} is VALID [2022-04-08 08:32:44,254 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {45243#true} {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} #1222#return; {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 08:32:44,267 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-08 08:32:44,274 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:32:44,300 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-04-08 08:32:44,303 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:32:44,311 INFO L290 TraceCheckUtils]: 0: Hoare triple {45323#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet204 && #t~nondet204 <= 2147483647;~__BLAST_NONDET~16 := #t~nondet204;havoc #t~nondet204;havoc ~compRetStatus~1;havoc ~returnVal~0;~lcontext~1.base, ~lcontext~1.offset := 0, 0;havoc ~tmp~12; {45243#true} is VALID [2022-04-08 08:32:44,311 INFO L290 TraceCheckUtils]: 1: Hoare triple {45243#true} assume !(0 != ~compRegistered~0); {45243#true} is VALID [2022-04-08 08:32:44,312 INFO L290 TraceCheckUtils]: 2: Hoare triple {45243#true} assume !(0 == ~__BLAST_NONDET~16); {45243#true} is VALID [2022-04-08 08:32:44,313 INFO L290 TraceCheckUtils]: 3: Hoare triple {45243#true} assume 1 == ~__BLAST_NONDET~16; {45243#true} is VALID [2022-04-08 08:32:44,313 INFO L290 TraceCheckUtils]: 4: Hoare triple {45243#true} ~returnVal~0 := -1073741823; {45243#true} is VALID [2022-04-08 08:32:44,313 INFO L290 TraceCheckUtils]: 5: Hoare triple {45243#true} assume !(~s~0 == ~NP~0); {45243#true} is VALID [2022-04-08 08:32:44,313 INFO L290 TraceCheckUtils]: 6: Hoare triple {45243#true} assume !(~s~0 == ~MPR1~0); {45243#true} is VALID [2022-04-08 08:32:44,313 INFO L290 TraceCheckUtils]: 7: Hoare triple {45243#true} assume ~s~0 == ~SKIP1~0;~s~0 := ~SKIP2~0;~lowerDriverReturn~0 := ~returnVal~0; {45322#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-08 08:32:44,313 INFO L290 TraceCheckUtils]: 8: Hoare triple {45322#(<= ~SKIP2~0 ~s~0)} #res := ~returnVal~0; {45322#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-08 08:32:44,314 INFO L290 TraceCheckUtils]: 9: Hoare triple {45322#(<= ~SKIP2~0 ~s~0)} assume true; {45322#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-08 08:32:44,315 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {45322#(<= ~SKIP2~0 ~s~0)} {45243#true} #1268#return; {45322#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-08 08:32:44,315 INFO L290 TraceCheckUtils]: 0: Hoare triple {45310#(and (= |old(#length)| |#length|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~irpStack~4.base, ~irpStack~4.offset;havoc ~devExt~4.base, ~devExt~4.offset;call ~#powerState~0.base, ~#powerState~0.offset := #Ultimate.allocOnStack(4);havoc ~powerType~0;havoc ~tmp~3;call #t~mem123.base, #t~mem123.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~4.base, ~devExt~4.offset := #t~mem123.base, #t~mem123.offset;havoc #t~mem123.base, #t~mem123.offset;call #t~mem124.base, #t~mem124.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~4.base, ~irpStack~4.offset := #t~mem124.base, #t~mem124.offset;havoc #t~mem124.base, #t~mem124.offset;call #t~mem125 := read~int(~irpStack~4.base, 8 + ~irpStack~4.offset, 4);~powerType~0 := #t~mem125;havoc #t~mem125;call #t~mem126 := read~int(~irpStack~4.base, 12 + ~irpStack~4.offset, 4);call #t~mem127 := read~int(~irpStack~4.base, 12 + ~irpStack~4.offset, 4);call write~int(#t~mem126, ~#powerState~0.base, ~#powerState~0.offset, 4);call write~int(#t~mem127, ~#powerState~0.base, ~#powerState~0.offset, 4);havoc #t~mem126;havoc #t~mem127;call #t~mem128 := read~int(~irpStack~4.base, 1 + ~irpStack~4.offset, 1); {45243#true} is VALID [2022-04-08 08:32:44,315 INFO L290 TraceCheckUtils]: 1: Hoare triple {45243#true} assume 2 == #t~mem128 % 256;havoc #t~mem128; {45243#true} is VALID [2022-04-08 08:32:44,315 INFO L290 TraceCheckUtils]: 2: Hoare triple {45243#true} assume 1 == ~powerType~0;call #t~mem132 := read~int(~#powerState~0.base, ~#powerState~0.offset, 4);call write~int(#t~mem132, ~devExt~4.base, 48 + ~devExt~4.offset, 4);havoc #t~mem132; {45243#true} is VALID [2022-04-08 08:32:44,315 INFO L290 TraceCheckUtils]: 3: Hoare triple {45243#true} assume ~s~0 == ~NP~0;~s~0 := ~SKIP1~0; {45243#true} is VALID [2022-04-08 08:32:44,315 INFO L290 TraceCheckUtils]: 4: Hoare triple {45243#true} call #t~mem133 := read~int(~Irp.base, 35 + ~Irp.offset, 1);call write~int((if (1 + #t~mem133) % 256 <= 127 then (1 + #t~mem133) % 256 else (1 + #t~mem133) % 256 - 256), ~Irp.base, 35 + ~Irp.offset, 1);havoc #t~mem133;call #t~mem134.base, #t~mem134.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);call write~$Pointer$(#t~mem134.base, 36 + #t~mem134.offset, ~Irp.base, 96 + ~Irp.offset, 4);havoc #t~mem134.base, #t~mem134.offset;call #t~mem135.base, #t~mem135.offset := read~$Pointer$(~devExt~4.base, 8 + ~devExt~4.offset, 4); {45243#true} is VALID [2022-04-08 08:32:44,316 INFO L272 TraceCheckUtils]: 5: Hoare triple {45243#true} call #t~ret136 := PoCallDriver(#t~mem135.base, #t~mem135.offset, ~Irp.base, ~Irp.offset); {45323#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:32:44,316 INFO L290 TraceCheckUtils]: 6: Hoare triple {45323#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet204 && #t~nondet204 <= 2147483647;~__BLAST_NONDET~16 := #t~nondet204;havoc #t~nondet204;havoc ~compRetStatus~1;havoc ~returnVal~0;~lcontext~1.base, ~lcontext~1.offset := 0, 0;havoc ~tmp~12; {45243#true} is VALID [2022-04-08 08:32:44,316 INFO L290 TraceCheckUtils]: 7: Hoare triple {45243#true} assume !(0 != ~compRegistered~0); {45243#true} is VALID [2022-04-08 08:32:44,316 INFO L290 TraceCheckUtils]: 8: Hoare triple {45243#true} assume !(0 == ~__BLAST_NONDET~16); {45243#true} is VALID [2022-04-08 08:32:44,316 INFO L290 TraceCheckUtils]: 9: Hoare triple {45243#true} assume 1 == ~__BLAST_NONDET~16; {45243#true} is VALID [2022-04-08 08:32:44,316 INFO L290 TraceCheckUtils]: 10: Hoare triple {45243#true} ~returnVal~0 := -1073741823; {45243#true} is VALID [2022-04-08 08:32:44,316 INFO L290 TraceCheckUtils]: 11: Hoare triple {45243#true} assume !(~s~0 == ~NP~0); {45243#true} is VALID [2022-04-08 08:32:44,316 INFO L290 TraceCheckUtils]: 12: Hoare triple {45243#true} assume !(~s~0 == ~MPR1~0); {45243#true} is VALID [2022-04-08 08:32:44,317 INFO L290 TraceCheckUtils]: 13: Hoare triple {45243#true} assume ~s~0 == ~SKIP1~0;~s~0 := ~SKIP2~0;~lowerDriverReturn~0 := ~returnVal~0; {45322#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-08 08:32:44,317 INFO L290 TraceCheckUtils]: 14: Hoare triple {45322#(<= ~SKIP2~0 ~s~0)} #res := ~returnVal~0; {45322#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-08 08:32:44,317 INFO L290 TraceCheckUtils]: 15: Hoare triple {45322#(<= ~SKIP2~0 ~s~0)} assume true; {45322#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-08 08:32:44,318 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {45322#(<= ~SKIP2~0 ~s~0)} {45243#true} #1268#return; {45322#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-08 08:32:44,318 INFO L290 TraceCheckUtils]: 17: Hoare triple {45322#(<= ~SKIP2~0 ~s~0)} assume -2147483648 <= #t~ret136 && #t~ret136 <= 2147483647;~tmp~3 := #t~ret136;havoc #t~mem135.base, #t~mem135.offset;havoc #t~ret136;#res := ~tmp~3;call ULTIMATE.dealloc(~#powerState~0.base, ~#powerState~0.offset);havoc ~#powerState~0.base, ~#powerState~0.offset; {45322#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-08 08:32:44,318 INFO L290 TraceCheckUtils]: 18: Hoare triple {45322#(<= ~SKIP2~0 ~s~0)} assume true; {45322#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-08 08:32:44,319 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {45322#(<= ~SKIP2~0 ~s~0)} {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} #1232#return; {45295#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} is VALID [2022-04-08 08:32:44,320 INFO L272 TraceCheckUtils]: 0: Hoare triple {45243#true} call ULTIMATE.init(); {45296#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:32:44,320 INFO L290 TraceCheckUtils]: 1: Hoare triple {45296#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {45243#true} is VALID [2022-04-08 08:32:44,320 INFO L290 TraceCheckUtils]: 2: Hoare triple {45243#true} assume true; {45243#true} is VALID [2022-04-08 08:32:44,320 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45243#true} {45243#true} #1270#return; {45243#true} is VALID [2022-04-08 08:32:44,320 INFO L272 TraceCheckUtils]: 4: Hoare triple {45243#true} call #t~ret213 := main(); {45243#true} is VALID [2022-04-08 08:32:44,320 INFO L290 TraceCheckUtils]: 5: Hoare triple {45243#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {45243#true} is VALID [2022-04-08 08:32:44,321 INFO L272 TraceCheckUtils]: 6: Hoare triple {45243#true} call _BLAST_init(); {45297#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:32:44,322 INFO L290 TraceCheckUtils]: 7: Hoare triple {45297#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 08:32:44,322 INFO L290 TraceCheckUtils]: 8: Hoare triple {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} assume true; {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 08:32:44,322 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} {45243#true} #1216#return; {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 08:32:44,323 INFO L272 TraceCheckUtils]: 10: Hoare triple {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {45298#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:32:44,323 INFO L290 TraceCheckUtils]: 11: Hoare triple {45298#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {45243#true} is VALID [2022-04-08 08:32:44,323 INFO L272 TraceCheckUtils]: 12: Hoare triple {45243#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {45243#true} is VALID [2022-04-08 08:32:44,323 INFO L290 TraceCheckUtils]: 13: Hoare triple {45243#true} ~cond := #in~cond; {45243#true} is VALID [2022-04-08 08:32:44,323 INFO L290 TraceCheckUtils]: 14: Hoare triple {45243#true} assume !(0 == ~cond); {45243#true} is VALID [2022-04-08 08:32:44,323 INFO L290 TraceCheckUtils]: 15: Hoare triple {45243#true} assume true; {45243#true} is VALID [2022-04-08 08:32:44,323 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {45243#true} {45243#true} #1254#return; {45243#true} is VALID [2022-04-08 08:32:44,323 INFO L290 TraceCheckUtils]: 17: Hoare triple {45243#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {45243#true} is VALID [2022-04-08 08:32:44,323 INFO L290 TraceCheckUtils]: 18: Hoare triple {45243#true} assume true; {45243#true} is VALID [2022-04-08 08:32:44,324 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {45243#true} {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} #1218#return; {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 08:32:44,324 INFO L290 TraceCheckUtils]: 20: Hoare triple {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 08:32:44,325 INFO L290 TraceCheckUtils]: 21: Hoare triple {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 08:32:44,325 INFO L290 TraceCheckUtils]: 22: Hoare triple {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 08:32:44,326 INFO L272 TraceCheckUtils]: 23: Hoare triple {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {45303#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:32:44,326 INFO L290 TraceCheckUtils]: 24: Hoare triple {45303#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {45243#true} is VALID [2022-04-08 08:32:44,327 INFO L272 TraceCheckUtils]: 25: Hoare triple {45243#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {45303#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:32:44,327 INFO L290 TraceCheckUtils]: 26: Hoare triple {45303#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {45243#true} is VALID [2022-04-08 08:32:44,327 INFO L290 TraceCheckUtils]: 27: Hoare triple {45243#true} assume !(0 == ~__BLAST_NONDET~5); {45243#true} is VALID [2022-04-08 08:32:44,327 INFO L290 TraceCheckUtils]: 28: Hoare triple {45243#true} #res := -1073741823; {45243#true} is VALID [2022-04-08 08:32:44,327 INFO L290 TraceCheckUtils]: 29: Hoare triple {45243#true} assume true; {45243#true} is VALID [2022-04-08 08:32:44,328 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {45243#true} {45243#true} #1176#return; {45243#true} is VALID [2022-04-08 08:32:44,328 INFO L290 TraceCheckUtils]: 31: Hoare triple {45243#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {45243#true} is VALID [2022-04-08 08:32:44,328 INFO L290 TraceCheckUtils]: 32: Hoare triple {45243#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {45243#true} is VALID [2022-04-08 08:32:44,328 INFO L290 TraceCheckUtils]: 33: Hoare triple {45243#true} assume true; {45243#true} is VALID [2022-04-08 08:32:44,328 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {45243#true} {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} #1220#return; {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 08:32:44,329 INFO L290 TraceCheckUtils]: 35: Hoare triple {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 08:32:44,329 INFO L272 TraceCheckUtils]: 36: Hoare triple {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} call stub_driver_init(); {45309#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:32:44,329 INFO L290 TraceCheckUtils]: 37: Hoare triple {45309#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {45243#true} is VALID [2022-04-08 08:32:44,329 INFO L290 TraceCheckUtils]: 38: Hoare triple {45243#true} assume true; {45243#true} is VALID [2022-04-08 08:32:44,330 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {45243#true} {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} #1222#return; {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 08:32:44,330 INFO L290 TraceCheckUtils]: 40: Hoare triple {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} assume !!(~status~5 >= 0); {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 08:32:44,330 INFO L290 TraceCheckUtils]: 41: Hoare triple {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} assume !(0 == ~__BLAST_NONDET~0); {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 08:32:44,330 INFO L290 TraceCheckUtils]: 42: Hoare triple {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} assume !(1 == ~__BLAST_NONDET~0); {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 08:32:44,331 INFO L290 TraceCheckUtils]: 43: Hoare triple {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} assume !(2 == ~__BLAST_NONDET~0); {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 08:32:44,331 INFO L290 TraceCheckUtils]: 44: Hoare triple {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} assume !(3 == ~__BLAST_NONDET~0); {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 08:32:44,331 INFO L290 TraceCheckUtils]: 45: Hoare triple {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} assume 4 == ~__BLAST_NONDET~0; {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 08:32:44,332 INFO L272 TraceCheckUtils]: 46: Hoare triple {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} call #t~ret175 := KbFilter_Power(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {45310#(and (= |old(#length)| |#length|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:32:44,332 INFO L290 TraceCheckUtils]: 47: Hoare triple {45310#(and (= |old(#length)| |#length|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~irpStack~4.base, ~irpStack~4.offset;havoc ~devExt~4.base, ~devExt~4.offset;call ~#powerState~0.base, ~#powerState~0.offset := #Ultimate.allocOnStack(4);havoc ~powerType~0;havoc ~tmp~3;call #t~mem123.base, #t~mem123.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~4.base, ~devExt~4.offset := #t~mem123.base, #t~mem123.offset;havoc #t~mem123.base, #t~mem123.offset;call #t~mem124.base, #t~mem124.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~4.base, ~irpStack~4.offset := #t~mem124.base, #t~mem124.offset;havoc #t~mem124.base, #t~mem124.offset;call #t~mem125 := read~int(~irpStack~4.base, 8 + ~irpStack~4.offset, 4);~powerType~0 := #t~mem125;havoc #t~mem125;call #t~mem126 := read~int(~irpStack~4.base, 12 + ~irpStack~4.offset, 4);call #t~mem127 := read~int(~irpStack~4.base, 12 + ~irpStack~4.offset, 4);call write~int(#t~mem126, ~#powerState~0.base, ~#powerState~0.offset, 4);call write~int(#t~mem127, ~#powerState~0.base, ~#powerState~0.offset, 4);havoc #t~mem126;havoc #t~mem127;call #t~mem128 := read~int(~irpStack~4.base, 1 + ~irpStack~4.offset, 1); {45243#true} is VALID [2022-04-08 08:32:44,332 INFO L290 TraceCheckUtils]: 48: Hoare triple {45243#true} assume 2 == #t~mem128 % 256;havoc #t~mem128; {45243#true} is VALID [2022-04-08 08:32:44,332 INFO L290 TraceCheckUtils]: 49: Hoare triple {45243#true} assume 1 == ~powerType~0;call #t~mem132 := read~int(~#powerState~0.base, ~#powerState~0.offset, 4);call write~int(#t~mem132, ~devExt~4.base, 48 + ~devExt~4.offset, 4);havoc #t~mem132; {45243#true} is VALID [2022-04-08 08:32:44,332 INFO L290 TraceCheckUtils]: 50: Hoare triple {45243#true} assume ~s~0 == ~NP~0;~s~0 := ~SKIP1~0; {45243#true} is VALID [2022-04-08 08:32:44,332 INFO L290 TraceCheckUtils]: 51: Hoare triple {45243#true} call #t~mem133 := read~int(~Irp.base, 35 + ~Irp.offset, 1);call write~int((if (1 + #t~mem133) % 256 <= 127 then (1 + #t~mem133) % 256 else (1 + #t~mem133) % 256 - 256), ~Irp.base, 35 + ~Irp.offset, 1);havoc #t~mem133;call #t~mem134.base, #t~mem134.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);call write~$Pointer$(#t~mem134.base, 36 + #t~mem134.offset, ~Irp.base, 96 + ~Irp.offset, 4);havoc #t~mem134.base, #t~mem134.offset;call #t~mem135.base, #t~mem135.offset := read~$Pointer$(~devExt~4.base, 8 + ~devExt~4.offset, 4); {45243#true} is VALID [2022-04-08 08:32:44,333 INFO L272 TraceCheckUtils]: 52: Hoare triple {45243#true} call #t~ret136 := PoCallDriver(#t~mem135.base, #t~mem135.offset, ~Irp.base, ~Irp.offset); {45323#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:32:44,333 INFO L290 TraceCheckUtils]: 53: Hoare triple {45323#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet204 && #t~nondet204 <= 2147483647;~__BLAST_NONDET~16 := #t~nondet204;havoc #t~nondet204;havoc ~compRetStatus~1;havoc ~returnVal~0;~lcontext~1.base, ~lcontext~1.offset := 0, 0;havoc ~tmp~12; {45243#true} is VALID [2022-04-08 08:32:44,333 INFO L290 TraceCheckUtils]: 54: Hoare triple {45243#true} assume !(0 != ~compRegistered~0); {45243#true} is VALID [2022-04-08 08:32:44,333 INFO L290 TraceCheckUtils]: 55: Hoare triple {45243#true} assume !(0 == ~__BLAST_NONDET~16); {45243#true} is VALID [2022-04-08 08:32:44,333 INFO L290 TraceCheckUtils]: 56: Hoare triple {45243#true} assume 1 == ~__BLAST_NONDET~16; {45243#true} is VALID [2022-04-08 08:32:44,333 INFO L290 TraceCheckUtils]: 57: Hoare triple {45243#true} ~returnVal~0 := -1073741823; {45243#true} is VALID [2022-04-08 08:32:44,333 INFO L290 TraceCheckUtils]: 58: Hoare triple {45243#true} assume !(~s~0 == ~NP~0); {45243#true} is VALID [2022-04-08 08:32:44,333 INFO L290 TraceCheckUtils]: 59: Hoare triple {45243#true} assume !(~s~0 == ~MPR1~0); {45243#true} is VALID [2022-04-08 08:32:44,334 INFO L290 TraceCheckUtils]: 60: Hoare triple {45243#true} assume ~s~0 == ~SKIP1~0;~s~0 := ~SKIP2~0;~lowerDriverReturn~0 := ~returnVal~0; {45322#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-08 08:32:44,334 INFO L290 TraceCheckUtils]: 61: Hoare triple {45322#(<= ~SKIP2~0 ~s~0)} #res := ~returnVal~0; {45322#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-08 08:32:44,334 INFO L290 TraceCheckUtils]: 62: Hoare triple {45322#(<= ~SKIP2~0 ~s~0)} assume true; {45322#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-08 08:32:44,335 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {45322#(<= ~SKIP2~0 ~s~0)} {45243#true} #1268#return; {45322#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-08 08:32:44,335 INFO L290 TraceCheckUtils]: 64: Hoare triple {45322#(<= ~SKIP2~0 ~s~0)} assume -2147483648 <= #t~ret136 && #t~ret136 <= 2147483647;~tmp~3 := #t~ret136;havoc #t~mem135.base, #t~mem135.offset;havoc #t~ret136;#res := ~tmp~3;call ULTIMATE.dealloc(~#powerState~0.base, ~#powerState~0.offset);havoc ~#powerState~0.base, ~#powerState~0.offset; {45322#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-08 08:32:44,335 INFO L290 TraceCheckUtils]: 65: Hoare triple {45322#(<= ~SKIP2~0 ~s~0)} assume true; {45322#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-08 08:32:44,336 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {45322#(<= ~SKIP2~0 ~s~0)} {45251#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} #1232#return; {45295#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} is VALID [2022-04-08 08:32:44,336 INFO L290 TraceCheckUtils]: 67: Hoare triple {45295#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} assume -2147483648 <= #t~ret175 && #t~ret175 <= 2147483647;~status~5 := #t~ret175;havoc #t~ret175; {45295#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} is VALID [2022-04-08 08:32:44,337 INFO L290 TraceCheckUtils]: 68: Hoare triple {45295#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} assume 0 != ~we_should_unload~0; {45295#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} is VALID [2022-04-08 08:32:44,337 INFO L290 TraceCheckUtils]: 69: Hoare triple {45295#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} assume !(1 == ~pended~0); {45295#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} is VALID [2022-04-08 08:32:44,337 INFO L290 TraceCheckUtils]: 70: Hoare triple {45295#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} assume !(1 == ~pended~0); {45295#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} is VALID [2022-04-08 08:32:44,338 INFO L290 TraceCheckUtils]: 71: Hoare triple {45295#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} assume !(~s~0 == ~UNLOADED~0); {45295#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} is VALID [2022-04-08 08:32:44,338 INFO L290 TraceCheckUtils]: 72: Hoare triple {45295#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} assume !(-1 == ~status~5); {45295#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} is VALID [2022-04-08 08:32:44,338 INFO L290 TraceCheckUtils]: 73: Hoare triple {45295#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} assume !(~s~0 != ~SKIP2~0); {45295#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} is VALID [2022-04-08 08:32:44,339 INFO L290 TraceCheckUtils]: 74: Hoare triple {45295#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} assume !(1 == ~pended~0); {45295#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} is VALID [2022-04-08 08:32:44,339 INFO L290 TraceCheckUtils]: 75: Hoare triple {45295#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} assume ~s~0 == ~DC~0; {45244#false} is VALID [2022-04-08 08:32:44,339 INFO L290 TraceCheckUtils]: 76: Hoare triple {45244#false} assume 259 == ~status~5; {45244#false} is VALID [2022-04-08 08:32:44,339 INFO L272 TraceCheckUtils]: 77: Hoare triple {45244#false} call errorFn(); {45244#false} is VALID [2022-04-08 08:32:44,339 INFO L290 TraceCheckUtils]: 78: Hoare triple {45244#false} assume !false; {45244#false} is VALID [2022-04-08 08:32:44,339 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 08:32:44,339 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:32:44,339 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1023341974] [2022-04-08 08:32:44,340 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1023341974] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:32:44,340 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:32:44,340 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 08:32:44,340 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:32:44,340 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1525226787] [2022-04-08 08:32:44,340 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1525226787] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:32:44,340 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:32:44,340 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 08:32:44,340 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1458794671] [2022-04-08 08:32:44,340 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:32:44,341 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 4.916666666666667) internal successors, (59), 5 states have internal predecessors, (59), 3 states have call successors, (11), 9 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 2 states have call successors, (9) Word has length 79 [2022-04-08 08:32:44,341 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:32:44,341 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 4.916666666666667) internal successors, (59), 5 states have internal predecessors, (59), 3 states have call successors, (11), 9 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:32:44,401 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:32:44,401 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 08:32:44,402 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:32:44,402 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 08:32:44,402 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=101, Unknown=0, NotChecked=0, Total=132 [2022-04-08 08:32:44,402 INFO L87 Difference]: Start difference. First operand 338 states and 432 transitions. Second operand has 12 states, 12 states have (on average 4.916666666666667) internal successors, (59), 5 states have internal predecessors, (59), 3 states have call successors, (11), 9 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:32:46,662 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:32:56,735 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:32:56,736 INFO L93 Difference]: Finished difference Result 429 states and 546 transitions. [2022-04-08 08:32:56,736 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-08 08:32:56,736 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 4.916666666666667) internal successors, (59), 5 states have internal predecessors, (59), 3 states have call successors, (11), 9 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 2 states have call successors, (9) Word has length 79 [2022-04-08 08:32:56,736 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:32:56,736 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 4.916666666666667) internal successors, (59), 5 states have internal predecessors, (59), 3 states have call successors, (11), 9 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:32:56,739 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 471 transitions. [2022-04-08 08:32:56,739 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 4.916666666666667) internal successors, (59), 5 states have internal predecessors, (59), 3 states have call successors, (11), 9 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:32:56,741 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 471 transitions. [2022-04-08 08:32:56,741 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 471 transitions. [2022-04-08 08:32:57,277 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 471 edges. 471 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:32:57,283 INFO L225 Difference]: With dead ends: 429 [2022-04-08 08:32:57,284 INFO L226 Difference]: Without dead ends: 376 [2022-04-08 08:32:57,284 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 46 GetRequests, 18 SyntacticMatches, 1 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 148 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=210, Invalid=602, Unknown=0, NotChecked=0, Total=812 [2022-04-08 08:32:57,284 INFO L913 BasicCegarLoop]: 275 mSDtfsCounter, 1009 mSDsluCounter, 296 mSDsCounter, 0 mSdLazyCounter, 1276 mSolverCounterSat, 330 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1024 SdHoareTripleChecker+Valid, 571 SdHoareTripleChecker+Invalid, 1607 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 330 IncrementalHoareTripleChecker+Valid, 1276 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.8s IncrementalHoareTripleChecker+Time [2022-04-08 08:32:57,285 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [1024 Valid, 571 Invalid, 1607 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [330 Valid, 1276 Invalid, 1 Unknown, 0 Unchecked, 5.8s Time] [2022-04-08 08:32:57,285 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 376 states. [2022-04-08 08:32:57,739 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 376 to 329. [2022-04-08 08:32:57,740 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:32:57,740 INFO L82 GeneralOperation]: Start isEquivalent. First operand 376 states. Second operand has 329 states, 262 states have (on average 1.3244274809160306) internal successors, (347), 266 states have internal predecessors, (347), 36 states have call successors, (36), 29 states have call predecessors, (36), 30 states have return successors, (35), 33 states have call predecessors, (35), 31 states have call successors, (35) [2022-04-08 08:32:57,741 INFO L74 IsIncluded]: Start isIncluded. First operand 376 states. Second operand has 329 states, 262 states have (on average 1.3244274809160306) internal successors, (347), 266 states have internal predecessors, (347), 36 states have call successors, (36), 29 states have call predecessors, (36), 30 states have return successors, (35), 33 states have call predecessors, (35), 31 states have call successors, (35) [2022-04-08 08:32:57,741 INFO L87 Difference]: Start difference. First operand 376 states. Second operand has 329 states, 262 states have (on average 1.3244274809160306) internal successors, (347), 266 states have internal predecessors, (347), 36 states have call successors, (36), 29 states have call predecessors, (36), 30 states have return successors, (35), 33 states have call predecessors, (35), 31 states have call successors, (35) [2022-04-08 08:32:57,746 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:32:57,746 INFO L93 Difference]: Finished difference Result 376 states and 482 transitions. [2022-04-08 08:32:57,746 INFO L276 IsEmpty]: Start isEmpty. Operand 376 states and 482 transitions. [2022-04-08 08:32:57,747 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:32:57,747 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:32:57,747 INFO L74 IsIncluded]: Start isIncluded. First operand has 329 states, 262 states have (on average 1.3244274809160306) internal successors, (347), 266 states have internal predecessors, (347), 36 states have call successors, (36), 29 states have call predecessors, (36), 30 states have return successors, (35), 33 states have call predecessors, (35), 31 states have call successors, (35) Second operand 376 states. [2022-04-08 08:32:57,748 INFO L87 Difference]: Start difference. First operand has 329 states, 262 states have (on average 1.3244274809160306) internal successors, (347), 266 states have internal predecessors, (347), 36 states have call successors, (36), 29 states have call predecessors, (36), 30 states have return successors, (35), 33 states have call predecessors, (35), 31 states have call successors, (35) Second operand 376 states. [2022-04-08 08:32:57,753 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:32:57,753 INFO L93 Difference]: Finished difference Result 376 states and 482 transitions. [2022-04-08 08:32:57,753 INFO L276 IsEmpty]: Start isEmpty. Operand 376 states and 482 transitions. [2022-04-08 08:32:57,754 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:32:57,754 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:32:57,754 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:32:57,754 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:32:57,754 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 329 states, 262 states have (on average 1.3244274809160306) internal successors, (347), 266 states have internal predecessors, (347), 36 states have call successors, (36), 29 states have call predecessors, (36), 30 states have return successors, (35), 33 states have call predecessors, (35), 31 states have call successors, (35) [2022-04-08 08:32:57,760 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 329 states to 329 states and 418 transitions. [2022-04-08 08:32:57,760 INFO L78 Accepts]: Start accepts. Automaton has 329 states and 418 transitions. Word has length 79 [2022-04-08 08:32:57,760 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:32:57,760 INFO L478 AbstractCegarLoop]: Abstraction has 329 states and 418 transitions. [2022-04-08 08:32:57,760 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 4.916666666666667) internal successors, (59), 5 states have internal predecessors, (59), 3 states have call successors, (11), 9 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:32:57,760 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 329 states and 418 transitions. [2022-04-08 08:32:58,513 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 418 edges. 418 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:32:58,513 INFO L276 IsEmpty]: Start isEmpty. Operand 329 states and 418 transitions. [2022-04-08 08:32:58,513 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 85 [2022-04-08 08:32:58,513 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:32:58,514 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:32:58,514 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18 [2022-04-08 08:32:58,514 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:32:58,514 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:32:58,514 INFO L85 PathProgramCache]: Analyzing trace with hash -1773831806, now seen corresponding path program 1 times [2022-04-08 08:32:58,514 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:32:58,514 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [319428147] [2022-04-08 08:32:58,514 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 08:32:58,514 INFO L85 PathProgramCache]: Analyzing trace with hash -1773831806, now seen corresponding path program 2 times [2022-04-08 08:32:58,514 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:32:58,515 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [385198633] [2022-04-08 08:32:58,515 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:32:58,515 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:32:58,569 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:32:58,628 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:32:58,631 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:32:58,635 INFO L290 TraceCheckUtils]: 0: Hoare triple {47681#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {47633#true} is VALID [2022-04-08 08:32:58,635 INFO L290 TraceCheckUtils]: 1: Hoare triple {47633#true} assume true; {47633#true} is VALID [2022-04-08 08:32:58,636 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {47633#true} {47633#true} #1270#return; {47633#true} is VALID [2022-04-08 08:32:58,655 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:32:58,656 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:32:58,660 INFO L290 TraceCheckUtils]: 0: Hoare triple {47682#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {47633#true} is VALID [2022-04-08 08:32:58,661 INFO L290 TraceCheckUtils]: 1: Hoare triple {47633#true} assume true; {47633#true} is VALID [2022-04-08 08:32:58,661 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {47633#true} {47633#true} #1216#return; {47633#true} is VALID [2022-04-08 08:32:58,667 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:32:58,672 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:32:58,682 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:32:58,683 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:32:58,687 INFO L290 TraceCheckUtils]: 0: Hoare triple {47633#true} ~cond := #in~cond; {47633#true} is VALID [2022-04-08 08:32:58,687 INFO L290 TraceCheckUtils]: 1: Hoare triple {47633#true} assume !(0 == ~cond); {47633#true} is VALID [2022-04-08 08:32:58,687 INFO L290 TraceCheckUtils]: 2: Hoare triple {47633#true} assume true; {47633#true} is VALID [2022-04-08 08:32:58,687 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {47633#true} {47633#true} #1254#return; {47633#true} is VALID [2022-04-08 08:32:58,687 INFO L290 TraceCheckUtils]: 0: Hoare triple {47683#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {47633#true} is VALID [2022-04-08 08:32:58,687 INFO L272 TraceCheckUtils]: 1: Hoare triple {47633#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {47633#true} is VALID [2022-04-08 08:32:58,688 INFO L290 TraceCheckUtils]: 2: Hoare triple {47633#true} ~cond := #in~cond; {47633#true} is VALID [2022-04-08 08:32:58,688 INFO L290 TraceCheckUtils]: 3: Hoare triple {47633#true} assume !(0 == ~cond); {47633#true} is VALID [2022-04-08 08:32:58,688 INFO L290 TraceCheckUtils]: 4: Hoare triple {47633#true} assume true; {47633#true} is VALID [2022-04-08 08:32:58,688 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {47633#true} {47633#true} #1254#return; {47633#true} is VALID [2022-04-08 08:32:58,688 INFO L290 TraceCheckUtils]: 6: Hoare triple {47633#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {47633#true} is VALID [2022-04-08 08:32:58,688 INFO L290 TraceCheckUtils]: 7: Hoare triple {47633#true} assume true; {47633#true} is VALID [2022-04-08 08:32:58,688 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {47633#true} {47633#true} #1218#return; {47633#true} is VALID [2022-04-08 08:32:58,696 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:32:58,699 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:32:58,705 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:32:58,706 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:32:58,711 INFO L290 TraceCheckUtils]: 0: Hoare triple {47688#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {47633#true} is VALID [2022-04-08 08:32:58,711 INFO L290 TraceCheckUtils]: 1: Hoare triple {47633#true} assume !(0 == ~__BLAST_NONDET~5); {47633#true} is VALID [2022-04-08 08:32:58,711 INFO L290 TraceCheckUtils]: 2: Hoare triple {47633#true} #res := -1073741823; {47633#true} is VALID [2022-04-08 08:32:58,711 INFO L290 TraceCheckUtils]: 3: Hoare triple {47633#true} assume true; {47633#true} is VALID [2022-04-08 08:32:58,711 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {47633#true} {47633#true} #1176#return; {47633#true} is VALID [2022-04-08 08:32:58,711 INFO L290 TraceCheckUtils]: 0: Hoare triple {47688#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {47633#true} is VALID [2022-04-08 08:32:58,712 INFO L272 TraceCheckUtils]: 1: Hoare triple {47633#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {47688#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:32:58,712 INFO L290 TraceCheckUtils]: 2: Hoare triple {47688#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {47633#true} is VALID [2022-04-08 08:32:58,712 INFO L290 TraceCheckUtils]: 3: Hoare triple {47633#true} assume !(0 == ~__BLAST_NONDET~5); {47633#true} is VALID [2022-04-08 08:32:58,712 INFO L290 TraceCheckUtils]: 4: Hoare triple {47633#true} #res := -1073741823; {47633#true} is VALID [2022-04-08 08:32:58,712 INFO L290 TraceCheckUtils]: 5: Hoare triple {47633#true} assume true; {47633#true} is VALID [2022-04-08 08:32:58,712 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {47633#true} {47633#true} #1176#return; {47633#true} is VALID [2022-04-08 08:32:58,712 INFO L290 TraceCheckUtils]: 7: Hoare triple {47633#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {47633#true} is VALID [2022-04-08 08:32:58,713 INFO L290 TraceCheckUtils]: 8: Hoare triple {47633#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {47633#true} is VALID [2022-04-08 08:32:58,713 INFO L290 TraceCheckUtils]: 9: Hoare triple {47633#true} assume true; {47633#true} is VALID [2022-04-08 08:32:58,713 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {47633#true} {47633#true} #1220#return; {47633#true} is VALID [2022-04-08 08:32:58,724 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 08:32:58,725 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:32:58,729 INFO L290 TraceCheckUtils]: 0: Hoare triple {47694#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {47633#true} is VALID [2022-04-08 08:32:58,730 INFO L290 TraceCheckUtils]: 1: Hoare triple {47633#true} assume true; {47633#true} is VALID [2022-04-08 08:32:58,730 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {47633#true} {47633#true} #1222#return; {47633#true} is VALID [2022-04-08 08:32:58,730 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 49 [2022-04-08 08:32:58,731 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:32:58,736 INFO L290 TraceCheckUtils]: 0: Hoare triple {47683#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {47633#true} is VALID [2022-04-08 08:32:58,736 INFO L290 TraceCheckUtils]: 1: Hoare triple {47633#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {47633#true} is VALID [2022-04-08 08:32:58,736 INFO L290 TraceCheckUtils]: 2: Hoare triple {47633#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {47633#true} is VALID [2022-04-08 08:32:58,736 INFO L290 TraceCheckUtils]: 3: Hoare triple {47633#true} assume #res.base == dest.base && #res.offset == dest.offset; {47633#true} is VALID [2022-04-08 08:32:58,736 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {47633#true} {47633#true} #1186#return; {47633#true} is VALID [2022-04-08 08:32:58,741 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 62 [2022-04-08 08:32:58,743 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:32:58,747 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:32:58,748 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:32:58,752 INFO L290 TraceCheckUtils]: 0: Hoare triple {47695#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {47633#true} is VALID [2022-04-08 08:32:58,753 INFO L290 TraceCheckUtils]: 1: Hoare triple {47633#true} assume true; {47633#true} is VALID [2022-04-08 08:32:58,753 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {47633#true} {47633#true} #1174#return; {47633#true} is VALID [2022-04-08 08:32:58,753 INFO L290 TraceCheckUtils]: 0: Hoare triple {47695#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {47633#true} is VALID [2022-04-08 08:32:58,753 INFO L272 TraceCheckUtils]: 1: Hoare triple {47633#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {47695#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:32:58,753 INFO L290 TraceCheckUtils]: 2: Hoare triple {47695#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {47633#true} is VALID [2022-04-08 08:32:58,753 INFO L290 TraceCheckUtils]: 3: Hoare triple {47633#true} assume true; {47633#true} is VALID [2022-04-08 08:32:58,753 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {47633#true} {47633#true} #1174#return; {47633#true} is VALID [2022-04-08 08:32:58,753 INFO L290 TraceCheckUtils]: 5: Hoare triple {47633#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {47633#true} is VALID [2022-04-08 08:32:58,754 INFO L290 TraceCheckUtils]: 6: Hoare triple {47633#true} assume true; {47633#true} is VALID [2022-04-08 08:32:58,754 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {47633#true} {47633#true} #1210#return; {47633#true} is VALID [2022-04-08 08:32:58,759 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 73 [2022-04-08 08:32:58,761 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:32:58,771 INFO L290 TraceCheckUtils]: 0: Hoare triple {47699#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {47680#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} is VALID [2022-04-08 08:32:58,771 INFO L290 TraceCheckUtils]: 1: Hoare triple {47680#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} assume true; {47680#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} is VALID [2022-04-08 08:32:58,772 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {47680#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} {47633#true} #1212#return; {47680#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} is VALID [2022-04-08 08:32:58,773 INFO L272 TraceCheckUtils]: 0: Hoare triple {47633#true} call ULTIMATE.init(); {47681#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:32:58,773 INFO L290 TraceCheckUtils]: 1: Hoare triple {47681#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {47633#true} is VALID [2022-04-08 08:32:58,773 INFO L290 TraceCheckUtils]: 2: Hoare triple {47633#true} assume true; {47633#true} is VALID [2022-04-08 08:32:58,773 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {47633#true} {47633#true} #1270#return; {47633#true} is VALID [2022-04-08 08:32:58,773 INFO L272 TraceCheckUtils]: 4: Hoare triple {47633#true} call #t~ret213 := main(); {47633#true} is VALID [2022-04-08 08:32:58,773 INFO L290 TraceCheckUtils]: 5: Hoare triple {47633#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {47633#true} is VALID [2022-04-08 08:32:58,774 INFO L272 TraceCheckUtils]: 6: Hoare triple {47633#true} call _BLAST_init(); {47682#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:32:58,774 INFO L290 TraceCheckUtils]: 7: Hoare triple {47682#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {47633#true} is VALID [2022-04-08 08:32:58,774 INFO L290 TraceCheckUtils]: 8: Hoare triple {47633#true} assume true; {47633#true} is VALID [2022-04-08 08:32:58,774 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {47633#true} {47633#true} #1216#return; {47633#true} is VALID [2022-04-08 08:32:58,775 INFO L272 TraceCheckUtils]: 10: Hoare triple {47633#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {47683#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:32:58,775 INFO L290 TraceCheckUtils]: 11: Hoare triple {47683#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {47633#true} is VALID [2022-04-08 08:32:58,775 INFO L272 TraceCheckUtils]: 12: Hoare triple {47633#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {47633#true} is VALID [2022-04-08 08:32:58,775 INFO L290 TraceCheckUtils]: 13: Hoare triple {47633#true} ~cond := #in~cond; {47633#true} is VALID [2022-04-08 08:32:58,776 INFO L290 TraceCheckUtils]: 14: Hoare triple {47633#true} assume !(0 == ~cond); {47633#true} is VALID [2022-04-08 08:32:58,776 INFO L290 TraceCheckUtils]: 15: Hoare triple {47633#true} assume true; {47633#true} is VALID [2022-04-08 08:32:58,776 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {47633#true} {47633#true} #1254#return; {47633#true} is VALID [2022-04-08 08:32:58,776 INFO L290 TraceCheckUtils]: 17: Hoare triple {47633#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {47633#true} is VALID [2022-04-08 08:32:58,776 INFO L290 TraceCheckUtils]: 18: Hoare triple {47633#true} assume true; {47633#true} is VALID [2022-04-08 08:32:58,776 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {47633#true} {47633#true} #1218#return; {47633#true} is VALID [2022-04-08 08:32:58,776 INFO L290 TraceCheckUtils]: 20: Hoare triple {47633#true} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {47633#true} is VALID [2022-04-08 08:32:58,776 INFO L290 TraceCheckUtils]: 21: Hoare triple {47633#true} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {47633#true} is VALID [2022-04-08 08:32:58,776 INFO L290 TraceCheckUtils]: 22: Hoare triple {47633#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {47633#true} is VALID [2022-04-08 08:32:58,777 INFO L272 TraceCheckUtils]: 23: Hoare triple {47633#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {47688#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:32:58,777 INFO L290 TraceCheckUtils]: 24: Hoare triple {47688#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {47633#true} is VALID [2022-04-08 08:32:58,778 INFO L272 TraceCheckUtils]: 25: Hoare triple {47633#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {47688#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:32:58,778 INFO L290 TraceCheckUtils]: 26: Hoare triple {47688#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {47633#true} is VALID [2022-04-08 08:32:58,778 INFO L290 TraceCheckUtils]: 27: Hoare triple {47633#true} assume !(0 == ~__BLAST_NONDET~5); {47633#true} is VALID [2022-04-08 08:32:58,778 INFO L290 TraceCheckUtils]: 28: Hoare triple {47633#true} #res := -1073741823; {47633#true} is VALID [2022-04-08 08:32:58,778 INFO L290 TraceCheckUtils]: 29: Hoare triple {47633#true} assume true; {47633#true} is VALID [2022-04-08 08:32:58,778 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {47633#true} {47633#true} #1176#return; {47633#true} is VALID [2022-04-08 08:32:58,778 INFO L290 TraceCheckUtils]: 31: Hoare triple {47633#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {47633#true} is VALID [2022-04-08 08:32:58,778 INFO L290 TraceCheckUtils]: 32: Hoare triple {47633#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {47633#true} is VALID [2022-04-08 08:32:58,778 INFO L290 TraceCheckUtils]: 33: Hoare triple {47633#true} assume true; {47633#true} is VALID [2022-04-08 08:32:58,778 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {47633#true} {47633#true} #1220#return; {47633#true} is VALID [2022-04-08 08:32:58,778 INFO L290 TraceCheckUtils]: 35: Hoare triple {47633#true} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {47633#true} is VALID [2022-04-08 08:32:58,779 INFO L272 TraceCheckUtils]: 36: Hoare triple {47633#true} call stub_driver_init(); {47694#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:32:58,779 INFO L290 TraceCheckUtils]: 37: Hoare triple {47694#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {47633#true} is VALID [2022-04-08 08:32:58,779 INFO L290 TraceCheckUtils]: 38: Hoare triple {47633#true} assume true; {47633#true} is VALID [2022-04-08 08:32:58,779 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {47633#true} {47633#true} #1222#return; {47633#true} is VALID [2022-04-08 08:32:58,779 INFO L290 TraceCheckUtils]: 40: Hoare triple {47633#true} assume !!(~status~5 >= 0); {47633#true} is VALID [2022-04-08 08:32:58,779 INFO L290 TraceCheckUtils]: 41: Hoare triple {47633#true} assume !(0 == ~__BLAST_NONDET~0); {47633#true} is VALID [2022-04-08 08:32:58,779 INFO L290 TraceCheckUtils]: 42: Hoare triple {47633#true} assume !(1 == ~__BLAST_NONDET~0); {47633#true} is VALID [2022-04-08 08:32:58,779 INFO L290 TraceCheckUtils]: 43: Hoare triple {47633#true} assume !(2 == ~__BLAST_NONDET~0); {47633#true} is VALID [2022-04-08 08:32:58,779 INFO L290 TraceCheckUtils]: 44: Hoare triple {47633#true} assume 3 == ~__BLAST_NONDET~0; {47633#true} is VALID [2022-04-08 08:32:58,779 INFO L272 TraceCheckUtils]: 45: Hoare triple {47633#true} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {47633#true} is VALID [2022-04-08 08:32:58,780 INFO L290 TraceCheckUtils]: 46: Hoare triple {47633#true} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~devExt~3.base, ~devExt~3.offset;havoc ~irpStack~3.base, ~irpStack~3.offset;havoc ~status~3;call ~#event~1.base, ~#event~1.offset := #Ultimate.allocOnStack(16);havoc ~irpSp~0.base, ~irpSp~0.offset;havoc ~nextIrpSp~0.base, ~nextIrpSp~0.offset;havoc ~irpSp___0~0.base, ~irpSp___0~0.offset;~status~3 := 0;call #t~mem79.base, #t~mem79.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~3.base, ~devExt~3.offset := #t~mem79.base, #t~mem79.offset;havoc #t~mem79.base, #t~mem79.offset;call #t~mem80.base, #t~mem80.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~3.base, ~irpStack~3.offset := #t~mem80.base, #t~mem80.offset;havoc #t~mem80.base, #t~mem80.offset;call #t~mem81 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {47633#true} is VALID [2022-04-08 08:32:58,780 INFO L290 TraceCheckUtils]: 47: Hoare triple {47633#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {47633#true} is VALID [2022-04-08 08:32:58,780 INFO L290 TraceCheckUtils]: 48: Hoare triple {47633#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp~0.base, ~irpSp~0.offset := #t~mem102.base, #t~mem102.offset;havoc #t~mem102.base, #t~mem102.offset;call #t~mem103.base, #t~mem103.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 36;havoc #t~mem103.base, #t~mem103.offset; {47633#true} is VALID [2022-04-08 08:32:58,781 INFO L272 TraceCheckUtils]: 49: Hoare triple {47633#true} call #t~memmove~res104.base, #t~memmove~res104.offset := #Ultimate.C_memmove(~nextIrpSp~0.base, ~nextIrpSp~0.offset, ~irpSp~0.base, ~irpSp~0.offset, 28); {47683#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:32:58,781 INFO L290 TraceCheckUtils]: 50: Hoare triple {47683#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {47633#true} is VALID [2022-04-08 08:32:58,781 INFO L290 TraceCheckUtils]: 51: Hoare triple {47633#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {47633#true} is VALID [2022-04-08 08:32:58,781 INFO L290 TraceCheckUtils]: 52: Hoare triple {47633#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {47633#true} is VALID [2022-04-08 08:32:58,781 INFO L290 TraceCheckUtils]: 53: Hoare triple {47633#true} assume #res.base == dest.base && #res.offset == dest.offset; {47633#true} is VALID [2022-04-08 08:32:58,781 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {47633#true} {47633#true} #1186#return; {47633#true} is VALID [2022-04-08 08:32:58,781 INFO L290 TraceCheckUtils]: 55: Hoare triple {47633#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {47633#true} is VALID [2022-04-08 08:32:58,781 INFO L290 TraceCheckUtils]: 56: Hoare triple {47633#true} assume !(~s~0 != ~NP~0); {47633#true} is VALID [2022-04-08 08:32:58,781 INFO L290 TraceCheckUtils]: 57: Hoare triple {47633#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {47633#true} is VALID [2022-04-08 08:32:58,781 INFO L290 TraceCheckUtils]: 58: Hoare triple {47633#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 36;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 28 + ~irpSp___0~0.offset, 4);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 32 + ~irpSp___0~0.offset, 4);call write~int(0, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(64, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call #t~mem106 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem106 % 256, 128), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem106;call #t~mem107 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem107 % 256, 32), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem107;call #t~mem108.base, #t~mem108.offset := read~$Pointer$(~devExt~3.base, 8 + ~devExt~3.offset, 4); {47633#true} is VALID [2022-04-08 08:32:58,781 INFO L272 TraceCheckUtils]: 59: Hoare triple {47633#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {47633#true} is VALID [2022-04-08 08:32:58,781 INFO L290 TraceCheckUtils]: 60: Hoare triple {47633#true} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {47633#true} is VALID [2022-04-08 08:32:58,781 INFO L290 TraceCheckUtils]: 61: Hoare triple {47633#true} assume 0 != ~compRegistered~0; {47633#true} is VALID [2022-04-08 08:32:58,782 INFO L272 TraceCheckUtils]: 62: Hoare triple {47633#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {47695#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:32:58,782 INFO L290 TraceCheckUtils]: 63: Hoare triple {47695#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {47633#true} is VALID [2022-04-08 08:32:58,783 INFO L272 TraceCheckUtils]: 64: Hoare triple {47633#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {47695#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:32:58,783 INFO L290 TraceCheckUtils]: 65: Hoare triple {47695#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {47633#true} is VALID [2022-04-08 08:32:58,783 INFO L290 TraceCheckUtils]: 66: Hoare triple {47633#true} assume true; {47633#true} is VALID [2022-04-08 08:32:58,783 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {47633#true} {47633#true} #1174#return; {47633#true} is VALID [2022-04-08 08:32:58,783 INFO L290 TraceCheckUtils]: 68: Hoare triple {47633#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {47633#true} is VALID [2022-04-08 08:32:58,783 INFO L290 TraceCheckUtils]: 69: Hoare triple {47633#true} assume true; {47633#true} is VALID [2022-04-08 08:32:58,783 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {47633#true} {47633#true} #1210#return; {47633#true} is VALID [2022-04-08 08:32:58,783 INFO L290 TraceCheckUtils]: 71: Hoare triple {47633#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {47633#true} is VALID [2022-04-08 08:32:58,783 INFO L290 TraceCheckUtils]: 72: Hoare triple {47633#true} assume -1073741802 == ~compRetStatus~0; {47633#true} is VALID [2022-04-08 08:32:58,784 INFO L272 TraceCheckUtils]: 73: Hoare triple {47633#true} call stubMoreProcessingRequired(); {47699#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:32:58,784 INFO L290 TraceCheckUtils]: 74: Hoare triple {47699#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {47680#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} is VALID [2022-04-08 08:32:58,784 INFO L290 TraceCheckUtils]: 75: Hoare triple {47680#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} assume true; {47680#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} is VALID [2022-04-08 08:32:58,785 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {47680#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} {47633#true} #1212#return; {47680#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} is VALID [2022-04-08 08:32:58,785 INFO L290 TraceCheckUtils]: 77: Hoare triple {47680#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} assume 0 == ~__BLAST_NONDET~11; {47680#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} is VALID [2022-04-08 08:32:58,785 INFO L290 TraceCheckUtils]: 78: Hoare triple {47680#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} ~returnVal2~0 := 0; {47680#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} is VALID [2022-04-08 08:32:58,786 INFO L290 TraceCheckUtils]: 79: Hoare triple {47680#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} assume !(~s~0 == ~NP~0); {47680#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} is VALID [2022-04-08 08:32:58,786 INFO L290 TraceCheckUtils]: 80: Hoare triple {47680#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} assume !(~s~0 == ~MPR1~0); {47634#false} is VALID [2022-04-08 08:32:58,786 INFO L290 TraceCheckUtils]: 81: Hoare triple {47634#false} assume !(~s~0 == ~SKIP1~0); {47634#false} is VALID [2022-04-08 08:32:58,786 INFO L272 TraceCheckUtils]: 82: Hoare triple {47634#false} call errorFn(); {47634#false} is VALID [2022-04-08 08:32:58,786 INFO L290 TraceCheckUtils]: 83: Hoare triple {47634#false} assume !false; {47634#false} is VALID [2022-04-08 08:32:58,786 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 08:32:58,787 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:32:58,787 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [385198633] [2022-04-08 08:32:58,787 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [385198633] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:32:58,787 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:32:58,787 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 08:32:58,787 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:32:58,787 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [319428147] [2022-04-08 08:32:58,787 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [319428147] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:32:58,787 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:32:58,787 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 08:32:58,787 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1195802330] [2022-04-08 08:32:58,787 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:32:58,788 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 5.8) internal successors, (58), 3 states have internal predecessors, (58), 2 states have call successors, (15), 9 states have call predecessors, (15), 2 states have return successors, (11), 2 states have call predecessors, (11), 1 states have call successors, (11) Word has length 84 [2022-04-08 08:32:58,788 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:32:58,788 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 5.8) internal successors, (58), 3 states have internal predecessors, (58), 2 states have call successors, (15), 9 states have call predecessors, (15), 2 states have return successors, (11), 2 states have call predecessors, (11), 1 states have call successors, (11) [2022-04-08 08:32:58,844 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:32:58,845 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 08:32:58,845 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:32:58,845 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 08:32:58,845 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=63, Unknown=0, NotChecked=0, Total=90 [2022-04-08 08:32:58,845 INFO L87 Difference]: Start difference. First operand 329 states and 418 transitions. Second operand has 10 states, 10 states have (on average 5.8) internal successors, (58), 3 states have internal predecessors, (58), 2 states have call successors, (15), 9 states have call predecessors, (15), 2 states have return successors, (11), 2 states have call predecessors, (11), 1 states have call successors, (11) [2022-04-08 08:33:01,002 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:33:07,544 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:33:07,544 INFO L93 Difference]: Finished difference Result 416 states and 527 transitions. [2022-04-08 08:33:07,544 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-08 08:33:07,544 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 5.8) internal successors, (58), 3 states have internal predecessors, (58), 2 states have call successors, (15), 9 states have call predecessors, (15), 2 states have return successors, (11), 2 states have call predecessors, (11), 1 states have call successors, (11) Word has length 84 [2022-04-08 08:33:07,544 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:33:07,544 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 5.8) internal successors, (58), 3 states have internal predecessors, (58), 2 states have call successors, (15), 9 states have call predecessors, (15), 2 states have return successors, (11), 2 states have call predecessors, (11), 1 states have call successors, (11) [2022-04-08 08:33:07,549 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 452 transitions. [2022-04-08 08:33:07,549 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 5.8) internal successors, (58), 3 states have internal predecessors, (58), 2 states have call successors, (15), 9 states have call predecessors, (15), 2 states have return successors, (11), 2 states have call predecessors, (11), 1 states have call successors, (11) [2022-04-08 08:33:07,553 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 452 transitions. [2022-04-08 08:33:07,553 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 452 transitions. [2022-04-08 08:33:08,124 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 452 edges. 452 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:33:08,130 INFO L225 Difference]: With dead ends: 416 [2022-04-08 08:33:08,131 INFO L226 Difference]: Without dead ends: 357 [2022-04-08 08:33:08,132 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 22 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 45 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=105, Invalid=237, Unknown=0, NotChecked=0, Total=342 [2022-04-08 08:33:08,133 INFO L913 BasicCegarLoop]: 265 mSDtfsCounter, 729 mSDsluCounter, 276 mSDsCounter, 0 mSdLazyCounter, 765 mSolverCounterSat, 256 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 732 SdHoareTripleChecker+Valid, 541 SdHoareTripleChecker+Invalid, 1022 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 256 IncrementalHoareTripleChecker+Valid, 765 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.1s IncrementalHoareTripleChecker+Time [2022-04-08 08:33:08,133 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [732 Valid, 541 Invalid, 1022 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [256 Valid, 765 Invalid, 1 Unknown, 0 Unchecked, 5.1s Time] [2022-04-08 08:33:08,137 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 357 states. [2022-04-08 08:33:08,561 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 357 to 327. [2022-04-08 08:33:08,561 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:33:08,562 INFO L82 GeneralOperation]: Start isEquivalent. First operand 357 states. Second operand has 327 states, 261 states have (on average 1.314176245210728) internal successors, (343), 264 states have internal predecessors, (343), 35 states have call successors, (35), 29 states have call predecessors, (35), 30 states have return successors, (35), 33 states have call predecessors, (35), 31 states have call successors, (35) [2022-04-08 08:33:08,562 INFO L74 IsIncluded]: Start isIncluded. First operand 357 states. Second operand has 327 states, 261 states have (on average 1.314176245210728) internal successors, (343), 264 states have internal predecessors, (343), 35 states have call successors, (35), 29 states have call predecessors, (35), 30 states have return successors, (35), 33 states have call predecessors, (35), 31 states have call successors, (35) [2022-04-08 08:33:08,562 INFO L87 Difference]: Start difference. First operand 357 states. Second operand has 327 states, 261 states have (on average 1.314176245210728) internal successors, (343), 264 states have internal predecessors, (343), 35 states have call successors, (35), 29 states have call predecessors, (35), 30 states have return successors, (35), 33 states have call predecessors, (35), 31 states have call successors, (35) [2022-04-08 08:33:08,570 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:33:08,570 INFO L93 Difference]: Finished difference Result 357 states and 452 transitions. [2022-04-08 08:33:08,570 INFO L276 IsEmpty]: Start isEmpty. Operand 357 states and 452 transitions. [2022-04-08 08:33:08,571 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:33:08,571 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:33:08,571 INFO L74 IsIncluded]: Start isIncluded. First operand has 327 states, 261 states have (on average 1.314176245210728) internal successors, (343), 264 states have internal predecessors, (343), 35 states have call successors, (35), 29 states have call predecessors, (35), 30 states have return successors, (35), 33 states have call predecessors, (35), 31 states have call successors, (35) Second operand 357 states. [2022-04-08 08:33:08,571 INFO L87 Difference]: Start difference. First operand has 327 states, 261 states have (on average 1.314176245210728) internal successors, (343), 264 states have internal predecessors, (343), 35 states have call successors, (35), 29 states have call predecessors, (35), 30 states have return successors, (35), 33 states have call predecessors, (35), 31 states have call successors, (35) Second operand 357 states. [2022-04-08 08:33:08,578 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:33:08,578 INFO L93 Difference]: Finished difference Result 357 states and 452 transitions. [2022-04-08 08:33:08,578 INFO L276 IsEmpty]: Start isEmpty. Operand 357 states and 452 transitions. [2022-04-08 08:33:08,579 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:33:08,579 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:33:08,579 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:33:08,579 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:33:08,579 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 327 states, 261 states have (on average 1.314176245210728) internal successors, (343), 264 states have internal predecessors, (343), 35 states have call successors, (35), 29 states have call predecessors, (35), 30 states have return successors, (35), 33 states have call predecessors, (35), 31 states have call successors, (35) [2022-04-08 08:33:08,585 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 327 states to 327 states and 413 transitions. [2022-04-08 08:33:08,585 INFO L78 Accepts]: Start accepts. Automaton has 327 states and 413 transitions. Word has length 84 [2022-04-08 08:33:08,585 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:33:08,586 INFO L478 AbstractCegarLoop]: Abstraction has 327 states and 413 transitions. [2022-04-08 08:33:08,586 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 5.8) internal successors, (58), 3 states have internal predecessors, (58), 2 states have call successors, (15), 9 states have call predecessors, (15), 2 states have return successors, (11), 2 states have call predecessors, (11), 1 states have call successors, (11) [2022-04-08 08:33:08,586 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 327 states and 413 transitions. [2022-04-08 08:33:09,277 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 413 edges. 413 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:33:09,277 INFO L276 IsEmpty]: Start isEmpty. Operand 327 states and 413 transitions. [2022-04-08 08:33:09,278 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-08 08:33:09,278 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:33:09,278 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:33:09,278 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19 [2022-04-08 08:33:09,278 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:33:09,278 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:33:09,278 INFO L85 PathProgramCache]: Analyzing trace with hash -1690581556, now seen corresponding path program 1 times [2022-04-08 08:33:09,278 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:33:09,279 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1358103444] [2022-04-08 08:33:09,279 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 08:33:09,279 INFO L85 PathProgramCache]: Analyzing trace with hash -1690581556, now seen corresponding path program 2 times [2022-04-08 08:33:09,279 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:33:09,279 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1853104851] [2022-04-08 08:33:09,279 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:33:09,279 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:33:09,347 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:33:09,428 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:33:09,430 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:33:09,437 INFO L290 TraceCheckUtils]: 0: Hoare triple {49977#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {49925#true} is VALID [2022-04-08 08:33:09,437 INFO L290 TraceCheckUtils]: 1: Hoare triple {49925#true} assume true; {49925#true} is VALID [2022-04-08 08:33:09,437 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {49925#true} {49925#true} #1270#return; {49925#true} is VALID [2022-04-08 08:33:09,463 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:33:09,467 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:33:09,482 INFO L290 TraceCheckUtils]: 0: Hoare triple {49978#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {49979#(and (<= 5 ~MPR1~0) (= (+ ~SKIP1~0 (- 3)) 0))} is VALID [2022-04-08 08:33:09,482 INFO L290 TraceCheckUtils]: 1: Hoare triple {49979#(and (<= 5 ~MPR1~0) (= (+ ~SKIP1~0 (- 3)) 0))} assume true; {49979#(and (<= 5 ~MPR1~0) (= (+ ~SKIP1~0 (- 3)) 0))} is VALID [2022-04-08 08:33:09,483 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {49979#(and (<= 5 ~MPR1~0) (= (+ ~SKIP1~0 (- 3)) 0))} {49925#true} #1216#return; {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:09,490 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:33:09,499 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:33:09,509 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:33:09,509 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:33:09,515 INFO L290 TraceCheckUtils]: 0: Hoare triple {49925#true} ~cond := #in~cond; {49925#true} is VALID [2022-04-08 08:33:09,515 INFO L290 TraceCheckUtils]: 1: Hoare triple {49925#true} assume !(0 == ~cond); {49925#true} is VALID [2022-04-08 08:33:09,515 INFO L290 TraceCheckUtils]: 2: Hoare triple {49925#true} assume true; {49925#true} is VALID [2022-04-08 08:33:09,515 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {49925#true} {49925#true} #1254#return; {49925#true} is VALID [2022-04-08 08:33:09,515 INFO L290 TraceCheckUtils]: 0: Hoare triple {49980#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {49925#true} is VALID [2022-04-08 08:33:09,515 INFO L272 TraceCheckUtils]: 1: Hoare triple {49925#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {49925#true} is VALID [2022-04-08 08:33:09,515 INFO L290 TraceCheckUtils]: 2: Hoare triple {49925#true} ~cond := #in~cond; {49925#true} is VALID [2022-04-08 08:33:09,515 INFO L290 TraceCheckUtils]: 3: Hoare triple {49925#true} assume !(0 == ~cond); {49925#true} is VALID [2022-04-08 08:33:09,515 INFO L290 TraceCheckUtils]: 4: Hoare triple {49925#true} assume true; {49925#true} is VALID [2022-04-08 08:33:09,515 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {49925#true} {49925#true} #1254#return; {49925#true} is VALID [2022-04-08 08:33:09,516 INFO L290 TraceCheckUtils]: 6: Hoare triple {49925#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {49925#true} is VALID [2022-04-08 08:33:09,516 INFO L290 TraceCheckUtils]: 7: Hoare triple {49925#true} assume true; {49925#true} is VALID [2022-04-08 08:33:09,516 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {49925#true} {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} #1218#return; {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:09,526 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:33:09,530 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:33:09,537 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:33:09,539 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:33:09,545 INFO L290 TraceCheckUtils]: 0: Hoare triple {49985#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {49925#true} is VALID [2022-04-08 08:33:09,545 INFO L290 TraceCheckUtils]: 1: Hoare triple {49925#true} assume !(0 == ~__BLAST_NONDET~5); {49925#true} is VALID [2022-04-08 08:33:09,546 INFO L290 TraceCheckUtils]: 2: Hoare triple {49925#true} #res := -1073741823; {49925#true} is VALID [2022-04-08 08:33:09,546 INFO L290 TraceCheckUtils]: 3: Hoare triple {49925#true} assume true; {49925#true} is VALID [2022-04-08 08:33:09,546 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {49925#true} {49925#true} #1176#return; {49925#true} is VALID [2022-04-08 08:33:09,546 INFO L290 TraceCheckUtils]: 0: Hoare triple {49985#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {49925#true} is VALID [2022-04-08 08:33:09,547 INFO L272 TraceCheckUtils]: 1: Hoare triple {49925#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {49985#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:33:09,547 INFO L290 TraceCheckUtils]: 2: Hoare triple {49985#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {49925#true} is VALID [2022-04-08 08:33:09,547 INFO L290 TraceCheckUtils]: 3: Hoare triple {49925#true} assume !(0 == ~__BLAST_NONDET~5); {49925#true} is VALID [2022-04-08 08:33:09,547 INFO L290 TraceCheckUtils]: 4: Hoare triple {49925#true} #res := -1073741823; {49925#true} is VALID [2022-04-08 08:33:09,547 INFO L290 TraceCheckUtils]: 5: Hoare triple {49925#true} assume true; {49925#true} is VALID [2022-04-08 08:33:09,547 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {49925#true} {49925#true} #1176#return; {49925#true} is VALID [2022-04-08 08:33:09,547 INFO L290 TraceCheckUtils]: 7: Hoare triple {49925#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {49925#true} is VALID [2022-04-08 08:33:09,547 INFO L290 TraceCheckUtils]: 8: Hoare triple {49925#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {49925#true} is VALID [2022-04-08 08:33:09,547 INFO L290 TraceCheckUtils]: 9: Hoare triple {49925#true} assume true; {49925#true} is VALID [2022-04-08 08:33:09,548 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {49925#true} {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} #1220#return; {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:09,566 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 08:33:09,568 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:33:09,574 INFO L290 TraceCheckUtils]: 0: Hoare triple {49991#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {49925#true} is VALID [2022-04-08 08:33:09,575 INFO L290 TraceCheckUtils]: 1: Hoare triple {49925#true} assume true; {49925#true} is VALID [2022-04-08 08:33:09,575 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {49925#true} {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} #1222#return; {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:09,590 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-08 08:33:09,598 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:33:09,617 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-04-08 08:33:09,619 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:33:09,634 INFO L290 TraceCheckUtils]: 0: Hoare triple {50004#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet204 && #t~nondet204 <= 2147483647;~__BLAST_NONDET~16 := #t~nondet204;havoc #t~nondet204;havoc ~compRetStatus~1;havoc ~returnVal~0;~lcontext~1.base, ~lcontext~1.offset := 0, 0;havoc ~tmp~12; {49925#true} is VALID [2022-04-08 08:33:09,635 INFO L290 TraceCheckUtils]: 1: Hoare triple {49925#true} assume !(0 != ~compRegistered~0); {49925#true} is VALID [2022-04-08 08:33:09,635 INFO L290 TraceCheckUtils]: 2: Hoare triple {49925#true} assume !(0 == ~__BLAST_NONDET~16); {49925#true} is VALID [2022-04-08 08:33:09,635 INFO L290 TraceCheckUtils]: 3: Hoare triple {49925#true} assume 1 == ~__BLAST_NONDET~16; {49925#true} is VALID [2022-04-08 08:33:09,635 INFO L290 TraceCheckUtils]: 4: Hoare triple {49925#true} ~returnVal~0 := -1073741823; {50005#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} is VALID [2022-04-08 08:33:09,635 INFO L290 TraceCheckUtils]: 5: Hoare triple {50005#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} assume !(~s~0 == ~NP~0); {50005#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} is VALID [2022-04-08 08:33:09,636 INFO L290 TraceCheckUtils]: 6: Hoare triple {50005#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} assume ~s~0 == ~MPR1~0; {50005#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} is VALID [2022-04-08 08:33:09,636 INFO L290 TraceCheckUtils]: 7: Hoare triple {50005#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} assume 259 == ~returnVal~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := ~returnVal~0; {49926#false} is VALID [2022-04-08 08:33:09,636 INFO L290 TraceCheckUtils]: 8: Hoare triple {49926#false} #res := ~returnVal~0; {49926#false} is VALID [2022-04-08 08:33:09,636 INFO L290 TraceCheckUtils]: 9: Hoare triple {49926#false} assume true; {49926#false} is VALID [2022-04-08 08:33:09,636 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {49926#false} {49925#true} #1268#return; {49926#false} is VALID [2022-04-08 08:33:09,636 INFO L290 TraceCheckUtils]: 0: Hoare triple {49992#(and (= |old(#length)| |#length|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~irpStack~4.base, ~irpStack~4.offset;havoc ~devExt~4.base, ~devExt~4.offset;call ~#powerState~0.base, ~#powerState~0.offset := #Ultimate.allocOnStack(4);havoc ~powerType~0;havoc ~tmp~3;call #t~mem123.base, #t~mem123.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~4.base, ~devExt~4.offset := #t~mem123.base, #t~mem123.offset;havoc #t~mem123.base, #t~mem123.offset;call #t~mem124.base, #t~mem124.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~4.base, ~irpStack~4.offset := #t~mem124.base, #t~mem124.offset;havoc #t~mem124.base, #t~mem124.offset;call #t~mem125 := read~int(~irpStack~4.base, 8 + ~irpStack~4.offset, 4);~powerType~0 := #t~mem125;havoc #t~mem125;call #t~mem126 := read~int(~irpStack~4.base, 12 + ~irpStack~4.offset, 4);call #t~mem127 := read~int(~irpStack~4.base, 12 + ~irpStack~4.offset, 4);call write~int(#t~mem126, ~#powerState~0.base, ~#powerState~0.offset, 4);call write~int(#t~mem127, ~#powerState~0.base, ~#powerState~0.offset, 4);havoc #t~mem126;havoc #t~mem127;call #t~mem128 := read~int(~irpStack~4.base, 1 + ~irpStack~4.offset, 1); {49925#true} is VALID [2022-04-08 08:33:09,636 INFO L290 TraceCheckUtils]: 1: Hoare triple {49925#true} assume 2 == #t~mem128 % 256;havoc #t~mem128; {49925#true} is VALID [2022-04-08 08:33:09,636 INFO L290 TraceCheckUtils]: 2: Hoare triple {49925#true} assume 1 == ~powerType~0;call #t~mem132 := read~int(~#powerState~0.base, ~#powerState~0.offset, 4);call write~int(#t~mem132, ~devExt~4.base, 48 + ~devExt~4.offset, 4);havoc #t~mem132; {49925#true} is VALID [2022-04-08 08:33:09,636 INFO L290 TraceCheckUtils]: 3: Hoare triple {49925#true} assume ~s~0 == ~NP~0;~s~0 := ~SKIP1~0; {49925#true} is VALID [2022-04-08 08:33:09,637 INFO L290 TraceCheckUtils]: 4: Hoare triple {49925#true} call #t~mem133 := read~int(~Irp.base, 35 + ~Irp.offset, 1);call write~int((if (1 + #t~mem133) % 256 <= 127 then (1 + #t~mem133) % 256 else (1 + #t~mem133) % 256 - 256), ~Irp.base, 35 + ~Irp.offset, 1);havoc #t~mem133;call #t~mem134.base, #t~mem134.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);call write~$Pointer$(#t~mem134.base, 36 + #t~mem134.offset, ~Irp.base, 96 + ~Irp.offset, 4);havoc #t~mem134.base, #t~mem134.offset;call #t~mem135.base, #t~mem135.offset := read~$Pointer$(~devExt~4.base, 8 + ~devExt~4.offset, 4); {49925#true} is VALID [2022-04-08 08:33:09,637 INFO L272 TraceCheckUtils]: 5: Hoare triple {49925#true} call #t~ret136 := PoCallDriver(#t~mem135.base, #t~mem135.offset, ~Irp.base, ~Irp.offset); {50004#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:33:09,637 INFO L290 TraceCheckUtils]: 6: Hoare triple {50004#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet204 && #t~nondet204 <= 2147483647;~__BLAST_NONDET~16 := #t~nondet204;havoc #t~nondet204;havoc ~compRetStatus~1;havoc ~returnVal~0;~lcontext~1.base, ~lcontext~1.offset := 0, 0;havoc ~tmp~12; {49925#true} is VALID [2022-04-08 08:33:09,637 INFO L290 TraceCheckUtils]: 7: Hoare triple {49925#true} assume !(0 != ~compRegistered~0); {49925#true} is VALID [2022-04-08 08:33:09,637 INFO L290 TraceCheckUtils]: 8: Hoare triple {49925#true} assume !(0 == ~__BLAST_NONDET~16); {49925#true} is VALID [2022-04-08 08:33:09,637 INFO L290 TraceCheckUtils]: 9: Hoare triple {49925#true} assume 1 == ~__BLAST_NONDET~16; {49925#true} is VALID [2022-04-08 08:33:09,638 INFO L290 TraceCheckUtils]: 10: Hoare triple {49925#true} ~returnVal~0 := -1073741823; {50005#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} is VALID [2022-04-08 08:33:09,638 INFO L290 TraceCheckUtils]: 11: Hoare triple {50005#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} assume !(~s~0 == ~NP~0); {50005#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} is VALID [2022-04-08 08:33:09,638 INFO L290 TraceCheckUtils]: 12: Hoare triple {50005#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} assume ~s~0 == ~MPR1~0; {50005#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} is VALID [2022-04-08 08:33:09,639 INFO L290 TraceCheckUtils]: 13: Hoare triple {50005#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} assume 259 == ~returnVal~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := ~returnVal~0; {49926#false} is VALID [2022-04-08 08:33:09,639 INFO L290 TraceCheckUtils]: 14: Hoare triple {49926#false} #res := ~returnVal~0; {49926#false} is VALID [2022-04-08 08:33:09,639 INFO L290 TraceCheckUtils]: 15: Hoare triple {49926#false} assume true; {49926#false} is VALID [2022-04-08 08:33:09,639 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {49926#false} {49925#true} #1268#return; {49926#false} is VALID [2022-04-08 08:33:09,639 INFO L290 TraceCheckUtils]: 17: Hoare triple {49926#false} assume -2147483648 <= #t~ret136 && #t~ret136 <= 2147483647;~tmp~3 := #t~ret136;havoc #t~mem135.base, #t~mem135.offset;havoc #t~ret136;#res := ~tmp~3;call ULTIMATE.dealloc(~#powerState~0.base, ~#powerState~0.offset);havoc ~#powerState~0.base, ~#powerState~0.offset; {49926#false} is VALID [2022-04-08 08:33:09,648 INFO L290 TraceCheckUtils]: 18: Hoare triple {49926#false} assume true; {49926#false} is VALID [2022-04-08 08:33:09,649 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {49926#false} {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} #1232#return; {49926#false} is VALID [2022-04-08 08:33:09,650 INFO L272 TraceCheckUtils]: 0: Hoare triple {49925#true} call ULTIMATE.init(); {49977#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:33:09,650 INFO L290 TraceCheckUtils]: 1: Hoare triple {49977#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {49925#true} is VALID [2022-04-08 08:33:09,650 INFO L290 TraceCheckUtils]: 2: Hoare triple {49925#true} assume true; {49925#true} is VALID [2022-04-08 08:33:09,650 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {49925#true} {49925#true} #1270#return; {49925#true} is VALID [2022-04-08 08:33:09,650 INFO L272 TraceCheckUtils]: 4: Hoare triple {49925#true} call #t~ret213 := main(); {49925#true} is VALID [2022-04-08 08:33:09,650 INFO L290 TraceCheckUtils]: 5: Hoare triple {49925#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {49925#true} is VALID [2022-04-08 08:33:09,651 INFO L272 TraceCheckUtils]: 6: Hoare triple {49925#true} call _BLAST_init(); {49978#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:33:09,652 INFO L290 TraceCheckUtils]: 7: Hoare triple {49978#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {49979#(and (<= 5 ~MPR1~0) (= (+ ~SKIP1~0 (- 3)) 0))} is VALID [2022-04-08 08:33:09,652 INFO L290 TraceCheckUtils]: 8: Hoare triple {49979#(and (<= 5 ~MPR1~0) (= (+ ~SKIP1~0 (- 3)) 0))} assume true; {49979#(and (<= 5 ~MPR1~0) (= (+ ~SKIP1~0 (- 3)) 0))} is VALID [2022-04-08 08:33:09,652 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {49979#(and (<= 5 ~MPR1~0) (= (+ ~SKIP1~0 (- 3)) 0))} {49925#true} #1216#return; {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:09,653 INFO L272 TraceCheckUtils]: 10: Hoare triple {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {49980#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:33:09,653 INFO L290 TraceCheckUtils]: 11: Hoare triple {49980#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {49925#true} is VALID [2022-04-08 08:33:09,653 INFO L272 TraceCheckUtils]: 12: Hoare triple {49925#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {49925#true} is VALID [2022-04-08 08:33:09,653 INFO L290 TraceCheckUtils]: 13: Hoare triple {49925#true} ~cond := #in~cond; {49925#true} is VALID [2022-04-08 08:33:09,654 INFO L290 TraceCheckUtils]: 14: Hoare triple {49925#true} assume !(0 == ~cond); {49925#true} is VALID [2022-04-08 08:33:09,654 INFO L290 TraceCheckUtils]: 15: Hoare triple {49925#true} assume true; {49925#true} is VALID [2022-04-08 08:33:09,654 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {49925#true} {49925#true} #1254#return; {49925#true} is VALID [2022-04-08 08:33:09,654 INFO L290 TraceCheckUtils]: 17: Hoare triple {49925#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {49925#true} is VALID [2022-04-08 08:33:09,654 INFO L290 TraceCheckUtils]: 18: Hoare triple {49925#true} assume true; {49925#true} is VALID [2022-04-08 08:33:09,654 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {49925#true} {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} #1218#return; {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:09,655 INFO L290 TraceCheckUtils]: 20: Hoare triple {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:09,655 INFO L290 TraceCheckUtils]: 21: Hoare triple {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:09,656 INFO L290 TraceCheckUtils]: 22: Hoare triple {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:09,657 INFO L272 TraceCheckUtils]: 23: Hoare triple {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {49985#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:33:09,657 INFO L290 TraceCheckUtils]: 24: Hoare triple {49985#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {49925#true} is VALID [2022-04-08 08:33:09,658 INFO L272 TraceCheckUtils]: 25: Hoare triple {49925#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {49985#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:33:09,658 INFO L290 TraceCheckUtils]: 26: Hoare triple {49985#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {49925#true} is VALID [2022-04-08 08:33:09,658 INFO L290 TraceCheckUtils]: 27: Hoare triple {49925#true} assume !(0 == ~__BLAST_NONDET~5); {49925#true} is VALID [2022-04-08 08:33:09,658 INFO L290 TraceCheckUtils]: 28: Hoare triple {49925#true} #res := -1073741823; {49925#true} is VALID [2022-04-08 08:33:09,658 INFO L290 TraceCheckUtils]: 29: Hoare triple {49925#true} assume true; {49925#true} is VALID [2022-04-08 08:33:09,658 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {49925#true} {49925#true} #1176#return; {49925#true} is VALID [2022-04-08 08:33:09,658 INFO L290 TraceCheckUtils]: 31: Hoare triple {49925#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {49925#true} is VALID [2022-04-08 08:33:09,658 INFO L290 TraceCheckUtils]: 32: Hoare triple {49925#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {49925#true} is VALID [2022-04-08 08:33:09,658 INFO L290 TraceCheckUtils]: 33: Hoare triple {49925#true} assume true; {49925#true} is VALID [2022-04-08 08:33:09,659 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {49925#true} {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} #1220#return; {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:09,659 INFO L290 TraceCheckUtils]: 35: Hoare triple {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:09,660 INFO L272 TraceCheckUtils]: 36: Hoare triple {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} call stub_driver_init(); {49991#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:33:09,660 INFO L290 TraceCheckUtils]: 37: Hoare triple {49991#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {49925#true} is VALID [2022-04-08 08:33:09,660 INFO L290 TraceCheckUtils]: 38: Hoare triple {49925#true} assume true; {49925#true} is VALID [2022-04-08 08:33:09,660 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {49925#true} {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} #1222#return; {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:09,661 INFO L290 TraceCheckUtils]: 40: Hoare triple {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume !!(~status~5 >= 0); {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:09,661 INFO L290 TraceCheckUtils]: 41: Hoare triple {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume !(0 == ~__BLAST_NONDET~0); {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:09,661 INFO L290 TraceCheckUtils]: 42: Hoare triple {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume !(1 == ~__BLAST_NONDET~0); {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:09,661 INFO L290 TraceCheckUtils]: 43: Hoare triple {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume !(2 == ~__BLAST_NONDET~0); {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:09,662 INFO L290 TraceCheckUtils]: 44: Hoare triple {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume !(3 == ~__BLAST_NONDET~0); {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:09,662 INFO L290 TraceCheckUtils]: 45: Hoare triple {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume 4 == ~__BLAST_NONDET~0; {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:09,663 INFO L272 TraceCheckUtils]: 46: Hoare triple {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} call #t~ret175 := KbFilter_Power(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {49992#(and (= |old(#length)| |#length|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:33:09,663 INFO L290 TraceCheckUtils]: 47: Hoare triple {49992#(and (= |old(#length)| |#length|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~irpStack~4.base, ~irpStack~4.offset;havoc ~devExt~4.base, ~devExt~4.offset;call ~#powerState~0.base, ~#powerState~0.offset := #Ultimate.allocOnStack(4);havoc ~powerType~0;havoc ~tmp~3;call #t~mem123.base, #t~mem123.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~4.base, ~devExt~4.offset := #t~mem123.base, #t~mem123.offset;havoc #t~mem123.base, #t~mem123.offset;call #t~mem124.base, #t~mem124.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~4.base, ~irpStack~4.offset := #t~mem124.base, #t~mem124.offset;havoc #t~mem124.base, #t~mem124.offset;call #t~mem125 := read~int(~irpStack~4.base, 8 + ~irpStack~4.offset, 4);~powerType~0 := #t~mem125;havoc #t~mem125;call #t~mem126 := read~int(~irpStack~4.base, 12 + ~irpStack~4.offset, 4);call #t~mem127 := read~int(~irpStack~4.base, 12 + ~irpStack~4.offset, 4);call write~int(#t~mem126, ~#powerState~0.base, ~#powerState~0.offset, 4);call write~int(#t~mem127, ~#powerState~0.base, ~#powerState~0.offset, 4);havoc #t~mem126;havoc #t~mem127;call #t~mem128 := read~int(~irpStack~4.base, 1 + ~irpStack~4.offset, 1); {49925#true} is VALID [2022-04-08 08:33:09,663 INFO L290 TraceCheckUtils]: 48: Hoare triple {49925#true} assume 2 == #t~mem128 % 256;havoc #t~mem128; {49925#true} is VALID [2022-04-08 08:33:09,663 INFO L290 TraceCheckUtils]: 49: Hoare triple {49925#true} assume 1 == ~powerType~0;call #t~mem132 := read~int(~#powerState~0.base, ~#powerState~0.offset, 4);call write~int(#t~mem132, ~devExt~4.base, 48 + ~devExt~4.offset, 4);havoc #t~mem132; {49925#true} is VALID [2022-04-08 08:33:09,663 INFO L290 TraceCheckUtils]: 50: Hoare triple {49925#true} assume ~s~0 == ~NP~0;~s~0 := ~SKIP1~0; {49925#true} is VALID [2022-04-08 08:33:09,663 INFO L290 TraceCheckUtils]: 51: Hoare triple {49925#true} call #t~mem133 := read~int(~Irp.base, 35 + ~Irp.offset, 1);call write~int((if (1 + #t~mem133) % 256 <= 127 then (1 + #t~mem133) % 256 else (1 + #t~mem133) % 256 - 256), ~Irp.base, 35 + ~Irp.offset, 1);havoc #t~mem133;call #t~mem134.base, #t~mem134.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);call write~$Pointer$(#t~mem134.base, 36 + #t~mem134.offset, ~Irp.base, 96 + ~Irp.offset, 4);havoc #t~mem134.base, #t~mem134.offset;call #t~mem135.base, #t~mem135.offset := read~$Pointer$(~devExt~4.base, 8 + ~devExt~4.offset, 4); {49925#true} is VALID [2022-04-08 08:33:09,664 INFO L272 TraceCheckUtils]: 52: Hoare triple {49925#true} call #t~ret136 := PoCallDriver(#t~mem135.base, #t~mem135.offset, ~Irp.base, ~Irp.offset); {50004#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:33:09,664 INFO L290 TraceCheckUtils]: 53: Hoare triple {50004#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet204 && #t~nondet204 <= 2147483647;~__BLAST_NONDET~16 := #t~nondet204;havoc #t~nondet204;havoc ~compRetStatus~1;havoc ~returnVal~0;~lcontext~1.base, ~lcontext~1.offset := 0, 0;havoc ~tmp~12; {49925#true} is VALID [2022-04-08 08:33:09,664 INFO L290 TraceCheckUtils]: 54: Hoare triple {49925#true} assume !(0 != ~compRegistered~0); {49925#true} is VALID [2022-04-08 08:33:09,664 INFO L290 TraceCheckUtils]: 55: Hoare triple {49925#true} assume !(0 == ~__BLAST_NONDET~16); {49925#true} is VALID [2022-04-08 08:33:09,664 INFO L290 TraceCheckUtils]: 56: Hoare triple {49925#true} assume 1 == ~__BLAST_NONDET~16; {49925#true} is VALID [2022-04-08 08:33:09,664 INFO L290 TraceCheckUtils]: 57: Hoare triple {49925#true} ~returnVal~0 := -1073741823; {50005#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} is VALID [2022-04-08 08:33:09,665 INFO L290 TraceCheckUtils]: 58: Hoare triple {50005#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} assume !(~s~0 == ~NP~0); {50005#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} is VALID [2022-04-08 08:33:09,665 INFO L290 TraceCheckUtils]: 59: Hoare triple {50005#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} assume ~s~0 == ~MPR1~0; {50005#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} is VALID [2022-04-08 08:33:09,665 INFO L290 TraceCheckUtils]: 60: Hoare triple {50005#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} assume 259 == ~returnVal~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := ~returnVal~0; {49926#false} is VALID [2022-04-08 08:33:09,665 INFO L290 TraceCheckUtils]: 61: Hoare triple {49926#false} #res := ~returnVal~0; {49926#false} is VALID [2022-04-08 08:33:09,665 INFO L290 TraceCheckUtils]: 62: Hoare triple {49926#false} assume true; {49926#false} is VALID [2022-04-08 08:33:09,666 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {49926#false} {49925#true} #1268#return; {49926#false} is VALID [2022-04-08 08:33:09,666 INFO L290 TraceCheckUtils]: 64: Hoare triple {49926#false} assume -2147483648 <= #t~ret136 && #t~ret136 <= 2147483647;~tmp~3 := #t~ret136;havoc #t~mem135.base, #t~mem135.offset;havoc #t~ret136;#res := ~tmp~3;call ULTIMATE.dealloc(~#powerState~0.base, ~#powerState~0.offset);havoc ~#powerState~0.base, ~#powerState~0.offset; {49926#false} is VALID [2022-04-08 08:33:09,666 INFO L290 TraceCheckUtils]: 65: Hoare triple {49926#false} assume true; {49926#false} is VALID [2022-04-08 08:33:09,666 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {49926#false} {49933#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} #1232#return; {49926#false} is VALID [2022-04-08 08:33:09,666 INFO L290 TraceCheckUtils]: 67: Hoare triple {49926#false} assume -2147483648 <= #t~ret175 && #t~ret175 <= 2147483647;~status~5 := #t~ret175;havoc #t~ret175; {49926#false} is VALID [2022-04-08 08:33:09,666 INFO L290 TraceCheckUtils]: 68: Hoare triple {49926#false} assume 0 != ~we_should_unload~0; {49926#false} is VALID [2022-04-08 08:33:09,666 INFO L290 TraceCheckUtils]: 69: Hoare triple {49926#false} assume !(1 == ~pended~0); {49926#false} is VALID [2022-04-08 08:33:09,666 INFO L290 TraceCheckUtils]: 70: Hoare triple {49926#false} assume !(1 == ~pended~0); {49926#false} is VALID [2022-04-08 08:33:09,666 INFO L290 TraceCheckUtils]: 71: Hoare triple {49926#false} assume !(~s~0 == ~UNLOADED~0); {49926#false} is VALID [2022-04-08 08:33:09,666 INFO L290 TraceCheckUtils]: 72: Hoare triple {49926#false} assume !(-1 == ~status~5); {49926#false} is VALID [2022-04-08 08:33:09,666 INFO L290 TraceCheckUtils]: 73: Hoare triple {49926#false} assume ~s~0 != ~SKIP2~0; {49926#false} is VALID [2022-04-08 08:33:09,666 INFO L290 TraceCheckUtils]: 74: Hoare triple {49926#false} assume !(~s~0 != ~IPC~0); {49926#false} is VALID [2022-04-08 08:33:09,666 INFO L290 TraceCheckUtils]: 75: Hoare triple {49926#false} assume !(1 == ~pended~0); {49926#false} is VALID [2022-04-08 08:33:09,666 INFO L290 TraceCheckUtils]: 76: Hoare triple {49926#false} assume ~s~0 == ~DC~0; {49926#false} is VALID [2022-04-08 08:33:09,666 INFO L290 TraceCheckUtils]: 77: Hoare triple {49926#false} assume 259 == ~status~5; {49926#false} is VALID [2022-04-08 08:33:09,666 INFO L272 TraceCheckUtils]: 78: Hoare triple {49926#false} call errorFn(); {49926#false} is VALID [2022-04-08 08:33:09,666 INFO L290 TraceCheckUtils]: 79: Hoare triple {49926#false} assume !false; {49926#false} is VALID [2022-04-08 08:33:09,667 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 08:33:09,667 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:33:09,667 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1853104851] [2022-04-08 08:33:09,667 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1853104851] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:33:09,667 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:33:09,667 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 08:33:09,667 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:33:09,667 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1358103444] [2022-04-08 08:33:09,667 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1358103444] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:33:09,667 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:33:09,667 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 08:33:09,667 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [842468585] [2022-04-08 08:33:09,667 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:33:09,668 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 5.0) internal successors, (60), 5 states have internal predecessors, (60), 3 states have call successors, (11), 9 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 2 states have call successors, (9) Word has length 80 [2022-04-08 08:33:09,668 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:33:09,668 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 5.0) internal successors, (60), 5 states have internal predecessors, (60), 3 states have call successors, (11), 9 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:33:09,724 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:33:09,724 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 08:33:09,724 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:33:09,724 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 08:33:09,725 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=100, Unknown=0, NotChecked=0, Total=132 [2022-04-08 08:33:09,725 INFO L87 Difference]: Start difference. First operand 327 states and 413 transitions. Second operand has 12 states, 12 states have (on average 5.0) internal successors, (60), 5 states have internal predecessors, (60), 3 states have call successors, (11), 9 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:33:11,839 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:33:19,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:33:19,328 INFO L93 Difference]: Finished difference Result 371 states and 465 transitions. [2022-04-08 08:33:19,328 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 08:33:19,328 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 5.0) internal successors, (60), 5 states have internal predecessors, (60), 3 states have call successors, (11), 9 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 2 states have call successors, (9) Word has length 80 [2022-04-08 08:33:19,328 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:33:19,328 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 5.0) internal successors, (60), 5 states have internal predecessors, (60), 3 states have call successors, (11), 9 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:33:19,331 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 400 transitions. [2022-04-08 08:33:19,331 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 5.0) internal successors, (60), 5 states have internal predecessors, (60), 3 states have call successors, (11), 9 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:33:19,333 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 400 transitions. [2022-04-08 08:33:19,333 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 400 transitions. [2022-04-08 08:33:19,792 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 400 edges. 400 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:33:19,798 INFO L225 Difference]: With dead ends: 371 [2022-04-08 08:33:19,798 INFO L226 Difference]: Without dead ends: 346 [2022-04-08 08:33:19,799 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 61 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=127, Invalid=293, Unknown=0, NotChecked=0, Total=420 [2022-04-08 08:33:19,799 INFO L913 BasicCegarLoop]: 257 mSDtfsCounter, 892 mSDsluCounter, 223 mSDsCounter, 0 mSdLazyCounter, 802 mSolverCounterSat, 283 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 902 SdHoareTripleChecker+Valid, 480 SdHoareTripleChecker+Invalid, 1086 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 283 IncrementalHoareTripleChecker+Valid, 802 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.2s IncrementalHoareTripleChecker+Time [2022-04-08 08:33:19,799 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [902 Valid, 480 Invalid, 1086 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [283 Valid, 802 Invalid, 1 Unknown, 0 Unchecked, 4.2s Time] [2022-04-08 08:33:19,800 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 346 states. [2022-04-08 08:33:20,374 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 346 to 326. [2022-04-08 08:33:20,374 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:33:20,375 INFO L82 GeneralOperation]: Start isEquivalent. First operand 346 states. Second operand has 326 states, 260 states have (on average 1.3115384615384615) internal successors, (341), 263 states have internal predecessors, (341), 35 states have call successors, (35), 29 states have call predecessors, (35), 30 states have return successors, (35), 33 states have call predecessors, (35), 31 states have call successors, (35) [2022-04-08 08:33:20,375 INFO L74 IsIncluded]: Start isIncluded. First operand 346 states. Second operand has 326 states, 260 states have (on average 1.3115384615384615) internal successors, (341), 263 states have internal predecessors, (341), 35 states have call successors, (35), 29 states have call predecessors, (35), 30 states have return successors, (35), 33 states have call predecessors, (35), 31 states have call successors, (35) [2022-04-08 08:33:20,375 INFO L87 Difference]: Start difference. First operand 346 states. Second operand has 326 states, 260 states have (on average 1.3115384615384615) internal successors, (341), 263 states have internal predecessors, (341), 35 states have call successors, (35), 29 states have call predecessors, (35), 30 states have return successors, (35), 33 states have call predecessors, (35), 31 states have call successors, (35) [2022-04-08 08:33:20,380 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:33:20,380 INFO L93 Difference]: Finished difference Result 346 states and 438 transitions. [2022-04-08 08:33:20,380 INFO L276 IsEmpty]: Start isEmpty. Operand 346 states and 438 transitions. [2022-04-08 08:33:20,380 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:33:20,381 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:33:20,381 INFO L74 IsIncluded]: Start isIncluded. First operand has 326 states, 260 states have (on average 1.3115384615384615) internal successors, (341), 263 states have internal predecessors, (341), 35 states have call successors, (35), 29 states have call predecessors, (35), 30 states have return successors, (35), 33 states have call predecessors, (35), 31 states have call successors, (35) Second operand 346 states. [2022-04-08 08:33:20,381 INFO L87 Difference]: Start difference. First operand has 326 states, 260 states have (on average 1.3115384615384615) internal successors, (341), 263 states have internal predecessors, (341), 35 states have call successors, (35), 29 states have call predecessors, (35), 30 states have return successors, (35), 33 states have call predecessors, (35), 31 states have call successors, (35) Second operand 346 states. [2022-04-08 08:33:20,386 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:33:20,386 INFO L93 Difference]: Finished difference Result 346 states and 438 transitions. [2022-04-08 08:33:20,386 INFO L276 IsEmpty]: Start isEmpty. Operand 346 states and 438 transitions. [2022-04-08 08:33:20,387 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:33:20,387 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:33:20,387 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:33:20,387 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:33:20,387 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 326 states, 260 states have (on average 1.3115384615384615) internal successors, (341), 263 states have internal predecessors, (341), 35 states have call successors, (35), 29 states have call predecessors, (35), 30 states have return successors, (35), 33 states have call predecessors, (35), 31 states have call successors, (35) [2022-04-08 08:33:20,393 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 326 states to 326 states and 411 transitions. [2022-04-08 08:33:20,393 INFO L78 Accepts]: Start accepts. Automaton has 326 states and 411 transitions. Word has length 80 [2022-04-08 08:33:20,393 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:33:20,393 INFO L478 AbstractCegarLoop]: Abstraction has 326 states and 411 transitions. [2022-04-08 08:33:20,393 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 5.0) internal successors, (60), 5 states have internal predecessors, (60), 3 states have call successors, (11), 9 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 08:33:20,393 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 326 states and 411 transitions. [2022-04-08 08:33:21,190 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 411 edges. 411 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:33:21,191 INFO L276 IsEmpty]: Start isEmpty. Operand 326 states and 411 transitions. [2022-04-08 08:33:21,191 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-08 08:33:21,191 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:33:21,191 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:33:21,191 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable20 [2022-04-08 08:33:21,191 INFO L403 AbstractCegarLoop]: === Iteration 22 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:33:21,192 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:33:21,192 INFO L85 PathProgramCache]: Analyzing trace with hash 664933900, now seen corresponding path program 1 times [2022-04-08 08:33:21,192 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:33:21,192 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1823161385] [2022-04-08 08:33:21,192 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 08:33:21,192 INFO L85 PathProgramCache]: Analyzing trace with hash 664933900, now seen corresponding path program 2 times [2022-04-08 08:33:21,192 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:33:21,192 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [773521062] [2022-04-08 08:33:21,192 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:33:21,192 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:33:21,250 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:33:21,319 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:33:21,321 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:33:21,332 INFO L290 TraceCheckUtils]: 0: Hoare triple {52169#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {52117#true} is VALID [2022-04-08 08:33:21,333 INFO L290 TraceCheckUtils]: 1: Hoare triple {52117#true} assume true; {52117#true} is VALID [2022-04-08 08:33:21,333 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {52117#true} {52117#true} #1270#return; {52117#true} is VALID [2022-04-08 08:33:21,352 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:33:21,356 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:33:21,371 INFO L290 TraceCheckUtils]: 0: Hoare triple {52170#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {52171#(and (<= 5 ~MPR1~0) (= (+ ~SKIP1~0 (- 3)) 0))} is VALID [2022-04-08 08:33:21,371 INFO L290 TraceCheckUtils]: 1: Hoare triple {52171#(and (<= 5 ~MPR1~0) (= (+ ~SKIP1~0 (- 3)) 0))} assume true; {52171#(and (<= 5 ~MPR1~0) (= (+ ~SKIP1~0 (- 3)) 0))} is VALID [2022-04-08 08:33:21,371 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {52171#(and (<= 5 ~MPR1~0) (= (+ ~SKIP1~0 (- 3)) 0))} {52117#true} #1216#return; {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:21,378 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:33:21,386 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:33:21,396 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:33:21,397 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:33:21,402 INFO L290 TraceCheckUtils]: 0: Hoare triple {52117#true} ~cond := #in~cond; {52117#true} is VALID [2022-04-08 08:33:21,402 INFO L290 TraceCheckUtils]: 1: Hoare triple {52117#true} assume !(0 == ~cond); {52117#true} is VALID [2022-04-08 08:33:21,402 INFO L290 TraceCheckUtils]: 2: Hoare triple {52117#true} assume true; {52117#true} is VALID [2022-04-08 08:33:21,402 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52117#true} {52117#true} #1254#return; {52117#true} is VALID [2022-04-08 08:33:21,402 INFO L290 TraceCheckUtils]: 0: Hoare triple {52172#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {52117#true} is VALID [2022-04-08 08:33:21,402 INFO L272 TraceCheckUtils]: 1: Hoare triple {52117#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {52117#true} is VALID [2022-04-08 08:33:21,402 INFO L290 TraceCheckUtils]: 2: Hoare triple {52117#true} ~cond := #in~cond; {52117#true} is VALID [2022-04-08 08:33:21,402 INFO L290 TraceCheckUtils]: 3: Hoare triple {52117#true} assume !(0 == ~cond); {52117#true} is VALID [2022-04-08 08:33:21,402 INFO L290 TraceCheckUtils]: 4: Hoare triple {52117#true} assume true; {52117#true} is VALID [2022-04-08 08:33:21,402 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {52117#true} {52117#true} #1254#return; {52117#true} is VALID [2022-04-08 08:33:21,402 INFO L290 TraceCheckUtils]: 6: Hoare triple {52117#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {52117#true} is VALID [2022-04-08 08:33:21,402 INFO L290 TraceCheckUtils]: 7: Hoare triple {52117#true} assume true; {52117#true} is VALID [2022-04-08 08:33:21,403 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {52117#true} {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} #1218#return; {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:21,412 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:33:21,416 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:33:21,421 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:33:21,422 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:33:21,427 INFO L290 TraceCheckUtils]: 0: Hoare triple {52177#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {52117#true} is VALID [2022-04-08 08:33:21,427 INFO L290 TraceCheckUtils]: 1: Hoare triple {52117#true} assume !(0 == ~__BLAST_NONDET~5); {52117#true} is VALID [2022-04-08 08:33:21,427 INFO L290 TraceCheckUtils]: 2: Hoare triple {52117#true} #res := -1073741823; {52117#true} is VALID [2022-04-08 08:33:21,427 INFO L290 TraceCheckUtils]: 3: Hoare triple {52117#true} assume true; {52117#true} is VALID [2022-04-08 08:33:21,427 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {52117#true} {52117#true} #1176#return; {52117#true} is VALID [2022-04-08 08:33:21,427 INFO L290 TraceCheckUtils]: 0: Hoare triple {52177#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {52117#true} is VALID [2022-04-08 08:33:21,428 INFO L272 TraceCheckUtils]: 1: Hoare triple {52117#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {52177#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:33:21,428 INFO L290 TraceCheckUtils]: 2: Hoare triple {52177#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {52117#true} is VALID [2022-04-08 08:33:21,428 INFO L290 TraceCheckUtils]: 3: Hoare triple {52117#true} assume !(0 == ~__BLAST_NONDET~5); {52117#true} is VALID [2022-04-08 08:33:21,428 INFO L290 TraceCheckUtils]: 4: Hoare triple {52117#true} #res := -1073741823; {52117#true} is VALID [2022-04-08 08:33:21,428 INFO L290 TraceCheckUtils]: 5: Hoare triple {52117#true} assume true; {52117#true} is VALID [2022-04-08 08:33:21,428 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {52117#true} {52117#true} #1176#return; {52117#true} is VALID [2022-04-08 08:33:21,428 INFO L290 TraceCheckUtils]: 7: Hoare triple {52117#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {52117#true} is VALID [2022-04-08 08:33:21,428 INFO L290 TraceCheckUtils]: 8: Hoare triple {52117#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {52117#true} is VALID [2022-04-08 08:33:21,429 INFO L290 TraceCheckUtils]: 9: Hoare triple {52117#true} assume true; {52117#true} is VALID [2022-04-08 08:33:21,429 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {52117#true} {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} #1220#return; {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:21,441 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 08:33:21,443 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:33:21,447 INFO L290 TraceCheckUtils]: 0: Hoare triple {52183#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {52117#true} is VALID [2022-04-08 08:33:21,447 INFO L290 TraceCheckUtils]: 1: Hoare triple {52117#true} assume true; {52117#true} is VALID [2022-04-08 08:33:21,458 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {52117#true} {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} #1222#return; {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:21,471 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-08 08:33:21,477 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:33:21,509 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-04-08 08:33:21,513 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:33:21,538 INFO L290 TraceCheckUtils]: 0: Hoare triple {52198#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet204 && #t~nondet204 <= 2147483647;~__BLAST_NONDET~16 := #t~nondet204;havoc #t~nondet204;havoc ~compRetStatus~1;havoc ~returnVal~0;~lcontext~1.base, ~lcontext~1.offset := 0, 0;havoc ~tmp~12; {52199#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:33:21,538 INFO L290 TraceCheckUtils]: 1: Hoare triple {52199#(= ~s~0 |old(~s~0)|)} assume !(0 != ~compRegistered~0); {52199#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:33:21,539 INFO L290 TraceCheckUtils]: 2: Hoare triple {52199#(= ~s~0 |old(~s~0)|)} assume !(0 == ~__BLAST_NONDET~16); {52199#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:33:21,539 INFO L290 TraceCheckUtils]: 3: Hoare triple {52199#(= ~s~0 |old(~s~0)|)} assume !(1 == ~__BLAST_NONDET~16); {52199#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:33:21,539 INFO L290 TraceCheckUtils]: 4: Hoare triple {52199#(= ~s~0 |old(~s~0)|)} ~returnVal~0 := 259; {52199#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:33:21,539 INFO L290 TraceCheckUtils]: 5: Hoare triple {52199#(= ~s~0 |old(~s~0)|)} assume !(~s~0 == ~NP~0); {52199#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:33:21,540 INFO L290 TraceCheckUtils]: 6: Hoare triple {52199#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~MPR1~0; {52200#(= ~MPR1~0 |old(~s~0)|)} is VALID [2022-04-08 08:33:21,540 INFO L290 TraceCheckUtils]: 7: Hoare triple {52200#(= ~MPR1~0 |old(~s~0)|)} assume 259 == ~returnVal~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := ~returnVal~0; {52200#(= ~MPR1~0 |old(~s~0)|)} is VALID [2022-04-08 08:33:21,540 INFO L290 TraceCheckUtils]: 8: Hoare triple {52200#(= ~MPR1~0 |old(~s~0)|)} #res := ~returnVal~0; {52200#(= ~MPR1~0 |old(~s~0)|)} is VALID [2022-04-08 08:33:21,540 INFO L290 TraceCheckUtils]: 9: Hoare triple {52200#(= ~MPR1~0 |old(~s~0)|)} assume true; {52200#(= ~MPR1~0 |old(~s~0)|)} is VALID [2022-04-08 08:33:21,541 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {52200#(= ~MPR1~0 |old(~s~0)|)} {52185#(= ~SKIP1~0 ~s~0)} #1268#return; {52197#(= ~MPR1~0 ~SKIP1~0)} is VALID [2022-04-08 08:33:21,541 INFO L290 TraceCheckUtils]: 0: Hoare triple {52184#(and (= |old(#length)| |#length|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~irpStack~4.base, ~irpStack~4.offset;havoc ~devExt~4.base, ~devExt~4.offset;call ~#powerState~0.base, ~#powerState~0.offset := #Ultimate.allocOnStack(4);havoc ~powerType~0;havoc ~tmp~3;call #t~mem123.base, #t~mem123.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~4.base, ~devExt~4.offset := #t~mem123.base, #t~mem123.offset;havoc #t~mem123.base, #t~mem123.offset;call #t~mem124.base, #t~mem124.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~4.base, ~irpStack~4.offset := #t~mem124.base, #t~mem124.offset;havoc #t~mem124.base, #t~mem124.offset;call #t~mem125 := read~int(~irpStack~4.base, 8 + ~irpStack~4.offset, 4);~powerType~0 := #t~mem125;havoc #t~mem125;call #t~mem126 := read~int(~irpStack~4.base, 12 + ~irpStack~4.offset, 4);call #t~mem127 := read~int(~irpStack~4.base, 12 + ~irpStack~4.offset, 4);call write~int(#t~mem126, ~#powerState~0.base, ~#powerState~0.offset, 4);call write~int(#t~mem127, ~#powerState~0.base, ~#powerState~0.offset, 4);havoc #t~mem126;havoc #t~mem127;call #t~mem128 := read~int(~irpStack~4.base, 1 + ~irpStack~4.offset, 1); {52117#true} is VALID [2022-04-08 08:33:21,541 INFO L290 TraceCheckUtils]: 1: Hoare triple {52117#true} assume 2 == #t~mem128 % 256;havoc #t~mem128; {52117#true} is VALID [2022-04-08 08:33:21,541 INFO L290 TraceCheckUtils]: 2: Hoare triple {52117#true} assume 1 == ~powerType~0;call #t~mem132 := read~int(~#powerState~0.base, ~#powerState~0.offset, 4);call write~int(#t~mem132, ~devExt~4.base, 48 + ~devExt~4.offset, 4);havoc #t~mem132; {52117#true} is VALID [2022-04-08 08:33:21,542 INFO L290 TraceCheckUtils]: 3: Hoare triple {52117#true} assume ~s~0 == ~NP~0;~s~0 := ~SKIP1~0; {52185#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-08 08:33:21,542 INFO L290 TraceCheckUtils]: 4: Hoare triple {52185#(= ~SKIP1~0 ~s~0)} call #t~mem133 := read~int(~Irp.base, 35 + ~Irp.offset, 1);call write~int((if (1 + #t~mem133) % 256 <= 127 then (1 + #t~mem133) % 256 else (1 + #t~mem133) % 256 - 256), ~Irp.base, 35 + ~Irp.offset, 1);havoc #t~mem133;call #t~mem134.base, #t~mem134.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);call write~$Pointer$(#t~mem134.base, 36 + #t~mem134.offset, ~Irp.base, 96 + ~Irp.offset, 4);havoc #t~mem134.base, #t~mem134.offset;call #t~mem135.base, #t~mem135.offset := read~$Pointer$(~devExt~4.base, 8 + ~devExt~4.offset, 4); {52185#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-08 08:33:21,543 INFO L272 TraceCheckUtils]: 5: Hoare triple {52185#(= ~SKIP1~0 ~s~0)} call #t~ret136 := PoCallDriver(#t~mem135.base, #t~mem135.offset, ~Irp.base, ~Irp.offset); {52198#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:33:21,543 INFO L290 TraceCheckUtils]: 6: Hoare triple {52198#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet204 && #t~nondet204 <= 2147483647;~__BLAST_NONDET~16 := #t~nondet204;havoc #t~nondet204;havoc ~compRetStatus~1;havoc ~returnVal~0;~lcontext~1.base, ~lcontext~1.offset := 0, 0;havoc ~tmp~12; {52199#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:33:21,543 INFO L290 TraceCheckUtils]: 7: Hoare triple {52199#(= ~s~0 |old(~s~0)|)} assume !(0 != ~compRegistered~0); {52199#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:33:21,544 INFO L290 TraceCheckUtils]: 8: Hoare triple {52199#(= ~s~0 |old(~s~0)|)} assume !(0 == ~__BLAST_NONDET~16); {52199#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:33:21,544 INFO L290 TraceCheckUtils]: 9: Hoare triple {52199#(= ~s~0 |old(~s~0)|)} assume !(1 == ~__BLAST_NONDET~16); {52199#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:33:21,544 INFO L290 TraceCheckUtils]: 10: Hoare triple {52199#(= ~s~0 |old(~s~0)|)} ~returnVal~0 := 259; {52199#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:33:21,544 INFO L290 TraceCheckUtils]: 11: Hoare triple {52199#(= ~s~0 |old(~s~0)|)} assume !(~s~0 == ~NP~0); {52199#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:33:21,545 INFO L290 TraceCheckUtils]: 12: Hoare triple {52199#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~MPR1~0; {52200#(= ~MPR1~0 |old(~s~0)|)} is VALID [2022-04-08 08:33:21,545 INFO L290 TraceCheckUtils]: 13: Hoare triple {52200#(= ~MPR1~0 |old(~s~0)|)} assume 259 == ~returnVal~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := ~returnVal~0; {52200#(= ~MPR1~0 |old(~s~0)|)} is VALID [2022-04-08 08:33:21,545 INFO L290 TraceCheckUtils]: 14: Hoare triple {52200#(= ~MPR1~0 |old(~s~0)|)} #res := ~returnVal~0; {52200#(= ~MPR1~0 |old(~s~0)|)} is VALID [2022-04-08 08:33:21,545 INFO L290 TraceCheckUtils]: 15: Hoare triple {52200#(= ~MPR1~0 |old(~s~0)|)} assume true; {52200#(= ~MPR1~0 |old(~s~0)|)} is VALID [2022-04-08 08:33:21,546 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {52200#(= ~MPR1~0 |old(~s~0)|)} {52185#(= ~SKIP1~0 ~s~0)} #1268#return; {52197#(= ~MPR1~0 ~SKIP1~0)} is VALID [2022-04-08 08:33:21,546 INFO L290 TraceCheckUtils]: 17: Hoare triple {52197#(= ~MPR1~0 ~SKIP1~0)} assume -2147483648 <= #t~ret136 && #t~ret136 <= 2147483647;~tmp~3 := #t~ret136;havoc #t~mem135.base, #t~mem135.offset;havoc #t~ret136;#res := ~tmp~3;call ULTIMATE.dealloc(~#powerState~0.base, ~#powerState~0.offset);havoc ~#powerState~0.base, ~#powerState~0.offset; {52197#(= ~MPR1~0 ~SKIP1~0)} is VALID [2022-04-08 08:33:21,546 INFO L290 TraceCheckUtils]: 18: Hoare triple {52197#(= ~MPR1~0 ~SKIP1~0)} assume true; {52197#(= ~MPR1~0 ~SKIP1~0)} is VALID [2022-04-08 08:33:21,547 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {52197#(= ~MPR1~0 ~SKIP1~0)} {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} #1232#return; {52118#false} is VALID [2022-04-08 08:33:21,548 INFO L272 TraceCheckUtils]: 0: Hoare triple {52117#true} call ULTIMATE.init(); {52169#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:33:21,548 INFO L290 TraceCheckUtils]: 1: Hoare triple {52169#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {52117#true} is VALID [2022-04-08 08:33:21,548 INFO L290 TraceCheckUtils]: 2: Hoare triple {52117#true} assume true; {52117#true} is VALID [2022-04-08 08:33:21,548 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52117#true} {52117#true} #1270#return; {52117#true} is VALID [2022-04-08 08:33:21,548 INFO L272 TraceCheckUtils]: 4: Hoare triple {52117#true} call #t~ret213 := main(); {52117#true} is VALID [2022-04-08 08:33:21,548 INFO L290 TraceCheckUtils]: 5: Hoare triple {52117#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {52117#true} is VALID [2022-04-08 08:33:21,549 INFO L272 TraceCheckUtils]: 6: Hoare triple {52117#true} call _BLAST_init(); {52170#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:33:21,550 INFO L290 TraceCheckUtils]: 7: Hoare triple {52170#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {52171#(and (<= 5 ~MPR1~0) (= (+ ~SKIP1~0 (- 3)) 0))} is VALID [2022-04-08 08:33:21,550 INFO L290 TraceCheckUtils]: 8: Hoare triple {52171#(and (<= 5 ~MPR1~0) (= (+ ~SKIP1~0 (- 3)) 0))} assume true; {52171#(and (<= 5 ~MPR1~0) (= (+ ~SKIP1~0 (- 3)) 0))} is VALID [2022-04-08 08:33:21,550 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {52171#(and (<= 5 ~MPR1~0) (= (+ ~SKIP1~0 (- 3)) 0))} {52117#true} #1216#return; {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:21,551 INFO L272 TraceCheckUtils]: 10: Hoare triple {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {52172#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:33:21,551 INFO L290 TraceCheckUtils]: 11: Hoare triple {52172#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {52117#true} is VALID [2022-04-08 08:33:21,551 INFO L272 TraceCheckUtils]: 12: Hoare triple {52117#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {52117#true} is VALID [2022-04-08 08:33:21,551 INFO L290 TraceCheckUtils]: 13: Hoare triple {52117#true} ~cond := #in~cond; {52117#true} is VALID [2022-04-08 08:33:21,551 INFO L290 TraceCheckUtils]: 14: Hoare triple {52117#true} assume !(0 == ~cond); {52117#true} is VALID [2022-04-08 08:33:21,551 INFO L290 TraceCheckUtils]: 15: Hoare triple {52117#true} assume true; {52117#true} is VALID [2022-04-08 08:33:21,551 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {52117#true} {52117#true} #1254#return; {52117#true} is VALID [2022-04-08 08:33:21,551 INFO L290 TraceCheckUtils]: 17: Hoare triple {52117#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {52117#true} is VALID [2022-04-08 08:33:21,552 INFO L290 TraceCheckUtils]: 18: Hoare triple {52117#true} assume true; {52117#true} is VALID [2022-04-08 08:33:21,552 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {52117#true} {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} #1218#return; {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:21,552 INFO L290 TraceCheckUtils]: 20: Hoare triple {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:21,553 INFO L290 TraceCheckUtils]: 21: Hoare triple {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:21,553 INFO L290 TraceCheckUtils]: 22: Hoare triple {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:21,554 INFO L272 TraceCheckUtils]: 23: Hoare triple {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {52177#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:33:21,554 INFO L290 TraceCheckUtils]: 24: Hoare triple {52177#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {52117#true} is VALID [2022-04-08 08:33:21,555 INFO L272 TraceCheckUtils]: 25: Hoare triple {52117#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {52177#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:33:21,555 INFO L290 TraceCheckUtils]: 26: Hoare triple {52177#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {52117#true} is VALID [2022-04-08 08:33:21,555 INFO L290 TraceCheckUtils]: 27: Hoare triple {52117#true} assume !(0 == ~__BLAST_NONDET~5); {52117#true} is VALID [2022-04-08 08:33:21,555 INFO L290 TraceCheckUtils]: 28: Hoare triple {52117#true} #res := -1073741823; {52117#true} is VALID [2022-04-08 08:33:21,555 INFO L290 TraceCheckUtils]: 29: Hoare triple {52117#true} assume true; {52117#true} is VALID [2022-04-08 08:33:21,555 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {52117#true} {52117#true} #1176#return; {52117#true} is VALID [2022-04-08 08:33:21,555 INFO L290 TraceCheckUtils]: 31: Hoare triple {52117#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {52117#true} is VALID [2022-04-08 08:33:21,556 INFO L290 TraceCheckUtils]: 32: Hoare triple {52117#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {52117#true} is VALID [2022-04-08 08:33:21,556 INFO L290 TraceCheckUtils]: 33: Hoare triple {52117#true} assume true; {52117#true} is VALID [2022-04-08 08:33:21,556 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {52117#true} {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} #1220#return; {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:21,556 INFO L290 TraceCheckUtils]: 35: Hoare triple {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:21,557 INFO L272 TraceCheckUtils]: 36: Hoare triple {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} call stub_driver_init(); {52183#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:33:21,557 INFO L290 TraceCheckUtils]: 37: Hoare triple {52183#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {52117#true} is VALID [2022-04-08 08:33:21,557 INFO L290 TraceCheckUtils]: 38: Hoare triple {52117#true} assume true; {52117#true} is VALID [2022-04-08 08:33:21,557 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {52117#true} {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} #1222#return; {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:21,558 INFO L290 TraceCheckUtils]: 40: Hoare triple {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume !!(~status~5 >= 0); {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:21,558 INFO L290 TraceCheckUtils]: 41: Hoare triple {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume !(0 == ~__BLAST_NONDET~0); {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:21,558 INFO L290 TraceCheckUtils]: 42: Hoare triple {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume !(1 == ~__BLAST_NONDET~0); {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:21,559 INFO L290 TraceCheckUtils]: 43: Hoare triple {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume !(2 == ~__BLAST_NONDET~0); {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:21,559 INFO L290 TraceCheckUtils]: 44: Hoare triple {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume !(3 == ~__BLAST_NONDET~0); {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:21,559 INFO L290 TraceCheckUtils]: 45: Hoare triple {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume 4 == ~__BLAST_NONDET~0; {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 08:33:21,560 INFO L272 TraceCheckUtils]: 46: Hoare triple {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} call #t~ret175 := KbFilter_Power(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {52184#(and (= |old(#length)| |#length|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:33:21,560 INFO L290 TraceCheckUtils]: 47: Hoare triple {52184#(and (= |old(#length)| |#length|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~irpStack~4.base, ~irpStack~4.offset;havoc ~devExt~4.base, ~devExt~4.offset;call ~#powerState~0.base, ~#powerState~0.offset := #Ultimate.allocOnStack(4);havoc ~powerType~0;havoc ~tmp~3;call #t~mem123.base, #t~mem123.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~4.base, ~devExt~4.offset := #t~mem123.base, #t~mem123.offset;havoc #t~mem123.base, #t~mem123.offset;call #t~mem124.base, #t~mem124.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~4.base, ~irpStack~4.offset := #t~mem124.base, #t~mem124.offset;havoc #t~mem124.base, #t~mem124.offset;call #t~mem125 := read~int(~irpStack~4.base, 8 + ~irpStack~4.offset, 4);~powerType~0 := #t~mem125;havoc #t~mem125;call #t~mem126 := read~int(~irpStack~4.base, 12 + ~irpStack~4.offset, 4);call #t~mem127 := read~int(~irpStack~4.base, 12 + ~irpStack~4.offset, 4);call write~int(#t~mem126, ~#powerState~0.base, ~#powerState~0.offset, 4);call write~int(#t~mem127, ~#powerState~0.base, ~#powerState~0.offset, 4);havoc #t~mem126;havoc #t~mem127;call #t~mem128 := read~int(~irpStack~4.base, 1 + ~irpStack~4.offset, 1); {52117#true} is VALID [2022-04-08 08:33:21,560 INFO L290 TraceCheckUtils]: 48: Hoare triple {52117#true} assume 2 == #t~mem128 % 256;havoc #t~mem128; {52117#true} is VALID [2022-04-08 08:33:21,560 INFO L290 TraceCheckUtils]: 49: Hoare triple {52117#true} assume 1 == ~powerType~0;call #t~mem132 := read~int(~#powerState~0.base, ~#powerState~0.offset, 4);call write~int(#t~mem132, ~devExt~4.base, 48 + ~devExt~4.offset, 4);havoc #t~mem132; {52117#true} is VALID [2022-04-08 08:33:21,560 INFO L290 TraceCheckUtils]: 50: Hoare triple {52117#true} assume ~s~0 == ~NP~0;~s~0 := ~SKIP1~0; {52185#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-08 08:33:21,561 INFO L290 TraceCheckUtils]: 51: Hoare triple {52185#(= ~SKIP1~0 ~s~0)} call #t~mem133 := read~int(~Irp.base, 35 + ~Irp.offset, 1);call write~int((if (1 + #t~mem133) % 256 <= 127 then (1 + #t~mem133) % 256 else (1 + #t~mem133) % 256 - 256), ~Irp.base, 35 + ~Irp.offset, 1);havoc #t~mem133;call #t~mem134.base, #t~mem134.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);call write~$Pointer$(#t~mem134.base, 36 + #t~mem134.offset, ~Irp.base, 96 + ~Irp.offset, 4);havoc #t~mem134.base, #t~mem134.offset;call #t~mem135.base, #t~mem135.offset := read~$Pointer$(~devExt~4.base, 8 + ~devExt~4.offset, 4); {52185#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-08 08:33:21,562 INFO L272 TraceCheckUtils]: 52: Hoare triple {52185#(= ~SKIP1~0 ~s~0)} call #t~ret136 := PoCallDriver(#t~mem135.base, #t~mem135.offset, ~Irp.base, ~Irp.offset); {52198#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:33:21,562 INFO L290 TraceCheckUtils]: 53: Hoare triple {52198#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet204 && #t~nondet204 <= 2147483647;~__BLAST_NONDET~16 := #t~nondet204;havoc #t~nondet204;havoc ~compRetStatus~1;havoc ~returnVal~0;~lcontext~1.base, ~lcontext~1.offset := 0, 0;havoc ~tmp~12; {52199#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:33:21,562 INFO L290 TraceCheckUtils]: 54: Hoare triple {52199#(= ~s~0 |old(~s~0)|)} assume !(0 != ~compRegistered~0); {52199#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:33:21,562 INFO L290 TraceCheckUtils]: 55: Hoare triple {52199#(= ~s~0 |old(~s~0)|)} assume !(0 == ~__BLAST_NONDET~16); {52199#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:33:21,563 INFO L290 TraceCheckUtils]: 56: Hoare triple {52199#(= ~s~0 |old(~s~0)|)} assume !(1 == ~__BLAST_NONDET~16); {52199#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:33:21,563 INFO L290 TraceCheckUtils]: 57: Hoare triple {52199#(= ~s~0 |old(~s~0)|)} ~returnVal~0 := 259; {52199#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:33:21,563 INFO L290 TraceCheckUtils]: 58: Hoare triple {52199#(= ~s~0 |old(~s~0)|)} assume !(~s~0 == ~NP~0); {52199#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:33:21,563 INFO L290 TraceCheckUtils]: 59: Hoare triple {52199#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~MPR1~0; {52200#(= ~MPR1~0 |old(~s~0)|)} is VALID [2022-04-08 08:33:21,564 INFO L290 TraceCheckUtils]: 60: Hoare triple {52200#(= ~MPR1~0 |old(~s~0)|)} assume 259 == ~returnVal~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := ~returnVal~0; {52200#(= ~MPR1~0 |old(~s~0)|)} is VALID [2022-04-08 08:33:21,564 INFO L290 TraceCheckUtils]: 61: Hoare triple {52200#(= ~MPR1~0 |old(~s~0)|)} #res := ~returnVal~0; {52200#(= ~MPR1~0 |old(~s~0)|)} is VALID [2022-04-08 08:33:21,564 INFO L290 TraceCheckUtils]: 62: Hoare triple {52200#(= ~MPR1~0 |old(~s~0)|)} assume true; {52200#(= ~MPR1~0 |old(~s~0)|)} is VALID [2022-04-08 08:33:21,565 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {52200#(= ~MPR1~0 |old(~s~0)|)} {52185#(= ~SKIP1~0 ~s~0)} #1268#return; {52197#(= ~MPR1~0 ~SKIP1~0)} is VALID [2022-04-08 08:33:21,565 INFO L290 TraceCheckUtils]: 64: Hoare triple {52197#(= ~MPR1~0 ~SKIP1~0)} assume -2147483648 <= #t~ret136 && #t~ret136 <= 2147483647;~tmp~3 := #t~ret136;havoc #t~mem135.base, #t~mem135.offset;havoc #t~ret136;#res := ~tmp~3;call ULTIMATE.dealloc(~#powerState~0.base, ~#powerState~0.offset);havoc ~#powerState~0.base, ~#powerState~0.offset; {52197#(= ~MPR1~0 ~SKIP1~0)} is VALID [2022-04-08 08:33:21,565 INFO L290 TraceCheckUtils]: 65: Hoare triple {52197#(= ~MPR1~0 ~SKIP1~0)} assume true; {52197#(= ~MPR1~0 ~SKIP1~0)} is VALID [2022-04-08 08:33:21,566 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {52197#(= ~MPR1~0 ~SKIP1~0)} {52125#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} #1232#return; {52118#false} is VALID [2022-04-08 08:33:21,566 INFO L290 TraceCheckUtils]: 67: Hoare triple {52118#false} assume -2147483648 <= #t~ret175 && #t~ret175 <= 2147483647;~status~5 := #t~ret175;havoc #t~ret175; {52118#false} is VALID [2022-04-08 08:33:21,566 INFO L290 TraceCheckUtils]: 68: Hoare triple {52118#false} assume 0 != ~we_should_unload~0; {52118#false} is VALID [2022-04-08 08:33:21,566 INFO L290 TraceCheckUtils]: 69: Hoare triple {52118#false} assume !(1 == ~pended~0); {52118#false} is VALID [2022-04-08 08:33:21,566 INFO L290 TraceCheckUtils]: 70: Hoare triple {52118#false} assume !(1 == ~pended~0); {52118#false} is VALID [2022-04-08 08:33:21,566 INFO L290 TraceCheckUtils]: 71: Hoare triple {52118#false} assume !(~s~0 == ~UNLOADED~0); {52118#false} is VALID [2022-04-08 08:33:21,566 INFO L290 TraceCheckUtils]: 72: Hoare triple {52118#false} assume !(-1 == ~status~5); {52118#false} is VALID [2022-04-08 08:33:21,566 INFO L290 TraceCheckUtils]: 73: Hoare triple {52118#false} assume ~s~0 != ~SKIP2~0; {52118#false} is VALID [2022-04-08 08:33:21,566 INFO L290 TraceCheckUtils]: 74: Hoare triple {52118#false} assume !(~s~0 != ~IPC~0); {52118#false} is VALID [2022-04-08 08:33:21,566 INFO L290 TraceCheckUtils]: 75: Hoare triple {52118#false} assume !(1 == ~pended~0); {52118#false} is VALID [2022-04-08 08:33:21,566 INFO L290 TraceCheckUtils]: 76: Hoare triple {52118#false} assume ~s~0 == ~DC~0; {52118#false} is VALID [2022-04-08 08:33:21,566 INFO L290 TraceCheckUtils]: 77: Hoare triple {52118#false} assume 259 == ~status~5; {52118#false} is VALID [2022-04-08 08:33:21,566 INFO L272 TraceCheckUtils]: 78: Hoare triple {52118#false} call errorFn(); {52118#false} is VALID [2022-04-08 08:33:21,566 INFO L290 TraceCheckUtils]: 79: Hoare triple {52118#false} assume !false; {52118#false} is VALID [2022-04-08 08:33:21,567 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 08:33:21,567 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:33:21,567 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [773521062] [2022-04-08 08:33:21,567 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [773521062] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:33:21,567 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:33:21,568 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 08:33:21,568 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:33:21,568 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1823161385] [2022-04-08 08:33:21,568 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1823161385] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:33:21,568 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:33:21,568 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 08:33:21,568 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1370016188] [2022-04-08 08:33:21,568 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:33:21,568 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 4.0) internal successors, (60), 8 states have internal predecessors, (60), 4 states have call successors, (11), 9 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) Word has length 80 [2022-04-08 08:33:21,568 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:33:21,569 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 4.0) internal successors, (60), 8 states have internal predecessors, (60), 4 states have call successors, (11), 9 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 08:33:21,627 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:33:21,627 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-08 08:33:21,627 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:33:21,628 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-08 08:33:21,628 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=167, Unknown=0, NotChecked=0, Total=210 [2022-04-08 08:33:21,628 INFO L87 Difference]: Start difference. First operand 326 states and 411 transitions. Second operand has 15 states, 15 states have (on average 4.0) internal successors, (60), 8 states have internal predecessors, (60), 4 states have call successors, (11), 9 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 08:33:23,893 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:33:34,475 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:33:34,476 INFO L93 Difference]: Finished difference Result 353 states and 444 transitions. [2022-04-08 08:33:34,476 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-08 08:33:34,476 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 4.0) internal successors, (60), 8 states have internal predecessors, (60), 4 states have call successors, (11), 9 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) Word has length 80 [2022-04-08 08:33:34,476 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:33:34,476 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 4.0) internal successors, (60), 8 states have internal predecessors, (60), 4 states have call successors, (11), 9 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 08:33:34,478 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 402 transitions. [2022-04-08 08:33:34,479 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 4.0) internal successors, (60), 8 states have internal predecessors, (60), 4 states have call successors, (11), 9 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 08:33:34,481 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 402 transitions. [2022-04-08 08:33:34,481 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 402 transitions. [2022-04-08 08:33:34,958 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 402 edges. 402 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:33:34,960 INFO L225 Difference]: With dead ends: 353 [2022-04-08 08:33:34,960 INFO L226 Difference]: Without dead ends: 205 [2022-04-08 08:33:34,961 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 43 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 144 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=198, Invalid=672, Unknown=0, NotChecked=0, Total=870 [2022-04-08 08:33:34,961 INFO L913 BasicCegarLoop]: 233 mSDtfsCounter, 715 mSDsluCounter, 224 mSDsCounter, 0 mSdLazyCounter, 1405 mSolverCounterSat, 243 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 721 SdHoareTripleChecker+Valid, 457 SdHoareTripleChecker+Invalid, 1649 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 243 IncrementalHoareTripleChecker+Valid, 1405 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.3s IncrementalHoareTripleChecker+Time [2022-04-08 08:33:34,962 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [721 Valid, 457 Invalid, 1649 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [243 Valid, 1405 Invalid, 1 Unknown, 0 Unchecked, 5.3s Time] [2022-04-08 08:33:34,962 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 205 states. [2022-04-08 08:33:35,288 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 205 to 186. [2022-04-08 08:33:35,288 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:33:35,288 INFO L82 GeneralOperation]: Start isEquivalent. First operand 205 states. Second operand has 186 states, 141 states have (on average 1.2411347517730495) internal successors, (175), 144 states have internal predecessors, (175), 23 states have call successors, (23), 21 states have call predecessors, (23), 21 states have return successors, (22), 20 states have call predecessors, (22), 19 states have call successors, (22) [2022-04-08 08:33:35,289 INFO L74 IsIncluded]: Start isIncluded. First operand 205 states. Second operand has 186 states, 141 states have (on average 1.2411347517730495) internal successors, (175), 144 states have internal predecessors, (175), 23 states have call successors, (23), 21 states have call predecessors, (23), 21 states have return successors, (22), 20 states have call predecessors, (22), 19 states have call successors, (22) [2022-04-08 08:33:35,289 INFO L87 Difference]: Start difference. First operand 205 states. Second operand has 186 states, 141 states have (on average 1.2411347517730495) internal successors, (175), 144 states have internal predecessors, (175), 23 states have call successors, (23), 21 states have call predecessors, (23), 21 states have return successors, (22), 20 states have call predecessors, (22), 19 states have call successors, (22) [2022-04-08 08:33:35,291 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:33:35,292 INFO L93 Difference]: Finished difference Result 205 states and 246 transitions. [2022-04-08 08:33:35,292 INFO L276 IsEmpty]: Start isEmpty. Operand 205 states and 246 transitions. [2022-04-08 08:33:35,292 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:33:35,292 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:33:35,292 INFO L74 IsIncluded]: Start isIncluded. First operand has 186 states, 141 states have (on average 1.2411347517730495) internal successors, (175), 144 states have internal predecessors, (175), 23 states have call successors, (23), 21 states have call predecessors, (23), 21 states have return successors, (22), 20 states have call predecessors, (22), 19 states have call successors, (22) Second operand 205 states. [2022-04-08 08:33:35,292 INFO L87 Difference]: Start difference. First operand has 186 states, 141 states have (on average 1.2411347517730495) internal successors, (175), 144 states have internal predecessors, (175), 23 states have call successors, (23), 21 states have call predecessors, (23), 21 states have return successors, (22), 20 states have call predecessors, (22), 19 states have call successors, (22) Second operand 205 states. [2022-04-08 08:33:35,294 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:33:35,294 INFO L93 Difference]: Finished difference Result 205 states and 246 transitions. [2022-04-08 08:33:35,294 INFO L276 IsEmpty]: Start isEmpty. Operand 205 states and 246 transitions. [2022-04-08 08:33:35,295 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:33:35,295 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:33:35,295 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:33:35,295 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:33:35,295 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 186 states, 141 states have (on average 1.2411347517730495) internal successors, (175), 144 states have internal predecessors, (175), 23 states have call successors, (23), 21 states have call predecessors, (23), 21 states have return successors, (22), 20 states have call predecessors, (22), 19 states have call successors, (22) [2022-04-08 08:33:35,297 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 186 states to 186 states and 220 transitions. [2022-04-08 08:33:35,297 INFO L78 Accepts]: Start accepts. Automaton has 186 states and 220 transitions. Word has length 80 [2022-04-08 08:33:35,297 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:33:35,297 INFO L478 AbstractCegarLoop]: Abstraction has 186 states and 220 transitions. [2022-04-08 08:33:35,297 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 4.0) internal successors, (60), 8 states have internal predecessors, (60), 4 states have call successors, (11), 9 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 08:33:35,297 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 186 states and 220 transitions. [2022-04-08 08:33:35,734 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 220 edges. 220 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:33:35,734 INFO L276 IsEmpty]: Start isEmpty. Operand 186 states and 220 transitions. [2022-04-08 08:33:35,735 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 89 [2022-04-08 08:33:35,735 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:33:35,735 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:33:35,735 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable21 [2022-04-08 08:33:35,735 INFO L403 AbstractCegarLoop]: === Iteration 23 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:33:35,735 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:33:35,735 INFO L85 PathProgramCache]: Analyzing trace with hash 1299022194, now seen corresponding path program 1 times [2022-04-08 08:33:35,736 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:33:35,736 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [672798839] [2022-04-08 08:33:35,736 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 08:33:35,736 INFO L85 PathProgramCache]: Analyzing trace with hash 1299022194, now seen corresponding path program 2 times [2022-04-08 08:33:35,736 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:33:35,736 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [32300535] [2022-04-08 08:33:35,736 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:33:35,736 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:33:35,788 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:33:35,878 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:33:35,880 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:33:35,885 INFO L290 TraceCheckUtils]: 0: Hoare triple {53782#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {53725#true} is VALID [2022-04-08 08:33:35,885 INFO L290 TraceCheckUtils]: 1: Hoare triple {53725#true} assume true; {53725#true} is VALID [2022-04-08 08:33:35,885 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {53725#true} {53725#true} #1270#return; {53725#true} is VALID [2022-04-08 08:33:35,912 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:33:35,913 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:33:35,918 INFO L290 TraceCheckUtils]: 0: Hoare triple {53783#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {53725#true} is VALID [2022-04-08 08:33:35,918 INFO L290 TraceCheckUtils]: 1: Hoare triple {53725#true} assume true; {53725#true} is VALID [2022-04-08 08:33:35,918 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {53725#true} {53725#true} #1216#return; {53725#true} is VALID [2022-04-08 08:33:35,926 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:33:35,932 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:33:35,939 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:33:35,940 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:33:35,944 INFO L290 TraceCheckUtils]: 0: Hoare triple {53725#true} ~cond := #in~cond; {53725#true} is VALID [2022-04-08 08:33:35,944 INFO L290 TraceCheckUtils]: 1: Hoare triple {53725#true} assume !(0 == ~cond); {53725#true} is VALID [2022-04-08 08:33:35,944 INFO L290 TraceCheckUtils]: 2: Hoare triple {53725#true} assume true; {53725#true} is VALID [2022-04-08 08:33:35,944 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {53725#true} {53725#true} #1254#return; {53725#true} is VALID [2022-04-08 08:33:35,944 INFO L290 TraceCheckUtils]: 0: Hoare triple {53784#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {53725#true} is VALID [2022-04-08 08:33:35,945 INFO L272 TraceCheckUtils]: 1: Hoare triple {53725#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {53725#true} is VALID [2022-04-08 08:33:35,945 INFO L290 TraceCheckUtils]: 2: Hoare triple {53725#true} ~cond := #in~cond; {53725#true} is VALID [2022-04-08 08:33:35,945 INFO L290 TraceCheckUtils]: 3: Hoare triple {53725#true} assume !(0 == ~cond); {53725#true} is VALID [2022-04-08 08:33:35,945 INFO L290 TraceCheckUtils]: 4: Hoare triple {53725#true} assume true; {53725#true} is VALID [2022-04-08 08:33:35,945 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {53725#true} {53725#true} #1254#return; {53725#true} is VALID [2022-04-08 08:33:35,945 INFO L290 TraceCheckUtils]: 6: Hoare triple {53725#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {53725#true} is VALID [2022-04-08 08:33:35,945 INFO L290 TraceCheckUtils]: 7: Hoare triple {53725#true} assume true; {53725#true} is VALID [2022-04-08 08:33:35,945 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {53725#true} {53725#true} #1218#return; {53725#true} is VALID [2022-04-08 08:33:35,955 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:33:35,957 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:33:35,964 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:33:35,966 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:33:35,971 INFO L290 TraceCheckUtils]: 0: Hoare triple {53789#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {53725#true} is VALID [2022-04-08 08:33:35,971 INFO L290 TraceCheckUtils]: 1: Hoare triple {53725#true} assume !(0 == ~__BLAST_NONDET~5); {53725#true} is VALID [2022-04-08 08:33:35,971 INFO L290 TraceCheckUtils]: 2: Hoare triple {53725#true} #res := -1073741823; {53725#true} is VALID [2022-04-08 08:33:35,972 INFO L290 TraceCheckUtils]: 3: Hoare triple {53725#true} assume true; {53725#true} is VALID [2022-04-08 08:33:35,972 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {53725#true} {53725#true} #1176#return; {53725#true} is VALID [2022-04-08 08:33:35,972 INFO L290 TraceCheckUtils]: 0: Hoare triple {53789#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {53725#true} is VALID [2022-04-08 08:33:35,973 INFO L272 TraceCheckUtils]: 1: Hoare triple {53725#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {53789#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:33:35,973 INFO L290 TraceCheckUtils]: 2: Hoare triple {53789#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {53725#true} is VALID [2022-04-08 08:33:35,973 INFO L290 TraceCheckUtils]: 3: Hoare triple {53725#true} assume !(0 == ~__BLAST_NONDET~5); {53725#true} is VALID [2022-04-08 08:33:35,973 INFO L290 TraceCheckUtils]: 4: Hoare triple {53725#true} #res := -1073741823; {53725#true} is VALID [2022-04-08 08:33:35,973 INFO L290 TraceCheckUtils]: 5: Hoare triple {53725#true} assume true; {53725#true} is VALID [2022-04-08 08:33:35,973 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {53725#true} {53725#true} #1176#return; {53725#true} is VALID [2022-04-08 08:33:35,973 INFO L290 TraceCheckUtils]: 7: Hoare triple {53725#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {53725#true} is VALID [2022-04-08 08:33:35,973 INFO L290 TraceCheckUtils]: 8: Hoare triple {53725#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {53725#true} is VALID [2022-04-08 08:33:35,973 INFO L290 TraceCheckUtils]: 9: Hoare triple {53725#true} assume true; {53725#true} is VALID [2022-04-08 08:33:35,973 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {53725#true} {53725#true} #1220#return; {53725#true} is VALID [2022-04-08 08:33:35,987 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 08:33:35,988 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:33:35,992 INFO L290 TraceCheckUtils]: 0: Hoare triple {53795#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {53725#true} is VALID [2022-04-08 08:33:35,992 INFO L290 TraceCheckUtils]: 1: Hoare triple {53725#true} assume true; {53725#true} is VALID [2022-04-08 08:33:35,992 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {53725#true} {53725#true} #1222#return; {53725#true} is VALID [2022-04-08 08:33:35,993 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 49 [2022-04-08 08:33:35,995 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:33:35,999 INFO L290 TraceCheckUtils]: 0: Hoare triple {53784#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {53725#true} is VALID [2022-04-08 08:33:35,999 INFO L290 TraceCheckUtils]: 1: Hoare triple {53725#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {53725#true} is VALID [2022-04-08 08:33:35,999 INFO L290 TraceCheckUtils]: 2: Hoare triple {53725#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {53725#true} is VALID [2022-04-08 08:33:36,000 INFO L290 TraceCheckUtils]: 3: Hoare triple {53725#true} assume #res.base == dest.base && #res.offset == dest.offset; {53725#true} is VALID [2022-04-08 08:33:36,000 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {53725#true} {53725#true} #1186#return; {53725#true} is VALID [2022-04-08 08:33:36,008 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 59 [2022-04-08 08:33:36,016 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:33:36,066 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 08:33:36,068 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:33:36,073 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:33:36,074 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:33:36,078 INFO L290 TraceCheckUtils]: 0: Hoare triple {53807#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {53725#true} is VALID [2022-04-08 08:33:36,078 INFO L290 TraceCheckUtils]: 1: Hoare triple {53725#true} assume true; {53725#true} is VALID [2022-04-08 08:33:36,078 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {53725#true} {53725#true} #1174#return; {53725#true} is VALID [2022-04-08 08:33:36,078 INFO L290 TraceCheckUtils]: 0: Hoare triple {53807#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {53725#true} is VALID [2022-04-08 08:33:36,079 INFO L272 TraceCheckUtils]: 1: Hoare triple {53725#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {53807#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:33:36,079 INFO L290 TraceCheckUtils]: 2: Hoare triple {53807#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {53725#true} is VALID [2022-04-08 08:33:36,079 INFO L290 TraceCheckUtils]: 3: Hoare triple {53725#true} assume true; {53725#true} is VALID [2022-04-08 08:33:36,079 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {53725#true} {53725#true} #1174#return; {53725#true} is VALID [2022-04-08 08:33:36,079 INFO L290 TraceCheckUtils]: 5: Hoare triple {53725#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {53725#true} is VALID [2022-04-08 08:33:36,079 INFO L290 TraceCheckUtils]: 6: Hoare triple {53725#true} assume true; {53725#true} is VALID [2022-04-08 08:33:36,079 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {53725#true} {53725#true} #1210#return; {53725#true} is VALID [2022-04-08 08:33:36,079 INFO L290 TraceCheckUtils]: 0: Hoare triple {53796#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {53725#true} is VALID [2022-04-08 08:33:36,080 INFO L290 TraceCheckUtils]: 1: Hoare triple {53725#true} assume 0 != ~compRegistered~0; {53725#true} is VALID [2022-04-08 08:33:36,080 INFO L272 TraceCheckUtils]: 2: Hoare triple {53725#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {53807#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:33:36,080 INFO L290 TraceCheckUtils]: 3: Hoare triple {53807#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {53725#true} is VALID [2022-04-08 08:33:36,081 INFO L272 TraceCheckUtils]: 4: Hoare triple {53725#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {53807#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:33:36,081 INFO L290 TraceCheckUtils]: 5: Hoare triple {53807#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {53725#true} is VALID [2022-04-08 08:33:36,081 INFO L290 TraceCheckUtils]: 6: Hoare triple {53725#true} assume true; {53725#true} is VALID [2022-04-08 08:33:36,081 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {53725#true} {53725#true} #1174#return; {53725#true} is VALID [2022-04-08 08:33:36,081 INFO L290 TraceCheckUtils]: 8: Hoare triple {53725#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {53725#true} is VALID [2022-04-08 08:33:36,081 INFO L290 TraceCheckUtils]: 9: Hoare triple {53725#true} assume true; {53725#true} is VALID [2022-04-08 08:33:36,081 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {53725#true} {53725#true} #1210#return; {53725#true} is VALID [2022-04-08 08:33:36,081 INFO L290 TraceCheckUtils]: 11: Hoare triple {53725#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {53725#true} is VALID [2022-04-08 08:33:36,081 INFO L290 TraceCheckUtils]: 12: Hoare triple {53725#true} assume !(-1073741802 == ~compRetStatus~0); {53725#true} is VALID [2022-04-08 08:33:36,081 INFO L290 TraceCheckUtils]: 13: Hoare triple {53725#true} assume 0 == ~__BLAST_NONDET~11; {53725#true} is VALID [2022-04-08 08:33:36,082 INFO L290 TraceCheckUtils]: 14: Hoare triple {53725#true} ~returnVal2~0 := 0; {53805#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:33:36,082 INFO L290 TraceCheckUtils]: 15: Hoare triple {53805#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := ~returnVal2~0; {53805#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:33:36,082 INFO L290 TraceCheckUtils]: 16: Hoare triple {53805#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} #res := ~returnVal2~0; {53806#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} is VALID [2022-04-08 08:33:36,083 INFO L290 TraceCheckUtils]: 17: Hoare triple {53806#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} assume true; {53806#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} is VALID [2022-04-08 08:33:36,084 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {53806#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} {53725#true} #1192#return; {53780#(= |KbFilter_PnP_#t~ret109| 0)} is VALID [2022-04-08 08:33:36,085 INFO L272 TraceCheckUtils]: 0: Hoare triple {53725#true} call ULTIMATE.init(); {53782#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:33:36,085 INFO L290 TraceCheckUtils]: 1: Hoare triple {53782#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {53725#true} is VALID [2022-04-08 08:33:36,085 INFO L290 TraceCheckUtils]: 2: Hoare triple {53725#true} assume true; {53725#true} is VALID [2022-04-08 08:33:36,085 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {53725#true} {53725#true} #1270#return; {53725#true} is VALID [2022-04-08 08:33:36,085 INFO L272 TraceCheckUtils]: 4: Hoare triple {53725#true} call #t~ret213 := main(); {53725#true} is VALID [2022-04-08 08:33:36,085 INFO L290 TraceCheckUtils]: 5: Hoare triple {53725#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {53725#true} is VALID [2022-04-08 08:33:36,086 INFO L272 TraceCheckUtils]: 6: Hoare triple {53725#true} call _BLAST_init(); {53783#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:33:36,086 INFO L290 TraceCheckUtils]: 7: Hoare triple {53783#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {53725#true} is VALID [2022-04-08 08:33:36,086 INFO L290 TraceCheckUtils]: 8: Hoare triple {53725#true} assume true; {53725#true} is VALID [2022-04-08 08:33:36,086 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {53725#true} {53725#true} #1216#return; {53725#true} is VALID [2022-04-08 08:33:36,087 INFO L272 TraceCheckUtils]: 10: Hoare triple {53725#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {53784#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:33:36,087 INFO L290 TraceCheckUtils]: 11: Hoare triple {53784#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {53725#true} is VALID [2022-04-08 08:33:36,087 INFO L272 TraceCheckUtils]: 12: Hoare triple {53725#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {53725#true} is VALID [2022-04-08 08:33:36,087 INFO L290 TraceCheckUtils]: 13: Hoare triple {53725#true} ~cond := #in~cond; {53725#true} is VALID [2022-04-08 08:33:36,087 INFO L290 TraceCheckUtils]: 14: Hoare triple {53725#true} assume !(0 == ~cond); {53725#true} is VALID [2022-04-08 08:33:36,087 INFO L290 TraceCheckUtils]: 15: Hoare triple {53725#true} assume true; {53725#true} is VALID [2022-04-08 08:33:36,087 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {53725#true} {53725#true} #1254#return; {53725#true} is VALID [2022-04-08 08:33:36,087 INFO L290 TraceCheckUtils]: 17: Hoare triple {53725#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {53725#true} is VALID [2022-04-08 08:33:36,087 INFO L290 TraceCheckUtils]: 18: Hoare triple {53725#true} assume true; {53725#true} is VALID [2022-04-08 08:33:36,087 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {53725#true} {53725#true} #1218#return; {53725#true} is VALID [2022-04-08 08:33:36,087 INFO L290 TraceCheckUtils]: 20: Hoare triple {53725#true} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {53725#true} is VALID [2022-04-08 08:33:36,087 INFO L290 TraceCheckUtils]: 21: Hoare triple {53725#true} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {53725#true} is VALID [2022-04-08 08:33:36,087 INFO L290 TraceCheckUtils]: 22: Hoare triple {53725#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {53725#true} is VALID [2022-04-08 08:33:36,088 INFO L272 TraceCheckUtils]: 23: Hoare triple {53725#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {53789#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:33:36,088 INFO L290 TraceCheckUtils]: 24: Hoare triple {53789#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {53725#true} is VALID [2022-04-08 08:33:36,089 INFO L272 TraceCheckUtils]: 25: Hoare triple {53725#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {53789#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:33:36,089 INFO L290 TraceCheckUtils]: 26: Hoare triple {53789#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {53725#true} is VALID [2022-04-08 08:33:36,089 INFO L290 TraceCheckUtils]: 27: Hoare triple {53725#true} assume !(0 == ~__BLAST_NONDET~5); {53725#true} is VALID [2022-04-08 08:33:36,089 INFO L290 TraceCheckUtils]: 28: Hoare triple {53725#true} #res := -1073741823; {53725#true} is VALID [2022-04-08 08:33:36,090 INFO L290 TraceCheckUtils]: 29: Hoare triple {53725#true} assume true; {53725#true} is VALID [2022-04-08 08:33:36,090 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {53725#true} {53725#true} #1176#return; {53725#true} is VALID [2022-04-08 08:33:36,090 INFO L290 TraceCheckUtils]: 31: Hoare triple {53725#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {53725#true} is VALID [2022-04-08 08:33:36,090 INFO L290 TraceCheckUtils]: 32: Hoare triple {53725#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {53725#true} is VALID [2022-04-08 08:33:36,090 INFO L290 TraceCheckUtils]: 33: Hoare triple {53725#true} assume true; {53725#true} is VALID [2022-04-08 08:33:36,090 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {53725#true} {53725#true} #1220#return; {53725#true} is VALID [2022-04-08 08:33:36,090 INFO L290 TraceCheckUtils]: 35: Hoare triple {53725#true} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {53725#true} is VALID [2022-04-08 08:33:36,090 INFO L272 TraceCheckUtils]: 36: Hoare triple {53725#true} call stub_driver_init(); {53795#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:33:36,090 INFO L290 TraceCheckUtils]: 37: Hoare triple {53795#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {53725#true} is VALID [2022-04-08 08:33:36,091 INFO L290 TraceCheckUtils]: 38: Hoare triple {53725#true} assume true; {53725#true} is VALID [2022-04-08 08:33:36,091 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {53725#true} {53725#true} #1222#return; {53725#true} is VALID [2022-04-08 08:33:36,091 INFO L290 TraceCheckUtils]: 40: Hoare triple {53725#true} assume !!(~status~5 >= 0); {53725#true} is VALID [2022-04-08 08:33:36,091 INFO L290 TraceCheckUtils]: 41: Hoare triple {53725#true} assume !(0 == ~__BLAST_NONDET~0); {53725#true} is VALID [2022-04-08 08:33:36,091 INFO L290 TraceCheckUtils]: 42: Hoare triple {53725#true} assume !(1 == ~__BLAST_NONDET~0); {53725#true} is VALID [2022-04-08 08:33:36,091 INFO L290 TraceCheckUtils]: 43: Hoare triple {53725#true} assume !(2 == ~__BLAST_NONDET~0); {53725#true} is VALID [2022-04-08 08:33:36,091 INFO L290 TraceCheckUtils]: 44: Hoare triple {53725#true} assume 3 == ~__BLAST_NONDET~0; {53725#true} is VALID [2022-04-08 08:33:36,091 INFO L272 TraceCheckUtils]: 45: Hoare triple {53725#true} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {53725#true} is VALID [2022-04-08 08:33:36,091 INFO L290 TraceCheckUtils]: 46: Hoare triple {53725#true} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~devExt~3.base, ~devExt~3.offset;havoc ~irpStack~3.base, ~irpStack~3.offset;havoc ~status~3;call ~#event~1.base, ~#event~1.offset := #Ultimate.allocOnStack(16);havoc ~irpSp~0.base, ~irpSp~0.offset;havoc ~nextIrpSp~0.base, ~nextIrpSp~0.offset;havoc ~irpSp___0~0.base, ~irpSp___0~0.offset;~status~3 := 0;call #t~mem79.base, #t~mem79.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~3.base, ~devExt~3.offset := #t~mem79.base, #t~mem79.offset;havoc #t~mem79.base, #t~mem79.offset;call #t~mem80.base, #t~mem80.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~3.base, ~irpStack~3.offset := #t~mem80.base, #t~mem80.offset;havoc #t~mem80.base, #t~mem80.offset;call #t~mem81 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {53725#true} is VALID [2022-04-08 08:33:36,091 INFO L290 TraceCheckUtils]: 47: Hoare triple {53725#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {53725#true} is VALID [2022-04-08 08:33:36,091 INFO L290 TraceCheckUtils]: 48: Hoare triple {53725#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp~0.base, ~irpSp~0.offset := #t~mem102.base, #t~mem102.offset;havoc #t~mem102.base, #t~mem102.offset;call #t~mem103.base, #t~mem103.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 36;havoc #t~mem103.base, #t~mem103.offset; {53725#true} is VALID [2022-04-08 08:33:36,092 INFO L272 TraceCheckUtils]: 49: Hoare triple {53725#true} call #t~memmove~res104.base, #t~memmove~res104.offset := #Ultimate.C_memmove(~nextIrpSp~0.base, ~nextIrpSp~0.offset, ~irpSp~0.base, ~irpSp~0.offset, 28); {53784#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:33:36,092 INFO L290 TraceCheckUtils]: 50: Hoare triple {53784#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {53725#true} is VALID [2022-04-08 08:33:36,092 INFO L290 TraceCheckUtils]: 51: Hoare triple {53725#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {53725#true} is VALID [2022-04-08 08:33:36,092 INFO L290 TraceCheckUtils]: 52: Hoare triple {53725#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {53725#true} is VALID [2022-04-08 08:33:36,092 INFO L290 TraceCheckUtils]: 53: Hoare triple {53725#true} assume #res.base == dest.base && #res.offset == dest.offset; {53725#true} is VALID [2022-04-08 08:33:36,092 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {53725#true} {53725#true} #1186#return; {53725#true} is VALID [2022-04-08 08:33:36,092 INFO L290 TraceCheckUtils]: 55: Hoare triple {53725#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {53725#true} is VALID [2022-04-08 08:33:36,092 INFO L290 TraceCheckUtils]: 56: Hoare triple {53725#true} assume !(~s~0 != ~NP~0); {53725#true} is VALID [2022-04-08 08:33:36,092 INFO L290 TraceCheckUtils]: 57: Hoare triple {53725#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {53725#true} is VALID [2022-04-08 08:33:36,092 INFO L290 TraceCheckUtils]: 58: Hoare triple {53725#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 36;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 28 + ~irpSp___0~0.offset, 4);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 32 + ~irpSp___0~0.offset, 4);call write~int(0, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(64, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call #t~mem106 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem106 % 256, 128), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem106;call #t~mem107 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem107 % 256, 32), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem107;call #t~mem108.base, #t~mem108.offset := read~$Pointer$(~devExt~3.base, 8 + ~devExt~3.offset, 4); {53725#true} is VALID [2022-04-08 08:33:36,093 INFO L272 TraceCheckUtils]: 59: Hoare triple {53725#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {53796#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:33:36,093 INFO L290 TraceCheckUtils]: 60: Hoare triple {53796#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {53725#true} is VALID [2022-04-08 08:33:36,093 INFO L290 TraceCheckUtils]: 61: Hoare triple {53725#true} assume 0 != ~compRegistered~0; {53725#true} is VALID [2022-04-08 08:33:36,094 INFO L272 TraceCheckUtils]: 62: Hoare triple {53725#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {53807#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:33:36,094 INFO L290 TraceCheckUtils]: 63: Hoare triple {53807#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {53725#true} is VALID [2022-04-08 08:33:36,094 INFO L272 TraceCheckUtils]: 64: Hoare triple {53725#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {53807#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:33:36,095 INFO L290 TraceCheckUtils]: 65: Hoare triple {53807#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {53725#true} is VALID [2022-04-08 08:33:36,095 INFO L290 TraceCheckUtils]: 66: Hoare triple {53725#true} assume true; {53725#true} is VALID [2022-04-08 08:33:36,095 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {53725#true} {53725#true} #1174#return; {53725#true} is VALID [2022-04-08 08:33:36,095 INFO L290 TraceCheckUtils]: 68: Hoare triple {53725#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {53725#true} is VALID [2022-04-08 08:33:36,095 INFO L290 TraceCheckUtils]: 69: Hoare triple {53725#true} assume true; {53725#true} is VALID [2022-04-08 08:33:36,095 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {53725#true} {53725#true} #1210#return; {53725#true} is VALID [2022-04-08 08:33:36,095 INFO L290 TraceCheckUtils]: 71: Hoare triple {53725#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {53725#true} is VALID [2022-04-08 08:33:36,095 INFO L290 TraceCheckUtils]: 72: Hoare triple {53725#true} assume !(-1073741802 == ~compRetStatus~0); {53725#true} is VALID [2022-04-08 08:33:36,095 INFO L290 TraceCheckUtils]: 73: Hoare triple {53725#true} assume 0 == ~__BLAST_NONDET~11; {53725#true} is VALID [2022-04-08 08:33:36,095 INFO L290 TraceCheckUtils]: 74: Hoare triple {53725#true} ~returnVal2~0 := 0; {53805#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:33:36,096 INFO L290 TraceCheckUtils]: 75: Hoare triple {53805#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := ~returnVal2~0; {53805#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:33:36,096 INFO L290 TraceCheckUtils]: 76: Hoare triple {53805#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} #res := ~returnVal2~0; {53806#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} is VALID [2022-04-08 08:33:36,096 INFO L290 TraceCheckUtils]: 77: Hoare triple {53806#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} assume true; {53806#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} is VALID [2022-04-08 08:33:36,097 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {53806#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} {53725#true} #1192#return; {53780#(= |KbFilter_PnP_#t~ret109| 0)} is VALID [2022-04-08 08:33:36,098 INFO L290 TraceCheckUtils]: 79: Hoare triple {53780#(= |KbFilter_PnP_#t~ret109| 0)} assume -2147483648 <= #t~ret109 && #t~ret109 <= 2147483647;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {53781#(= KbFilter_PnP_~status~3 0)} is VALID [2022-04-08 08:33:36,098 INFO L290 TraceCheckUtils]: 80: Hoare triple {53781#(= KbFilter_PnP_~status~3 0)} assume !(259 == ~status~3); {53781#(= KbFilter_PnP_~status~3 0)} is VALID [2022-04-08 08:33:36,098 INFO L290 TraceCheckUtils]: 81: Hoare triple {53781#(= KbFilter_PnP_~status~3 0)} assume !(~status~3 >= 0); {53726#false} is VALID [2022-04-08 08:33:36,098 INFO L290 TraceCheckUtils]: 82: Hoare triple {53726#false} call write~int(~status~3, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~3;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4); {53726#false} is VALID [2022-04-08 08:33:36,098 INFO L272 TraceCheckUtils]: 83: Hoare triple {53726#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {53726#false} is VALID [2022-04-08 08:33:36,098 INFO L290 TraceCheckUtils]: 84: Hoare triple {53726#false} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {53726#false} is VALID [2022-04-08 08:33:36,098 INFO L290 TraceCheckUtils]: 85: Hoare triple {53726#false} assume !(~s~0 == ~NP~0); {53726#false} is VALID [2022-04-08 08:33:36,099 INFO L272 TraceCheckUtils]: 86: Hoare triple {53726#false} call errorFn(); {53726#false} is VALID [2022-04-08 08:33:36,099 INFO L290 TraceCheckUtils]: 87: Hoare triple {53726#false} assume !false; {53726#false} is VALID [2022-04-08 08:33:36,099 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 08:33:36,099 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:33:36,099 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [32300535] [2022-04-08 08:33:36,099 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [32300535] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:33:36,099 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:33:36,099 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 08:33:36,099 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:33:36,099 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [672798839] [2022-04-08 08:33:36,100 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [672798839] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:33:36,100 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:33:36,100 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 08:33:36,100 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2130940682] [2022-04-08 08:33:36,100 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:33:36,101 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 4.769230769230769) internal successors, (62), 5 states have internal predecessors, (62), 2 states have call successors, (15), 9 states have call predecessors, (15), 2 states have return successors, (11), 2 states have call predecessors, (11), 1 states have call successors, (11) Word has length 88 [2022-04-08 08:33:36,101 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:33:36,101 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 4.769230769230769) internal successors, (62), 5 states have internal predecessors, (62), 2 states have call successors, (15), 9 states have call predecessors, (15), 2 states have return successors, (11), 2 states have call predecessors, (11), 1 states have call successors, (11) [2022-04-08 08:33:36,180 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:33:36,180 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 08:33:36,180 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:33:36,180 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 08:33:36,180 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=122, Unknown=0, NotChecked=0, Total=156 [2022-04-08 08:33:36,188 INFO L87 Difference]: Start difference. First operand 186 states and 220 transitions. Second operand has 13 states, 13 states have (on average 4.769230769230769) internal successors, (62), 5 states have internal predecessors, (62), 2 states have call successors, (15), 9 states have call predecessors, (15), 2 states have return successors, (11), 2 states have call predecessors, (11), 1 states have call successors, (11) [2022-04-08 08:33:39,631 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.29s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:33:41,636 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:33:43,658 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.02s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:33:45,682 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:33:47,709 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.02s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:33:49,736 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:33:51,758 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.02s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:33:58,318 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.02s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:34:01,639 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:34:01,639 INFO L93 Difference]: Finished difference Result 300 states and 368 transitions. [2022-04-08 08:34:01,639 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-08 08:34:01,639 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 4.769230769230769) internal successors, (62), 5 states have internal predecessors, (62), 2 states have call successors, (15), 9 states have call predecessors, (15), 2 states have return successors, (11), 2 states have call predecessors, (11), 1 states have call successors, (11) Word has length 88 [2022-04-08 08:34:01,640 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:34:01,640 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 4.769230769230769) internal successors, (62), 5 states have internal predecessors, (62), 2 states have call successors, (15), 9 states have call predecessors, (15), 2 states have return successors, (11), 2 states have call predecessors, (11), 1 states have call successors, (11) [2022-04-08 08:34:01,641 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 270 transitions. [2022-04-08 08:34:01,641 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 4.769230769230769) internal successors, (62), 5 states have internal predecessors, (62), 2 states have call successors, (15), 9 states have call predecessors, (15), 2 states have return successors, (11), 2 states have call predecessors, (11), 1 states have call successors, (11) [2022-04-08 08:34:01,643 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 270 transitions. [2022-04-08 08:34:01,643 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 270 transitions. [2022-04-08 08:34:01,915 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 270 edges. 270 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:34:01,918 INFO L225 Difference]: With dead ends: 300 [2022-04-08 08:34:01,918 INFO L226 Difference]: Without dead ends: 237 [2022-04-08 08:34:01,918 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 50 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=100, Invalid=362, Unknown=0, NotChecked=0, Total=462 [2022-04-08 08:34:01,919 INFO L913 BasicCegarLoop]: 138 mSDtfsCounter, 247 mSDsluCounter, 280 mSDsCounter, 0 mSdLazyCounter, 938 mSolverCounterSat, 117 mSolverCounterUnsat, 6 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 17.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 252 SdHoareTripleChecker+Valid, 418 SdHoareTripleChecker+Invalid, 1061 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 117 IncrementalHoareTripleChecker+Valid, 938 IncrementalHoareTripleChecker+Invalid, 6 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 18.0s IncrementalHoareTripleChecker+Time [2022-04-08 08:34:01,919 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [252 Valid, 418 Invalid, 1061 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [117 Valid, 938 Invalid, 6 Unknown, 0 Unchecked, 18.0s Time] [2022-04-08 08:34:01,919 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 237 states. [2022-04-08 08:34:02,290 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 237 to 199. [2022-04-08 08:34:02,290 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:34:02,291 INFO L82 GeneralOperation]: Start isEquivalent. First operand 237 states. Second operand has 199 states, 152 states have (on average 1.2236842105263157) internal successors, (186), 155 states have internal predecessors, (186), 23 states have call successors, (23), 21 states have call predecessors, (23), 23 states have return successors, (24), 22 states have call predecessors, (24), 19 states have call successors, (24) [2022-04-08 08:34:02,291 INFO L74 IsIncluded]: Start isIncluded. First operand 237 states. Second operand has 199 states, 152 states have (on average 1.2236842105263157) internal successors, (186), 155 states have internal predecessors, (186), 23 states have call successors, (23), 21 states have call predecessors, (23), 23 states have return successors, (24), 22 states have call predecessors, (24), 19 states have call successors, (24) [2022-04-08 08:34:02,291 INFO L87 Difference]: Start difference. First operand 237 states. Second operand has 199 states, 152 states have (on average 1.2236842105263157) internal successors, (186), 155 states have internal predecessors, (186), 23 states have call successors, (23), 21 states have call predecessors, (23), 23 states have return successors, (24), 22 states have call predecessors, (24), 19 states have call successors, (24) [2022-04-08 08:34:02,294 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:34:02,294 INFO L93 Difference]: Finished difference Result 237 states and 284 transitions. [2022-04-08 08:34:02,294 INFO L276 IsEmpty]: Start isEmpty. Operand 237 states and 284 transitions. [2022-04-08 08:34:02,294 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:34:02,294 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:34:02,294 INFO L74 IsIncluded]: Start isIncluded. First operand has 199 states, 152 states have (on average 1.2236842105263157) internal successors, (186), 155 states have internal predecessors, (186), 23 states have call successors, (23), 21 states have call predecessors, (23), 23 states have return successors, (24), 22 states have call predecessors, (24), 19 states have call successors, (24) Second operand 237 states. [2022-04-08 08:34:02,294 INFO L87 Difference]: Start difference. First operand has 199 states, 152 states have (on average 1.2236842105263157) internal successors, (186), 155 states have internal predecessors, (186), 23 states have call successors, (23), 21 states have call predecessors, (23), 23 states have return successors, (24), 22 states have call predecessors, (24), 19 states have call successors, (24) Second operand 237 states. [2022-04-08 08:34:02,297 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:34:02,297 INFO L93 Difference]: Finished difference Result 237 states and 284 transitions. [2022-04-08 08:34:02,297 INFO L276 IsEmpty]: Start isEmpty. Operand 237 states and 284 transitions. [2022-04-08 08:34:02,297 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:34:02,297 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:34:02,297 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:34:02,297 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:34:02,298 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 199 states, 152 states have (on average 1.2236842105263157) internal successors, (186), 155 states have internal predecessors, (186), 23 states have call successors, (23), 21 states have call predecessors, (23), 23 states have return successors, (24), 22 states have call predecessors, (24), 19 states have call successors, (24) [2022-04-08 08:34:02,300 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 199 states to 199 states and 233 transitions. [2022-04-08 08:34:02,300 INFO L78 Accepts]: Start accepts. Automaton has 199 states and 233 transitions. Word has length 88 [2022-04-08 08:34:02,300 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:34:02,300 INFO L478 AbstractCegarLoop]: Abstraction has 199 states and 233 transitions. [2022-04-08 08:34:02,300 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 4.769230769230769) internal successors, (62), 5 states have internal predecessors, (62), 2 states have call successors, (15), 9 states have call predecessors, (15), 2 states have return successors, (11), 2 states have call predecessors, (11), 1 states have call successors, (11) [2022-04-08 08:34:02,300 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 199 states and 233 transitions. [2022-04-08 08:34:02,822 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 233 edges. 233 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:34:02,822 INFO L276 IsEmpty]: Start isEmpty. Operand 199 states and 233 transitions. [2022-04-08 08:34:02,823 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 90 [2022-04-08 08:34:02,823 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:34:02,823 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:34:02,823 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable22 [2022-04-08 08:34:02,823 INFO L403 AbstractCegarLoop]: === Iteration 24 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:34:02,823 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:34:02,823 INFO L85 PathProgramCache]: Analyzing trace with hash -1324935307, now seen corresponding path program 1 times [2022-04-08 08:34:02,823 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:34:02,823 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [918559036] [2022-04-08 08:34:02,823 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 08:34:02,824 INFO L85 PathProgramCache]: Analyzing trace with hash -1324935307, now seen corresponding path program 2 times [2022-04-08 08:34:02,824 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:34:02,824 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [259651096] [2022-04-08 08:34:02,824 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:34:02,824 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:34:02,896 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:02,966 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:34:02,968 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:02,972 INFO L290 TraceCheckUtils]: 0: Hoare triple {55361#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {55305#true} is VALID [2022-04-08 08:34:02,973 INFO L290 TraceCheckUtils]: 1: Hoare triple {55305#true} assume true; {55305#true} is VALID [2022-04-08 08:34:02,973 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {55305#true} {55305#true} #1270#return; {55305#true} is VALID [2022-04-08 08:34:02,997 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:34:02,998 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:03,003 INFO L290 TraceCheckUtils]: 0: Hoare triple {55362#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {55305#true} is VALID [2022-04-08 08:34:03,003 INFO L290 TraceCheckUtils]: 1: Hoare triple {55305#true} assume true; {55305#true} is VALID [2022-04-08 08:34:03,003 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {55305#true} {55305#true} #1216#return; {55305#true} is VALID [2022-04-08 08:34:03,010 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:34:03,016 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:03,023 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:34:03,024 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:03,030 INFO L290 TraceCheckUtils]: 0: Hoare triple {55305#true} ~cond := #in~cond; {55305#true} is VALID [2022-04-08 08:34:03,030 INFO L290 TraceCheckUtils]: 1: Hoare triple {55305#true} assume !(0 == ~cond); {55305#true} is VALID [2022-04-08 08:34:03,030 INFO L290 TraceCheckUtils]: 2: Hoare triple {55305#true} assume true; {55305#true} is VALID [2022-04-08 08:34:03,030 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {55305#true} {55305#true} #1254#return; {55305#true} is VALID [2022-04-08 08:34:03,030 INFO L290 TraceCheckUtils]: 0: Hoare triple {55363#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {55305#true} is VALID [2022-04-08 08:34:03,030 INFO L272 TraceCheckUtils]: 1: Hoare triple {55305#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {55305#true} is VALID [2022-04-08 08:34:03,030 INFO L290 TraceCheckUtils]: 2: Hoare triple {55305#true} ~cond := #in~cond; {55305#true} is VALID [2022-04-08 08:34:03,030 INFO L290 TraceCheckUtils]: 3: Hoare triple {55305#true} assume !(0 == ~cond); {55305#true} is VALID [2022-04-08 08:34:03,030 INFO L290 TraceCheckUtils]: 4: Hoare triple {55305#true} assume true; {55305#true} is VALID [2022-04-08 08:34:03,031 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {55305#true} {55305#true} #1254#return; {55305#true} is VALID [2022-04-08 08:34:03,031 INFO L290 TraceCheckUtils]: 6: Hoare triple {55305#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {55305#true} is VALID [2022-04-08 08:34:03,031 INFO L290 TraceCheckUtils]: 7: Hoare triple {55305#true} assume true; {55305#true} is VALID [2022-04-08 08:34:03,031 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {55305#true} {55305#true} #1218#return; {55305#true} is VALID [2022-04-08 08:34:03,039 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:34:03,044 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:03,049 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:34:03,050 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:03,055 INFO L290 TraceCheckUtils]: 0: Hoare triple {55368#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {55305#true} is VALID [2022-04-08 08:34:03,055 INFO L290 TraceCheckUtils]: 1: Hoare triple {55305#true} assume !(0 == ~__BLAST_NONDET~5); {55305#true} is VALID [2022-04-08 08:34:03,055 INFO L290 TraceCheckUtils]: 2: Hoare triple {55305#true} #res := -1073741823; {55305#true} is VALID [2022-04-08 08:34:03,055 INFO L290 TraceCheckUtils]: 3: Hoare triple {55305#true} assume true; {55305#true} is VALID [2022-04-08 08:34:03,055 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {55305#true} {55305#true} #1176#return; {55305#true} is VALID [2022-04-08 08:34:03,055 INFO L290 TraceCheckUtils]: 0: Hoare triple {55368#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {55305#true} is VALID [2022-04-08 08:34:03,056 INFO L272 TraceCheckUtils]: 1: Hoare triple {55305#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {55368#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:34:03,056 INFO L290 TraceCheckUtils]: 2: Hoare triple {55368#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {55305#true} is VALID [2022-04-08 08:34:03,056 INFO L290 TraceCheckUtils]: 3: Hoare triple {55305#true} assume !(0 == ~__BLAST_NONDET~5); {55305#true} is VALID [2022-04-08 08:34:03,056 INFO L290 TraceCheckUtils]: 4: Hoare triple {55305#true} #res := -1073741823; {55305#true} is VALID [2022-04-08 08:34:03,057 INFO L290 TraceCheckUtils]: 5: Hoare triple {55305#true} assume true; {55305#true} is VALID [2022-04-08 08:34:03,057 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {55305#true} {55305#true} #1176#return; {55305#true} is VALID [2022-04-08 08:34:03,057 INFO L290 TraceCheckUtils]: 7: Hoare triple {55305#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {55305#true} is VALID [2022-04-08 08:34:03,057 INFO L290 TraceCheckUtils]: 8: Hoare triple {55305#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {55305#true} is VALID [2022-04-08 08:34:03,057 INFO L290 TraceCheckUtils]: 9: Hoare triple {55305#true} assume true; {55305#true} is VALID [2022-04-08 08:34:03,058 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {55305#true} {55322#(= ~myStatus~0 (- 1073741637))} #1220#return; {55322#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 08:34:03,069 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 08:34:03,070 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:03,075 INFO L290 TraceCheckUtils]: 0: Hoare triple {55374#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {55305#true} is VALID [2022-04-08 08:34:03,076 INFO L290 TraceCheckUtils]: 1: Hoare triple {55305#true} assume true; {55305#true} is VALID [2022-04-08 08:34:03,076 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {55305#true} {55322#(= ~myStatus~0 (- 1073741637))} #1222#return; {55322#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 08:34:03,076 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 49 [2022-04-08 08:34:03,078 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:03,083 INFO L290 TraceCheckUtils]: 0: Hoare triple {55363#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {55305#true} is VALID [2022-04-08 08:34:03,083 INFO L290 TraceCheckUtils]: 1: Hoare triple {55305#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {55305#true} is VALID [2022-04-08 08:34:03,083 INFO L290 TraceCheckUtils]: 2: Hoare triple {55305#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {55305#true} is VALID [2022-04-08 08:34:03,083 INFO L290 TraceCheckUtils]: 3: Hoare triple {55305#true} assume #res.base == dest.base && #res.offset == dest.offset; {55305#true} is VALID [2022-04-08 08:34:03,084 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {55305#true} {55322#(= ~myStatus~0 (- 1073741637))} #1186#return; {55322#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 08:34:03,091 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 59 [2022-04-08 08:34:03,095 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:03,106 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 08:34:03,108 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:03,112 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:34:03,113 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:03,116 INFO L290 TraceCheckUtils]: 0: Hoare triple {55384#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {55305#true} is VALID [2022-04-08 08:34:03,116 INFO L290 TraceCheckUtils]: 1: Hoare triple {55305#true} assume true; {55305#true} is VALID [2022-04-08 08:34:03,117 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {55305#true} {55305#true} #1174#return; {55305#true} is VALID [2022-04-08 08:34:03,117 INFO L290 TraceCheckUtils]: 0: Hoare triple {55384#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {55305#true} is VALID [2022-04-08 08:34:03,117 INFO L272 TraceCheckUtils]: 1: Hoare triple {55305#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {55384#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:34:03,117 INFO L290 TraceCheckUtils]: 2: Hoare triple {55384#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {55305#true} is VALID [2022-04-08 08:34:03,117 INFO L290 TraceCheckUtils]: 3: Hoare triple {55305#true} assume true; {55305#true} is VALID [2022-04-08 08:34:03,117 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {55305#true} {55305#true} #1174#return; {55305#true} is VALID [2022-04-08 08:34:03,117 INFO L290 TraceCheckUtils]: 5: Hoare triple {55305#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {55305#true} is VALID [2022-04-08 08:34:03,117 INFO L290 TraceCheckUtils]: 6: Hoare triple {55305#true} assume true; {55305#true} is VALID [2022-04-08 08:34:03,117 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {55305#true} {55305#true} #1210#return; {55305#true} is VALID [2022-04-08 08:34:03,118 INFO L290 TraceCheckUtils]: 0: Hoare triple {55375#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {55305#true} is VALID [2022-04-08 08:34:03,118 INFO L290 TraceCheckUtils]: 1: Hoare triple {55305#true} assume 0 != ~compRegistered~0; {55305#true} is VALID [2022-04-08 08:34:03,118 INFO L272 TraceCheckUtils]: 2: Hoare triple {55305#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {55384#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:34:03,118 INFO L290 TraceCheckUtils]: 3: Hoare triple {55384#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {55305#true} is VALID [2022-04-08 08:34:03,119 INFO L272 TraceCheckUtils]: 4: Hoare triple {55305#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {55384#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:34:03,119 INFO L290 TraceCheckUtils]: 5: Hoare triple {55384#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {55305#true} is VALID [2022-04-08 08:34:03,119 INFO L290 TraceCheckUtils]: 6: Hoare triple {55305#true} assume true; {55305#true} is VALID [2022-04-08 08:34:03,119 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {55305#true} {55305#true} #1174#return; {55305#true} is VALID [2022-04-08 08:34:03,119 INFO L290 TraceCheckUtils]: 8: Hoare triple {55305#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {55305#true} is VALID [2022-04-08 08:34:03,119 INFO L290 TraceCheckUtils]: 9: Hoare triple {55305#true} assume true; {55305#true} is VALID [2022-04-08 08:34:03,119 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {55305#true} {55305#true} #1210#return; {55305#true} is VALID [2022-04-08 08:34:03,119 INFO L290 TraceCheckUtils]: 11: Hoare triple {55305#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {55305#true} is VALID [2022-04-08 08:34:03,119 INFO L290 TraceCheckUtils]: 12: Hoare triple {55305#true} assume !(-1073741802 == ~compRetStatus~0); {55305#true} is VALID [2022-04-08 08:34:03,119 INFO L290 TraceCheckUtils]: 13: Hoare triple {55305#true} assume 0 == ~__BLAST_NONDET~11; {55305#true} is VALID [2022-04-08 08:34:03,119 INFO L290 TraceCheckUtils]: 14: Hoare triple {55305#true} ~returnVal2~0 := 0; {55305#true} is VALID [2022-04-08 08:34:03,119 INFO L290 TraceCheckUtils]: 15: Hoare triple {55305#true} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := ~returnVal2~0; {55305#true} is VALID [2022-04-08 08:34:03,119 INFO L290 TraceCheckUtils]: 16: Hoare triple {55305#true} #res := ~returnVal2~0; {55305#true} is VALID [2022-04-08 08:34:03,119 INFO L290 TraceCheckUtils]: 17: Hoare triple {55305#true} assume true; {55305#true} is VALID [2022-04-08 08:34:03,120 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {55305#true} {55322#(= ~myStatus~0 (- 1073741637))} #1192#return; {55322#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 08:34:03,121 INFO L272 TraceCheckUtils]: 0: Hoare triple {55305#true} call ULTIMATE.init(); {55361#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:34:03,121 INFO L290 TraceCheckUtils]: 1: Hoare triple {55361#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {55305#true} is VALID [2022-04-08 08:34:03,121 INFO L290 TraceCheckUtils]: 2: Hoare triple {55305#true} assume true; {55305#true} is VALID [2022-04-08 08:34:03,121 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {55305#true} {55305#true} #1270#return; {55305#true} is VALID [2022-04-08 08:34:03,121 INFO L272 TraceCheckUtils]: 4: Hoare triple {55305#true} call #t~ret213 := main(); {55305#true} is VALID [2022-04-08 08:34:03,121 INFO L290 TraceCheckUtils]: 5: Hoare triple {55305#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {55305#true} is VALID [2022-04-08 08:34:03,122 INFO L272 TraceCheckUtils]: 6: Hoare triple {55305#true} call _BLAST_init(); {55362#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:34:03,122 INFO L290 TraceCheckUtils]: 7: Hoare triple {55362#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {55305#true} is VALID [2022-04-08 08:34:03,122 INFO L290 TraceCheckUtils]: 8: Hoare triple {55305#true} assume true; {55305#true} is VALID [2022-04-08 08:34:03,122 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {55305#true} {55305#true} #1216#return; {55305#true} is VALID [2022-04-08 08:34:03,123 INFO L272 TraceCheckUtils]: 10: Hoare triple {55305#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {55363#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:34:03,123 INFO L290 TraceCheckUtils]: 11: Hoare triple {55363#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {55305#true} is VALID [2022-04-08 08:34:03,123 INFO L272 TraceCheckUtils]: 12: Hoare triple {55305#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {55305#true} is VALID [2022-04-08 08:34:03,123 INFO L290 TraceCheckUtils]: 13: Hoare triple {55305#true} ~cond := #in~cond; {55305#true} is VALID [2022-04-08 08:34:03,123 INFO L290 TraceCheckUtils]: 14: Hoare triple {55305#true} assume !(0 == ~cond); {55305#true} is VALID [2022-04-08 08:34:03,123 INFO L290 TraceCheckUtils]: 15: Hoare triple {55305#true} assume true; {55305#true} is VALID [2022-04-08 08:34:03,123 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {55305#true} {55305#true} #1254#return; {55305#true} is VALID [2022-04-08 08:34:03,123 INFO L290 TraceCheckUtils]: 17: Hoare triple {55305#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {55305#true} is VALID [2022-04-08 08:34:03,123 INFO L290 TraceCheckUtils]: 18: Hoare triple {55305#true} assume true; {55305#true} is VALID [2022-04-08 08:34:03,123 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {55305#true} {55305#true} #1218#return; {55305#true} is VALID [2022-04-08 08:34:03,124 INFO L290 TraceCheckUtils]: 20: Hoare triple {55305#true} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {55305#true} is VALID [2022-04-08 08:34:03,124 INFO L290 TraceCheckUtils]: 21: Hoare triple {55305#true} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {55305#true} is VALID [2022-04-08 08:34:03,124 INFO L290 TraceCheckUtils]: 22: Hoare triple {55305#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {55322#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 08:34:03,125 INFO L272 TraceCheckUtils]: 23: Hoare triple {55322#(= ~myStatus~0 (- 1073741637))} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {55368#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:34:03,125 INFO L290 TraceCheckUtils]: 24: Hoare triple {55368#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {55305#true} is VALID [2022-04-08 08:34:03,126 INFO L272 TraceCheckUtils]: 25: Hoare triple {55305#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {55368#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:34:03,126 INFO L290 TraceCheckUtils]: 26: Hoare triple {55368#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {55305#true} is VALID [2022-04-08 08:34:03,126 INFO L290 TraceCheckUtils]: 27: Hoare triple {55305#true} assume !(0 == ~__BLAST_NONDET~5); {55305#true} is VALID [2022-04-08 08:34:03,126 INFO L290 TraceCheckUtils]: 28: Hoare triple {55305#true} #res := -1073741823; {55305#true} is VALID [2022-04-08 08:34:03,126 INFO L290 TraceCheckUtils]: 29: Hoare triple {55305#true} assume true; {55305#true} is VALID [2022-04-08 08:34:03,126 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {55305#true} {55305#true} #1176#return; {55305#true} is VALID [2022-04-08 08:34:03,126 INFO L290 TraceCheckUtils]: 31: Hoare triple {55305#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {55305#true} is VALID [2022-04-08 08:34:03,126 INFO L290 TraceCheckUtils]: 32: Hoare triple {55305#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {55305#true} is VALID [2022-04-08 08:34:03,126 INFO L290 TraceCheckUtils]: 33: Hoare triple {55305#true} assume true; {55305#true} is VALID [2022-04-08 08:34:03,127 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {55305#true} {55322#(= ~myStatus~0 (- 1073741637))} #1220#return; {55322#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 08:34:03,127 INFO L290 TraceCheckUtils]: 35: Hoare triple {55322#(= ~myStatus~0 (- 1073741637))} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {55322#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 08:34:03,128 INFO L272 TraceCheckUtils]: 36: Hoare triple {55322#(= ~myStatus~0 (- 1073741637))} call stub_driver_init(); {55374#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:34:03,128 INFO L290 TraceCheckUtils]: 37: Hoare triple {55374#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {55305#true} is VALID [2022-04-08 08:34:03,128 INFO L290 TraceCheckUtils]: 38: Hoare triple {55305#true} assume true; {55305#true} is VALID [2022-04-08 08:34:03,128 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {55305#true} {55322#(= ~myStatus~0 (- 1073741637))} #1222#return; {55322#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 08:34:03,128 INFO L290 TraceCheckUtils]: 40: Hoare triple {55322#(= ~myStatus~0 (- 1073741637))} assume !!(~status~5 >= 0); {55322#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 08:34:03,129 INFO L290 TraceCheckUtils]: 41: Hoare triple {55322#(= ~myStatus~0 (- 1073741637))} assume !(0 == ~__BLAST_NONDET~0); {55322#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 08:34:03,129 INFO L290 TraceCheckUtils]: 42: Hoare triple {55322#(= ~myStatus~0 (- 1073741637))} assume !(1 == ~__BLAST_NONDET~0); {55322#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 08:34:03,129 INFO L290 TraceCheckUtils]: 43: Hoare triple {55322#(= ~myStatus~0 (- 1073741637))} assume !(2 == ~__BLAST_NONDET~0); {55322#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 08:34:03,129 INFO L290 TraceCheckUtils]: 44: Hoare triple {55322#(= ~myStatus~0 (- 1073741637))} assume 3 == ~__BLAST_NONDET~0; {55322#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 08:34:03,130 INFO L272 TraceCheckUtils]: 45: Hoare triple {55322#(= ~myStatus~0 (- 1073741637))} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {55322#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 08:34:03,130 INFO L290 TraceCheckUtils]: 46: Hoare triple {55322#(= ~myStatus~0 (- 1073741637))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~devExt~3.base, ~devExt~3.offset;havoc ~irpStack~3.base, ~irpStack~3.offset;havoc ~status~3;call ~#event~1.base, ~#event~1.offset := #Ultimate.allocOnStack(16);havoc ~irpSp~0.base, ~irpSp~0.offset;havoc ~nextIrpSp~0.base, ~nextIrpSp~0.offset;havoc ~irpSp___0~0.base, ~irpSp___0~0.offset;~status~3 := 0;call #t~mem79.base, #t~mem79.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~3.base, ~devExt~3.offset := #t~mem79.base, #t~mem79.offset;havoc #t~mem79.base, #t~mem79.offset;call #t~mem80.base, #t~mem80.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~3.base, ~irpStack~3.offset := #t~mem80.base, #t~mem80.offset;havoc #t~mem80.base, #t~mem80.offset;call #t~mem81 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {55322#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 08:34:03,130 INFO L290 TraceCheckUtils]: 47: Hoare triple {55322#(= ~myStatus~0 (- 1073741637))} assume 0 == #t~mem81 % 256;havoc #t~mem81; {55322#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 08:34:03,130 INFO L290 TraceCheckUtils]: 48: Hoare triple {55322#(= ~myStatus~0 (- 1073741637))} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp~0.base, ~irpSp~0.offset := #t~mem102.base, #t~mem102.offset;havoc #t~mem102.base, #t~mem102.offset;call #t~mem103.base, #t~mem103.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 36;havoc #t~mem103.base, #t~mem103.offset; {55322#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 08:34:03,131 INFO L272 TraceCheckUtils]: 49: Hoare triple {55322#(= ~myStatus~0 (- 1073741637))} call #t~memmove~res104.base, #t~memmove~res104.offset := #Ultimate.C_memmove(~nextIrpSp~0.base, ~nextIrpSp~0.offset, ~irpSp~0.base, ~irpSp~0.offset, 28); {55363#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:34:03,131 INFO L290 TraceCheckUtils]: 50: Hoare triple {55363#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {55305#true} is VALID [2022-04-08 08:34:03,131 INFO L290 TraceCheckUtils]: 51: Hoare triple {55305#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {55305#true} is VALID [2022-04-08 08:34:03,131 INFO L290 TraceCheckUtils]: 52: Hoare triple {55305#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {55305#true} is VALID [2022-04-08 08:34:03,131 INFO L290 TraceCheckUtils]: 53: Hoare triple {55305#true} assume #res.base == dest.base && #res.offset == dest.offset; {55305#true} is VALID [2022-04-08 08:34:03,132 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {55305#true} {55322#(= ~myStatus~0 (- 1073741637))} #1186#return; {55322#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 08:34:03,132 INFO L290 TraceCheckUtils]: 55: Hoare triple {55322#(= ~myStatus~0 (- 1073741637))} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {55322#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 08:34:03,132 INFO L290 TraceCheckUtils]: 56: Hoare triple {55322#(= ~myStatus~0 (- 1073741637))} assume !(~s~0 != ~NP~0); {55322#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 08:34:03,132 INFO L290 TraceCheckUtils]: 57: Hoare triple {55322#(= ~myStatus~0 (- 1073741637))} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {55322#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 08:34:03,133 INFO L290 TraceCheckUtils]: 58: Hoare triple {55322#(= ~myStatus~0 (- 1073741637))} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 36;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 28 + ~irpSp___0~0.offset, 4);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 32 + ~irpSp___0~0.offset, 4);call write~int(0, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(64, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call #t~mem106 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem106 % 256, 128), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem106;call #t~mem107 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem107 % 256, 32), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem107;call #t~mem108.base, #t~mem108.offset := read~$Pointer$(~devExt~3.base, 8 + ~devExt~3.offset, 4); {55322#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 08:34:03,133 INFO L272 TraceCheckUtils]: 59: Hoare triple {55322#(= ~myStatus~0 (- 1073741637))} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {55375#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:34:03,133 INFO L290 TraceCheckUtils]: 60: Hoare triple {55375#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {55305#true} is VALID [2022-04-08 08:34:03,133 INFO L290 TraceCheckUtils]: 61: Hoare triple {55305#true} assume 0 != ~compRegistered~0; {55305#true} is VALID [2022-04-08 08:34:03,134 INFO L272 TraceCheckUtils]: 62: Hoare triple {55305#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {55384#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:34:03,134 INFO L290 TraceCheckUtils]: 63: Hoare triple {55384#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {55305#true} is VALID [2022-04-08 08:34:03,135 INFO L272 TraceCheckUtils]: 64: Hoare triple {55305#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {55384#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:34:03,135 INFO L290 TraceCheckUtils]: 65: Hoare triple {55384#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {55305#true} is VALID [2022-04-08 08:34:03,135 INFO L290 TraceCheckUtils]: 66: Hoare triple {55305#true} assume true; {55305#true} is VALID [2022-04-08 08:34:03,135 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {55305#true} {55305#true} #1174#return; {55305#true} is VALID [2022-04-08 08:34:03,135 INFO L290 TraceCheckUtils]: 68: Hoare triple {55305#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {55305#true} is VALID [2022-04-08 08:34:03,135 INFO L290 TraceCheckUtils]: 69: Hoare triple {55305#true} assume true; {55305#true} is VALID [2022-04-08 08:34:03,135 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {55305#true} {55305#true} #1210#return; {55305#true} is VALID [2022-04-08 08:34:03,135 INFO L290 TraceCheckUtils]: 71: Hoare triple {55305#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {55305#true} is VALID [2022-04-08 08:34:03,135 INFO L290 TraceCheckUtils]: 72: Hoare triple {55305#true} assume !(-1073741802 == ~compRetStatus~0); {55305#true} is VALID [2022-04-08 08:34:03,135 INFO L290 TraceCheckUtils]: 73: Hoare triple {55305#true} assume 0 == ~__BLAST_NONDET~11; {55305#true} is VALID [2022-04-08 08:34:03,135 INFO L290 TraceCheckUtils]: 74: Hoare triple {55305#true} ~returnVal2~0 := 0; {55305#true} is VALID [2022-04-08 08:34:03,135 INFO L290 TraceCheckUtils]: 75: Hoare triple {55305#true} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := ~returnVal2~0; {55305#true} is VALID [2022-04-08 08:34:03,135 INFO L290 TraceCheckUtils]: 76: Hoare triple {55305#true} #res := ~returnVal2~0; {55305#true} is VALID [2022-04-08 08:34:03,135 INFO L290 TraceCheckUtils]: 77: Hoare triple {55305#true} assume true; {55305#true} is VALID [2022-04-08 08:34:03,136 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {55305#true} {55322#(= ~myStatus~0 (- 1073741637))} #1192#return; {55322#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 08:34:03,136 INFO L290 TraceCheckUtils]: 79: Hoare triple {55322#(= ~myStatus~0 (- 1073741637))} assume -2147483648 <= #t~ret109 && #t~ret109 <= 2147483647;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {55322#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 08:34:03,136 INFO L290 TraceCheckUtils]: 80: Hoare triple {55322#(= ~myStatus~0 (- 1073741637))} assume !(259 == ~status~3); {55322#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 08:34:03,136 INFO L290 TraceCheckUtils]: 81: Hoare triple {55322#(= ~myStatus~0 (- 1073741637))} assume ~status~3 >= 0; {55322#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 08:34:03,137 INFO L290 TraceCheckUtils]: 82: Hoare triple {55322#(= ~myStatus~0 (- 1073741637))} assume ~myStatus~0 >= 0;call write~int(1, ~devExt~3.base, 52 + ~devExt~3.offset, 1);call write~int(0, ~devExt~3.base, 54 + ~devExt~3.offset, 1);call write~int(0, ~devExt~3.base, 53 + ~devExt~3.offset, 1); {55306#false} is VALID [2022-04-08 08:34:03,137 INFO L290 TraceCheckUtils]: 83: Hoare triple {55306#false} call write~int(~status~3, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~3;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4); {55306#false} is VALID [2022-04-08 08:34:03,137 INFO L272 TraceCheckUtils]: 84: Hoare triple {55306#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {55306#false} is VALID [2022-04-08 08:34:03,137 INFO L290 TraceCheckUtils]: 85: Hoare triple {55306#false} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {55306#false} is VALID [2022-04-08 08:34:03,137 INFO L290 TraceCheckUtils]: 86: Hoare triple {55306#false} assume !(~s~0 == ~NP~0); {55306#false} is VALID [2022-04-08 08:34:03,137 INFO L272 TraceCheckUtils]: 87: Hoare triple {55306#false} call errorFn(); {55306#false} is VALID [2022-04-08 08:34:03,137 INFO L290 TraceCheckUtils]: 88: Hoare triple {55306#false} assume !false; {55306#false} is VALID [2022-04-08 08:34:03,138 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 08:34:03,138 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:34:03,138 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [259651096] [2022-04-08 08:34:03,138 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [259651096] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:34:03,138 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:34:03,138 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 08:34:03,138 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:34:03,138 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [918559036] [2022-04-08 08:34:03,138 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [918559036] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:34:03,138 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:34:03,138 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 08:34:03,138 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [703962030] [2022-04-08 08:34:03,138 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:34:03,139 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 6.3) internal successors, (63), 3 states have internal predecessors, (63), 3 states have call successors, (15), 10 states have call predecessors, (15), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) Word has length 89 [2022-04-08 08:34:03,140 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:34:03,140 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 6.3) internal successors, (63), 3 states have internal predecessors, (63), 3 states have call successors, (15), 10 states have call predecessors, (15), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-08 08:34:03,201 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:34:03,201 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 08:34:03,201 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:34:03,201 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 08:34:03,201 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-08 08:34:03,201 INFO L87 Difference]: Start difference. First operand 199 states and 233 transitions. Second operand has 10 states, 10 states have (on average 6.3) internal successors, (63), 3 states have internal predecessors, (63), 3 states have call successors, (15), 10 states have call predecessors, (15), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-08 08:34:05,300 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:34:11,799 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:34:11,799 INFO L93 Difference]: Finished difference Result 437 states and 522 transitions. [2022-04-08 08:34:11,799 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-08 08:34:11,799 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 6.3) internal successors, (63), 3 states have internal predecessors, (63), 3 states have call successors, (15), 10 states have call predecessors, (15), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) Word has length 89 [2022-04-08 08:34:11,799 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:34:11,799 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 6.3) internal successors, (63), 3 states have internal predecessors, (63), 3 states have call successors, (15), 10 states have call predecessors, (15), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-08 08:34:11,801 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 383 transitions. [2022-04-08 08:34:11,801 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 6.3) internal successors, (63), 3 states have internal predecessors, (63), 3 states have call successors, (15), 10 states have call predecessors, (15), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-08 08:34:11,803 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 383 transitions. [2022-04-08 08:34:11,803 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 383 transitions. [2022-04-08 08:34:12,312 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 383 edges. 383 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:34:12,324 INFO L225 Difference]: With dead ends: 437 [2022-04-08 08:34:12,324 INFO L226 Difference]: Without dead ends: 408 [2022-04-08 08:34:12,324 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 41 GetRequests, 23 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 43 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=109, Invalid=233, Unknown=0, NotChecked=0, Total=342 [2022-04-08 08:34:12,325 INFO L913 BasicCegarLoop]: 144 mSDtfsCounter, 690 mSDsluCounter, 138 mSDsCounter, 0 mSdLazyCounter, 368 mSolverCounterSat, 376 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 696 SdHoareTripleChecker+Valid, 282 SdHoareTripleChecker+Invalid, 745 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 376 IncrementalHoareTripleChecker+Valid, 368 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.2s IncrementalHoareTripleChecker+Time [2022-04-08 08:34:12,325 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [696 Valid, 282 Invalid, 745 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [376 Valid, 368 Invalid, 1 Unknown, 0 Unchecked, 4.2s Time] [2022-04-08 08:34:12,325 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 408 states. [2022-04-08 08:34:13,018 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 408 to 345. [2022-04-08 08:34:13,018 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:34:13,019 INFO L82 GeneralOperation]: Start isEquivalent. First operand 408 states. Second operand has 345 states, 268 states have (on average 1.2350746268656716) internal successors, (331), 272 states have internal predecessors, (331), 36 states have call successors, (36), 34 states have call predecessors, (36), 40 states have return successors, (42), 38 states have call predecessors, (42), 32 states have call successors, (42) [2022-04-08 08:34:13,019 INFO L74 IsIncluded]: Start isIncluded. First operand 408 states. Second operand has 345 states, 268 states have (on average 1.2350746268656716) internal successors, (331), 272 states have internal predecessors, (331), 36 states have call successors, (36), 34 states have call predecessors, (36), 40 states have return successors, (42), 38 states have call predecessors, (42), 32 states have call successors, (42) [2022-04-08 08:34:13,020 INFO L87 Difference]: Start difference. First operand 408 states. Second operand has 345 states, 268 states have (on average 1.2350746268656716) internal successors, (331), 272 states have internal predecessors, (331), 36 states have call successors, (36), 34 states have call predecessors, (36), 40 states have return successors, (42), 38 states have call predecessors, (42), 32 states have call successors, (42) [2022-04-08 08:34:13,030 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:34:13,030 INFO L93 Difference]: Finished difference Result 408 states and 489 transitions. [2022-04-08 08:34:13,031 INFO L276 IsEmpty]: Start isEmpty. Operand 408 states and 489 transitions. [2022-04-08 08:34:13,031 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:34:13,031 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:34:13,031 INFO L74 IsIncluded]: Start isIncluded. First operand has 345 states, 268 states have (on average 1.2350746268656716) internal successors, (331), 272 states have internal predecessors, (331), 36 states have call successors, (36), 34 states have call predecessors, (36), 40 states have return successors, (42), 38 states have call predecessors, (42), 32 states have call successors, (42) Second operand 408 states. [2022-04-08 08:34:13,048 INFO L87 Difference]: Start difference. First operand has 345 states, 268 states have (on average 1.2350746268656716) internal successors, (331), 272 states have internal predecessors, (331), 36 states have call successors, (36), 34 states have call predecessors, (36), 40 states have return successors, (42), 38 states have call predecessors, (42), 32 states have call successors, (42) Second operand 408 states. [2022-04-08 08:34:13,058 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:34:13,058 INFO L93 Difference]: Finished difference Result 408 states and 489 transitions. [2022-04-08 08:34:13,058 INFO L276 IsEmpty]: Start isEmpty. Operand 408 states and 489 transitions. [2022-04-08 08:34:13,059 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:34:13,059 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:34:13,059 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:34:13,059 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:34:13,060 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 345 states, 268 states have (on average 1.2350746268656716) internal successors, (331), 272 states have internal predecessors, (331), 36 states have call successors, (36), 34 states have call predecessors, (36), 40 states have return successors, (42), 38 states have call predecessors, (42), 32 states have call successors, (42) [2022-04-08 08:34:13,068 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 345 states to 345 states and 409 transitions. [2022-04-08 08:34:13,068 INFO L78 Accepts]: Start accepts. Automaton has 345 states and 409 transitions. Word has length 89 [2022-04-08 08:34:13,069 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:34:13,069 INFO L478 AbstractCegarLoop]: Abstraction has 345 states and 409 transitions. [2022-04-08 08:34:13,069 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 6.3) internal successors, (63), 3 states have internal predecessors, (63), 3 states have call successors, (15), 10 states have call predecessors, (15), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-08 08:34:13,069 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 345 states and 409 transitions. [2022-04-08 08:34:14,096 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 409 edges. 409 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:34:14,096 INFO L276 IsEmpty]: Start isEmpty. Operand 345 states and 409 transitions. [2022-04-08 08:34:14,097 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 90 [2022-04-08 08:34:14,097 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:34:14,097 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:34:14,097 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable23 [2022-04-08 08:34:14,097 INFO L403 AbstractCegarLoop]: === Iteration 25 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:34:14,097 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:34:14,097 INFO L85 PathProgramCache]: Analyzing trace with hash 450072055, now seen corresponding path program 1 times [2022-04-08 08:34:14,097 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:34:14,097 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1602563625] [2022-04-08 08:34:14,098 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 08:34:14,098 INFO L85 PathProgramCache]: Analyzing trace with hash 450072055, now seen corresponding path program 2 times [2022-04-08 08:34:14,098 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:34:14,098 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [265359863] [2022-04-08 08:34:14,098 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:34:14,098 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:34:14,169 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:14,253 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:34:14,254 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:14,259 INFO L290 TraceCheckUtils]: 0: Hoare triple {57851#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {57794#true} is VALID [2022-04-08 08:34:14,260 INFO L290 TraceCheckUtils]: 1: Hoare triple {57794#true} assume true; {57794#true} is VALID [2022-04-08 08:34:14,260 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {57794#true} {57794#true} #1270#return; {57794#true} is VALID [2022-04-08 08:34:14,284 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:34:14,285 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:14,291 INFO L290 TraceCheckUtils]: 0: Hoare triple {57852#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {57794#true} is VALID [2022-04-08 08:34:14,291 INFO L290 TraceCheckUtils]: 1: Hoare triple {57794#true} assume true; {57794#true} is VALID [2022-04-08 08:34:14,291 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {57794#true} {57794#true} #1216#return; {57794#true} is VALID [2022-04-08 08:34:14,299 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:34:14,305 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:14,311 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:34:14,312 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:14,316 INFO L290 TraceCheckUtils]: 0: Hoare triple {57794#true} ~cond := #in~cond; {57794#true} is VALID [2022-04-08 08:34:14,316 INFO L290 TraceCheckUtils]: 1: Hoare triple {57794#true} assume !(0 == ~cond); {57794#true} is VALID [2022-04-08 08:34:14,316 INFO L290 TraceCheckUtils]: 2: Hoare triple {57794#true} assume true; {57794#true} is VALID [2022-04-08 08:34:14,316 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {57794#true} {57794#true} #1254#return; {57794#true} is VALID [2022-04-08 08:34:14,316 INFO L290 TraceCheckUtils]: 0: Hoare triple {57853#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {57794#true} is VALID [2022-04-08 08:34:14,316 INFO L272 TraceCheckUtils]: 1: Hoare triple {57794#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {57794#true} is VALID [2022-04-08 08:34:14,316 INFO L290 TraceCheckUtils]: 2: Hoare triple {57794#true} ~cond := #in~cond; {57794#true} is VALID [2022-04-08 08:34:14,316 INFO L290 TraceCheckUtils]: 3: Hoare triple {57794#true} assume !(0 == ~cond); {57794#true} is VALID [2022-04-08 08:34:14,316 INFO L290 TraceCheckUtils]: 4: Hoare triple {57794#true} assume true; {57794#true} is VALID [2022-04-08 08:34:14,316 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {57794#true} {57794#true} #1254#return; {57794#true} is VALID [2022-04-08 08:34:14,316 INFO L290 TraceCheckUtils]: 6: Hoare triple {57794#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {57794#true} is VALID [2022-04-08 08:34:14,316 INFO L290 TraceCheckUtils]: 7: Hoare triple {57794#true} assume true; {57794#true} is VALID [2022-04-08 08:34:14,317 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {57794#true} {57794#true} #1218#return; {57794#true} is VALID [2022-04-08 08:34:14,327 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:34:14,332 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:14,353 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:34:14,356 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:14,361 INFO L290 TraceCheckUtils]: 0: Hoare triple {57858#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {57794#true} is VALID [2022-04-08 08:34:14,361 INFO L290 TraceCheckUtils]: 1: Hoare triple {57794#true} assume !(0 == ~__BLAST_NONDET~5); {57794#true} is VALID [2022-04-08 08:34:14,361 INFO L290 TraceCheckUtils]: 2: Hoare triple {57794#true} #res := -1073741823; {57794#true} is VALID [2022-04-08 08:34:14,362 INFO L290 TraceCheckUtils]: 3: Hoare triple {57794#true} assume true; {57794#true} is VALID [2022-04-08 08:34:14,362 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {57794#true} {57794#true} #1176#return; {57794#true} is VALID [2022-04-08 08:34:14,362 INFO L290 TraceCheckUtils]: 0: Hoare triple {57858#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {57794#true} is VALID [2022-04-08 08:34:14,364 INFO L272 TraceCheckUtils]: 1: Hoare triple {57794#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {57858#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:34:14,364 INFO L290 TraceCheckUtils]: 2: Hoare triple {57858#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {57794#true} is VALID [2022-04-08 08:34:14,364 INFO L290 TraceCheckUtils]: 3: Hoare triple {57794#true} assume !(0 == ~__BLAST_NONDET~5); {57794#true} is VALID [2022-04-08 08:34:14,364 INFO L290 TraceCheckUtils]: 4: Hoare triple {57794#true} #res := -1073741823; {57794#true} is VALID [2022-04-08 08:34:14,364 INFO L290 TraceCheckUtils]: 5: Hoare triple {57794#true} assume true; {57794#true} is VALID [2022-04-08 08:34:14,364 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {57794#true} {57794#true} #1176#return; {57794#true} is VALID [2022-04-08 08:34:14,364 INFO L290 TraceCheckUtils]: 7: Hoare triple {57794#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {57794#true} is VALID [2022-04-08 08:34:14,364 INFO L290 TraceCheckUtils]: 8: Hoare triple {57794#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {57864#(<= (+ |KbFilter_AddDevice_#res| 1) 0)} is VALID [2022-04-08 08:34:14,365 INFO L290 TraceCheckUtils]: 9: Hoare triple {57864#(<= (+ |KbFilter_AddDevice_#res| 1) 0)} assume true; {57864#(<= (+ |KbFilter_AddDevice_#res| 1) 0)} is VALID [2022-04-08 08:34:14,365 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {57864#(<= (+ |KbFilter_AddDevice_#res| 1) 0)} {57794#true} #1220#return; {57822#(<= (+ 1 |main_#t~ret170|) 0)} is VALID [2022-04-08 08:34:14,381 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 08:34:14,382 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:14,387 INFO L290 TraceCheckUtils]: 0: Hoare triple {57865#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {57794#true} is VALID [2022-04-08 08:34:14,387 INFO L290 TraceCheckUtils]: 1: Hoare triple {57794#true} assume true; {57794#true} is VALID [2022-04-08 08:34:14,387 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {57794#true} {57823#(<= (+ main_~status~5 1) 0)} #1222#return; {57823#(<= (+ main_~status~5 1) 0)} is VALID [2022-04-08 08:34:14,387 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 49 [2022-04-08 08:34:14,389 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:14,393 INFO L290 TraceCheckUtils]: 0: Hoare triple {57853#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {57794#true} is VALID [2022-04-08 08:34:14,393 INFO L290 TraceCheckUtils]: 1: Hoare triple {57794#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {57794#true} is VALID [2022-04-08 08:34:14,393 INFO L290 TraceCheckUtils]: 2: Hoare triple {57794#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {57794#true} is VALID [2022-04-08 08:34:14,393 INFO L290 TraceCheckUtils]: 3: Hoare triple {57794#true} assume #res.base == dest.base && #res.offset == dest.offset; {57794#true} is VALID [2022-04-08 08:34:14,393 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {57794#true} {57795#false} #1186#return; {57795#false} is VALID [2022-04-08 08:34:14,403 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 59 [2022-04-08 08:34:14,406 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:14,418 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 08:34:14,420 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:14,424 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:34:14,426 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:14,429 INFO L290 TraceCheckUtils]: 0: Hoare triple {57875#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {57794#true} is VALID [2022-04-08 08:34:14,429 INFO L290 TraceCheckUtils]: 1: Hoare triple {57794#true} assume true; {57794#true} is VALID [2022-04-08 08:34:14,430 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {57794#true} {57794#true} #1174#return; {57794#true} is VALID [2022-04-08 08:34:14,430 INFO L290 TraceCheckUtils]: 0: Hoare triple {57875#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {57794#true} is VALID [2022-04-08 08:34:14,430 INFO L272 TraceCheckUtils]: 1: Hoare triple {57794#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {57875#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:34:14,430 INFO L290 TraceCheckUtils]: 2: Hoare triple {57875#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {57794#true} is VALID [2022-04-08 08:34:14,430 INFO L290 TraceCheckUtils]: 3: Hoare triple {57794#true} assume true; {57794#true} is VALID [2022-04-08 08:34:14,430 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {57794#true} {57794#true} #1174#return; {57794#true} is VALID [2022-04-08 08:34:14,430 INFO L290 TraceCheckUtils]: 5: Hoare triple {57794#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {57794#true} is VALID [2022-04-08 08:34:14,430 INFO L290 TraceCheckUtils]: 6: Hoare triple {57794#true} assume true; {57794#true} is VALID [2022-04-08 08:34:14,431 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {57794#true} {57794#true} #1210#return; {57794#true} is VALID [2022-04-08 08:34:14,431 INFO L290 TraceCheckUtils]: 0: Hoare triple {57866#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {57794#true} is VALID [2022-04-08 08:34:14,431 INFO L290 TraceCheckUtils]: 1: Hoare triple {57794#true} assume 0 != ~compRegistered~0; {57794#true} is VALID [2022-04-08 08:34:14,431 INFO L272 TraceCheckUtils]: 2: Hoare triple {57794#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {57875#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:34:14,432 INFO L290 TraceCheckUtils]: 3: Hoare triple {57875#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {57794#true} is VALID [2022-04-08 08:34:14,432 INFO L272 TraceCheckUtils]: 4: Hoare triple {57794#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {57875#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:34:14,432 INFO L290 TraceCheckUtils]: 5: Hoare triple {57875#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {57794#true} is VALID [2022-04-08 08:34:14,432 INFO L290 TraceCheckUtils]: 6: Hoare triple {57794#true} assume true; {57794#true} is VALID [2022-04-08 08:34:14,432 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {57794#true} {57794#true} #1174#return; {57794#true} is VALID [2022-04-08 08:34:14,432 INFO L290 TraceCheckUtils]: 8: Hoare triple {57794#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {57794#true} is VALID [2022-04-08 08:34:14,432 INFO L290 TraceCheckUtils]: 9: Hoare triple {57794#true} assume true; {57794#true} is VALID [2022-04-08 08:34:14,432 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {57794#true} {57794#true} #1210#return; {57794#true} is VALID [2022-04-08 08:34:14,432 INFO L290 TraceCheckUtils]: 11: Hoare triple {57794#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {57794#true} is VALID [2022-04-08 08:34:14,432 INFO L290 TraceCheckUtils]: 12: Hoare triple {57794#true} assume !(-1073741802 == ~compRetStatus~0); {57794#true} is VALID [2022-04-08 08:34:14,433 INFO L290 TraceCheckUtils]: 13: Hoare triple {57794#true} assume 0 == ~__BLAST_NONDET~11; {57794#true} is VALID [2022-04-08 08:34:14,433 INFO L290 TraceCheckUtils]: 14: Hoare triple {57794#true} ~returnVal2~0 := 0; {57794#true} is VALID [2022-04-08 08:34:14,433 INFO L290 TraceCheckUtils]: 15: Hoare triple {57794#true} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := ~returnVal2~0; {57794#true} is VALID [2022-04-08 08:34:14,433 INFO L290 TraceCheckUtils]: 16: Hoare triple {57794#true} #res := ~returnVal2~0; {57794#true} is VALID [2022-04-08 08:34:14,433 INFO L290 TraceCheckUtils]: 17: Hoare triple {57794#true} assume true; {57794#true} is VALID [2022-04-08 08:34:14,433 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {57794#true} {57795#false} #1192#return; {57795#false} is VALID [2022-04-08 08:34:14,434 INFO L272 TraceCheckUtils]: 0: Hoare triple {57794#true} call ULTIMATE.init(); {57851#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:34:14,434 INFO L290 TraceCheckUtils]: 1: Hoare triple {57851#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {57794#true} is VALID [2022-04-08 08:34:14,434 INFO L290 TraceCheckUtils]: 2: Hoare triple {57794#true} assume true; {57794#true} is VALID [2022-04-08 08:34:14,434 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {57794#true} {57794#true} #1270#return; {57794#true} is VALID [2022-04-08 08:34:14,434 INFO L272 TraceCheckUtils]: 4: Hoare triple {57794#true} call #t~ret213 := main(); {57794#true} is VALID [2022-04-08 08:34:14,434 INFO L290 TraceCheckUtils]: 5: Hoare triple {57794#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {57794#true} is VALID [2022-04-08 08:34:14,435 INFO L272 TraceCheckUtils]: 6: Hoare triple {57794#true} call _BLAST_init(); {57852#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:34:14,435 INFO L290 TraceCheckUtils]: 7: Hoare triple {57852#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {57794#true} is VALID [2022-04-08 08:34:14,435 INFO L290 TraceCheckUtils]: 8: Hoare triple {57794#true} assume true; {57794#true} is VALID [2022-04-08 08:34:14,435 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {57794#true} {57794#true} #1216#return; {57794#true} is VALID [2022-04-08 08:34:14,436 INFO L272 TraceCheckUtils]: 10: Hoare triple {57794#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {57853#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:34:14,436 INFO L290 TraceCheckUtils]: 11: Hoare triple {57853#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {57794#true} is VALID [2022-04-08 08:34:14,436 INFO L272 TraceCheckUtils]: 12: Hoare triple {57794#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {57794#true} is VALID [2022-04-08 08:34:14,436 INFO L290 TraceCheckUtils]: 13: Hoare triple {57794#true} ~cond := #in~cond; {57794#true} is VALID [2022-04-08 08:34:14,436 INFO L290 TraceCheckUtils]: 14: Hoare triple {57794#true} assume !(0 == ~cond); {57794#true} is VALID [2022-04-08 08:34:14,436 INFO L290 TraceCheckUtils]: 15: Hoare triple {57794#true} assume true; {57794#true} is VALID [2022-04-08 08:34:14,436 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {57794#true} {57794#true} #1254#return; {57794#true} is VALID [2022-04-08 08:34:14,436 INFO L290 TraceCheckUtils]: 17: Hoare triple {57794#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {57794#true} is VALID [2022-04-08 08:34:14,436 INFO L290 TraceCheckUtils]: 18: Hoare triple {57794#true} assume true; {57794#true} is VALID [2022-04-08 08:34:14,436 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {57794#true} {57794#true} #1218#return; {57794#true} is VALID [2022-04-08 08:34:14,436 INFO L290 TraceCheckUtils]: 20: Hoare triple {57794#true} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {57794#true} is VALID [2022-04-08 08:34:14,436 INFO L290 TraceCheckUtils]: 21: Hoare triple {57794#true} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {57794#true} is VALID [2022-04-08 08:34:14,437 INFO L290 TraceCheckUtils]: 22: Hoare triple {57794#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {57794#true} is VALID [2022-04-08 08:34:14,437 INFO L272 TraceCheckUtils]: 23: Hoare triple {57794#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {57858#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:34:14,437 INFO L290 TraceCheckUtils]: 24: Hoare triple {57858#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {57794#true} is VALID [2022-04-08 08:34:14,438 INFO L272 TraceCheckUtils]: 25: Hoare triple {57794#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {57858#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:34:14,438 INFO L290 TraceCheckUtils]: 26: Hoare triple {57858#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {57794#true} is VALID [2022-04-08 08:34:14,439 INFO L290 TraceCheckUtils]: 27: Hoare triple {57794#true} assume !(0 == ~__BLAST_NONDET~5); {57794#true} is VALID [2022-04-08 08:34:14,439 INFO L290 TraceCheckUtils]: 28: Hoare triple {57794#true} #res := -1073741823; {57794#true} is VALID [2022-04-08 08:34:14,439 INFO L290 TraceCheckUtils]: 29: Hoare triple {57794#true} assume true; {57794#true} is VALID [2022-04-08 08:34:14,439 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {57794#true} {57794#true} #1176#return; {57794#true} is VALID [2022-04-08 08:34:14,439 INFO L290 TraceCheckUtils]: 31: Hoare triple {57794#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {57794#true} is VALID [2022-04-08 08:34:14,439 INFO L290 TraceCheckUtils]: 32: Hoare triple {57794#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {57864#(<= (+ |KbFilter_AddDevice_#res| 1) 0)} is VALID [2022-04-08 08:34:14,439 INFO L290 TraceCheckUtils]: 33: Hoare triple {57864#(<= (+ |KbFilter_AddDevice_#res| 1) 0)} assume true; {57864#(<= (+ |KbFilter_AddDevice_#res| 1) 0)} is VALID [2022-04-08 08:34:14,440 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {57864#(<= (+ |KbFilter_AddDevice_#res| 1) 0)} {57794#true} #1220#return; {57822#(<= (+ 1 |main_#t~ret170|) 0)} is VALID [2022-04-08 08:34:14,440 INFO L290 TraceCheckUtils]: 35: Hoare triple {57822#(<= (+ 1 |main_#t~ret170|) 0)} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {57823#(<= (+ main_~status~5 1) 0)} is VALID [2022-04-08 08:34:14,441 INFO L272 TraceCheckUtils]: 36: Hoare triple {57823#(<= (+ main_~status~5 1) 0)} call stub_driver_init(); {57865#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:34:14,441 INFO L290 TraceCheckUtils]: 37: Hoare triple {57865#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {57794#true} is VALID [2022-04-08 08:34:14,441 INFO L290 TraceCheckUtils]: 38: Hoare triple {57794#true} assume true; {57794#true} is VALID [2022-04-08 08:34:14,441 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {57794#true} {57823#(<= (+ main_~status~5 1) 0)} #1222#return; {57823#(<= (+ main_~status~5 1) 0)} is VALID [2022-04-08 08:34:14,442 INFO L290 TraceCheckUtils]: 40: Hoare triple {57823#(<= (+ main_~status~5 1) 0)} assume !!(~status~5 >= 0); {57795#false} is VALID [2022-04-08 08:34:14,442 INFO L290 TraceCheckUtils]: 41: Hoare triple {57795#false} assume !(0 == ~__BLAST_NONDET~0); {57795#false} is VALID [2022-04-08 08:34:14,442 INFO L290 TraceCheckUtils]: 42: Hoare triple {57795#false} assume !(1 == ~__BLAST_NONDET~0); {57795#false} is VALID [2022-04-08 08:34:14,442 INFO L290 TraceCheckUtils]: 43: Hoare triple {57795#false} assume !(2 == ~__BLAST_NONDET~0); {57795#false} is VALID [2022-04-08 08:34:14,442 INFO L290 TraceCheckUtils]: 44: Hoare triple {57795#false} assume 3 == ~__BLAST_NONDET~0; {57795#false} is VALID [2022-04-08 08:34:14,442 INFO L272 TraceCheckUtils]: 45: Hoare triple {57795#false} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {57795#false} is VALID [2022-04-08 08:34:14,442 INFO L290 TraceCheckUtils]: 46: Hoare triple {57795#false} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~devExt~3.base, ~devExt~3.offset;havoc ~irpStack~3.base, ~irpStack~3.offset;havoc ~status~3;call ~#event~1.base, ~#event~1.offset := #Ultimate.allocOnStack(16);havoc ~irpSp~0.base, ~irpSp~0.offset;havoc ~nextIrpSp~0.base, ~nextIrpSp~0.offset;havoc ~irpSp___0~0.base, ~irpSp___0~0.offset;~status~3 := 0;call #t~mem79.base, #t~mem79.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~3.base, ~devExt~3.offset := #t~mem79.base, #t~mem79.offset;havoc #t~mem79.base, #t~mem79.offset;call #t~mem80.base, #t~mem80.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~3.base, ~irpStack~3.offset := #t~mem80.base, #t~mem80.offset;havoc #t~mem80.base, #t~mem80.offset;call #t~mem81 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {57795#false} is VALID [2022-04-08 08:34:14,442 INFO L290 TraceCheckUtils]: 47: Hoare triple {57795#false} assume 0 == #t~mem81 % 256;havoc #t~mem81; {57795#false} is VALID [2022-04-08 08:34:14,442 INFO L290 TraceCheckUtils]: 48: Hoare triple {57795#false} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp~0.base, ~irpSp~0.offset := #t~mem102.base, #t~mem102.offset;havoc #t~mem102.base, #t~mem102.offset;call #t~mem103.base, #t~mem103.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 36;havoc #t~mem103.base, #t~mem103.offset; {57795#false} is VALID [2022-04-08 08:34:14,442 INFO L272 TraceCheckUtils]: 49: Hoare triple {57795#false} call #t~memmove~res104.base, #t~memmove~res104.offset := #Ultimate.C_memmove(~nextIrpSp~0.base, ~nextIrpSp~0.offset, ~irpSp~0.base, ~irpSp~0.offset, 28); {57853#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:34:14,442 INFO L290 TraceCheckUtils]: 50: Hoare triple {57853#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {57794#true} is VALID [2022-04-08 08:34:14,442 INFO L290 TraceCheckUtils]: 51: Hoare triple {57794#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {57794#true} is VALID [2022-04-08 08:34:14,442 INFO L290 TraceCheckUtils]: 52: Hoare triple {57794#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {57794#true} is VALID [2022-04-08 08:34:14,442 INFO L290 TraceCheckUtils]: 53: Hoare triple {57794#true} assume #res.base == dest.base && #res.offset == dest.offset; {57794#true} is VALID [2022-04-08 08:34:14,442 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {57794#true} {57795#false} #1186#return; {57795#false} is VALID [2022-04-08 08:34:14,442 INFO L290 TraceCheckUtils]: 55: Hoare triple {57795#false} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {57795#false} is VALID [2022-04-08 08:34:14,443 INFO L290 TraceCheckUtils]: 56: Hoare triple {57795#false} assume !(~s~0 != ~NP~0); {57795#false} is VALID [2022-04-08 08:34:14,443 INFO L290 TraceCheckUtils]: 57: Hoare triple {57795#false} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {57795#false} is VALID [2022-04-08 08:34:14,443 INFO L290 TraceCheckUtils]: 58: Hoare triple {57795#false} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 36;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 28 + ~irpSp___0~0.offset, 4);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 32 + ~irpSp___0~0.offset, 4);call write~int(0, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(64, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call #t~mem106 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem106 % 256, 128), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem106;call #t~mem107 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem107 % 256, 32), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem107;call #t~mem108.base, #t~mem108.offset := read~$Pointer$(~devExt~3.base, 8 + ~devExt~3.offset, 4); {57795#false} is VALID [2022-04-08 08:34:14,443 INFO L272 TraceCheckUtils]: 59: Hoare triple {57795#false} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {57866#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:34:14,443 INFO L290 TraceCheckUtils]: 60: Hoare triple {57866#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {57794#true} is VALID [2022-04-08 08:34:14,443 INFO L290 TraceCheckUtils]: 61: Hoare triple {57794#true} assume 0 != ~compRegistered~0; {57794#true} is VALID [2022-04-08 08:34:14,444 INFO L272 TraceCheckUtils]: 62: Hoare triple {57794#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {57875#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:34:14,444 INFO L290 TraceCheckUtils]: 63: Hoare triple {57875#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {57794#true} is VALID [2022-04-08 08:34:14,444 INFO L272 TraceCheckUtils]: 64: Hoare triple {57794#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {57875#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:34:14,444 INFO L290 TraceCheckUtils]: 65: Hoare triple {57875#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {57794#true} is VALID [2022-04-08 08:34:14,444 INFO L290 TraceCheckUtils]: 66: Hoare triple {57794#true} assume true; {57794#true} is VALID [2022-04-08 08:34:14,444 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {57794#true} {57794#true} #1174#return; {57794#true} is VALID [2022-04-08 08:34:14,444 INFO L290 TraceCheckUtils]: 68: Hoare triple {57794#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {57794#true} is VALID [2022-04-08 08:34:14,444 INFO L290 TraceCheckUtils]: 69: Hoare triple {57794#true} assume true; {57794#true} is VALID [2022-04-08 08:34:14,444 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {57794#true} {57794#true} #1210#return; {57794#true} is VALID [2022-04-08 08:34:14,445 INFO L290 TraceCheckUtils]: 71: Hoare triple {57794#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {57794#true} is VALID [2022-04-08 08:34:14,445 INFO L290 TraceCheckUtils]: 72: Hoare triple {57794#true} assume !(-1073741802 == ~compRetStatus~0); {57794#true} is VALID [2022-04-08 08:34:14,445 INFO L290 TraceCheckUtils]: 73: Hoare triple {57794#true} assume 0 == ~__BLAST_NONDET~11; {57794#true} is VALID [2022-04-08 08:34:14,445 INFO L290 TraceCheckUtils]: 74: Hoare triple {57794#true} ~returnVal2~0 := 0; {57794#true} is VALID [2022-04-08 08:34:14,445 INFO L290 TraceCheckUtils]: 75: Hoare triple {57794#true} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := ~returnVal2~0; {57794#true} is VALID [2022-04-08 08:34:14,445 INFO L290 TraceCheckUtils]: 76: Hoare triple {57794#true} #res := ~returnVal2~0; {57794#true} is VALID [2022-04-08 08:34:14,445 INFO L290 TraceCheckUtils]: 77: Hoare triple {57794#true} assume true; {57794#true} is VALID [2022-04-08 08:34:14,445 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {57794#true} {57795#false} #1192#return; {57795#false} is VALID [2022-04-08 08:34:14,445 INFO L290 TraceCheckUtils]: 79: Hoare triple {57795#false} assume -2147483648 <= #t~ret109 && #t~ret109 <= 2147483647;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {57795#false} is VALID [2022-04-08 08:34:14,445 INFO L290 TraceCheckUtils]: 80: Hoare triple {57795#false} assume !(259 == ~status~3); {57795#false} is VALID [2022-04-08 08:34:14,445 INFO L290 TraceCheckUtils]: 81: Hoare triple {57795#false} assume ~status~3 >= 0; {57795#false} is VALID [2022-04-08 08:34:14,445 INFO L290 TraceCheckUtils]: 82: Hoare triple {57795#false} assume !(~myStatus~0 >= 0); {57795#false} is VALID [2022-04-08 08:34:14,445 INFO L290 TraceCheckUtils]: 83: Hoare triple {57795#false} call write~int(~status~3, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~3;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4); {57795#false} is VALID [2022-04-08 08:34:14,445 INFO L272 TraceCheckUtils]: 84: Hoare triple {57795#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {57795#false} is VALID [2022-04-08 08:34:14,445 INFO L290 TraceCheckUtils]: 85: Hoare triple {57795#false} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {57795#false} is VALID [2022-04-08 08:34:14,445 INFO L290 TraceCheckUtils]: 86: Hoare triple {57795#false} assume !(~s~0 == ~NP~0); {57795#false} is VALID [2022-04-08 08:34:14,445 INFO L272 TraceCheckUtils]: 87: Hoare triple {57795#false} call errorFn(); {57795#false} is VALID [2022-04-08 08:34:14,445 INFO L290 TraceCheckUtils]: 88: Hoare triple {57795#false} assume !false; {57795#false} is VALID [2022-04-08 08:34:14,446 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 08:34:14,446 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:34:14,446 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [265359863] [2022-04-08 08:34:14,446 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [265359863] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:34:14,446 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:34:14,446 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 08:34:14,446 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:34:14,446 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1602563625] [2022-04-08 08:34:14,446 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1602563625] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:34:14,446 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:34:14,446 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 08:34:14,446 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [203765714] [2022-04-08 08:34:14,447 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:34:14,447 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 5.25) internal successors, (63), 4 states have internal predecessors, (63), 3 states have call successors, (15), 9 states have call predecessors, (15), 2 states have return successors, (11), 4 states have call predecessors, (11), 3 states have call successors, (11) Word has length 89 [2022-04-08 08:34:14,447 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:34:14,447 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 5.25) internal successors, (63), 4 states have internal predecessors, (63), 3 states have call successors, (15), 9 states have call predecessors, (15), 2 states have return successors, (11), 4 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-08 08:34:14,519 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:34:14,519 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 08:34:14,519 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:34:14,520 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 08:34:14,520 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=100, Unknown=0, NotChecked=0, Total=132 [2022-04-08 08:34:14,520 INFO L87 Difference]: Start difference. First operand 345 states and 409 transitions. Second operand has 12 states, 12 states have (on average 5.25) internal successors, (63), 4 states have internal predecessors, (63), 3 states have call successors, (15), 9 states have call predecessors, (15), 2 states have return successors, (11), 4 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-08 08:34:16,649 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:34:20,697 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.49s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:34:24,582 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:34:24,582 INFO L93 Difference]: Finished difference Result 657 states and 796 transitions. [2022-04-08 08:34:24,583 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 08:34:24,583 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 5.25) internal successors, (63), 4 states have internal predecessors, (63), 3 states have call successors, (15), 9 states have call predecessors, (15), 2 states have return successors, (11), 4 states have call predecessors, (11), 3 states have call successors, (11) Word has length 89 [2022-04-08 08:34:24,583 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:34:24,583 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 5.25) internal successors, (63), 4 states have internal predecessors, (63), 3 states have call successors, (15), 9 states have call predecessors, (15), 2 states have return successors, (11), 4 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-08 08:34:24,585 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 311 transitions. [2022-04-08 08:34:24,585 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 5.25) internal successors, (63), 4 states have internal predecessors, (63), 3 states have call successors, (15), 9 states have call predecessors, (15), 2 states have return successors, (11), 4 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-08 08:34:24,586 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 311 transitions. [2022-04-08 08:34:24,586 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 311 transitions. [2022-04-08 08:34:24,879 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 311 edges. 311 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:34:24,888 INFO L225 Difference]: With dead ends: 657 [2022-04-08 08:34:24,888 INFO L226 Difference]: Without dead ends: 399 [2022-04-08 08:34:24,889 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=66, Invalid=174, Unknown=0, NotChecked=0, Total=240 [2022-04-08 08:34:24,889 INFO L913 BasicCegarLoop]: 142 mSDtfsCounter, 220 mSDsluCounter, 209 mSDsCounter, 0 mSdLazyCounter, 727 mSolverCounterSat, 109 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 224 SdHoareTripleChecker+Valid, 351 SdHoareTripleChecker+Invalid, 837 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 109 IncrementalHoareTripleChecker+Valid, 727 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.0s IncrementalHoareTripleChecker+Time [2022-04-08 08:34:24,889 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [224 Valid, 351 Invalid, 837 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [109 Valid, 727 Invalid, 1 Unknown, 0 Unchecked, 6.0s Time] [2022-04-08 08:34:24,890 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 399 states. [2022-04-08 08:34:25,501 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 399 to 337. [2022-04-08 08:34:25,502 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:34:25,502 INFO L82 GeneralOperation]: Start isEquivalent. First operand 399 states. Second operand has 337 states, 262 states have (on average 1.2328244274809161) internal successors, (323), 266 states have internal predecessors, (323), 36 states have call successors, (36), 34 states have call predecessors, (36), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) [2022-04-08 08:34:25,502 INFO L74 IsIncluded]: Start isIncluded. First operand 399 states. Second operand has 337 states, 262 states have (on average 1.2328244274809161) internal successors, (323), 266 states have internal predecessors, (323), 36 states have call successors, (36), 34 states have call predecessors, (36), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) [2022-04-08 08:34:25,503 INFO L87 Difference]: Start difference. First operand 399 states. Second operand has 337 states, 262 states have (on average 1.2328244274809161) internal successors, (323), 266 states have internal predecessors, (323), 36 states have call successors, (36), 34 states have call predecessors, (36), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) [2022-04-08 08:34:25,508 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:34:25,508 INFO L93 Difference]: Finished difference Result 399 states and 479 transitions. [2022-04-08 08:34:25,509 INFO L276 IsEmpty]: Start isEmpty. Operand 399 states and 479 transitions. [2022-04-08 08:34:25,509 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:34:25,509 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:34:25,509 INFO L74 IsIncluded]: Start isIncluded. First operand has 337 states, 262 states have (on average 1.2328244274809161) internal successors, (323), 266 states have internal predecessors, (323), 36 states have call successors, (36), 34 states have call predecessors, (36), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) Second operand 399 states. [2022-04-08 08:34:25,510 INFO L87 Difference]: Start difference. First operand has 337 states, 262 states have (on average 1.2328244274809161) internal successors, (323), 266 states have internal predecessors, (323), 36 states have call successors, (36), 34 states have call predecessors, (36), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) Second operand 399 states. [2022-04-08 08:34:25,515 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:34:25,516 INFO L93 Difference]: Finished difference Result 399 states and 479 transitions. [2022-04-08 08:34:25,516 INFO L276 IsEmpty]: Start isEmpty. Operand 399 states and 479 transitions. [2022-04-08 08:34:25,516 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:34:25,516 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:34:25,516 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:34:25,516 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:34:25,517 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 337 states, 262 states have (on average 1.2328244274809161) internal successors, (323), 266 states have internal predecessors, (323), 36 states have call successors, (36), 34 states have call predecessors, (36), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) [2022-04-08 08:34:25,522 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 337 states to 337 states and 399 transitions. [2022-04-08 08:34:25,522 INFO L78 Accepts]: Start accepts. Automaton has 337 states and 399 transitions. Word has length 89 [2022-04-08 08:34:25,522 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:34:25,522 INFO L478 AbstractCegarLoop]: Abstraction has 337 states and 399 transitions. [2022-04-08 08:34:25,522 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 5.25) internal successors, (63), 4 states have internal predecessors, (63), 3 states have call successors, (15), 9 states have call predecessors, (15), 2 states have return successors, (11), 4 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-08 08:34:25,522 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 337 states and 399 transitions. [2022-04-08 08:34:26,389 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 399 edges. 399 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:34:26,389 INFO L276 IsEmpty]: Start isEmpty. Operand 337 states and 399 transitions. [2022-04-08 08:34:26,390 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 103 [2022-04-08 08:34:26,390 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:34:26,390 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:34:26,390 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable24 [2022-04-08 08:34:26,390 INFO L403 AbstractCegarLoop]: === Iteration 26 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:34:26,390 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:34:26,390 INFO L85 PathProgramCache]: Analyzing trace with hash -623916271, now seen corresponding path program 1 times [2022-04-08 08:34:26,390 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:34:26,390 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1045874523] [2022-04-08 08:34:26,391 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 08:34:26,391 INFO L85 PathProgramCache]: Analyzing trace with hash -623916271, now seen corresponding path program 2 times [2022-04-08 08:34:26,391 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:34:26,391 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1548484600] [2022-04-08 08:34:26,391 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:34:26,391 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:34:26,677 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:26,753 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:34:26,754 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:26,760 INFO L290 TraceCheckUtils]: 0: Hoare triple {60745#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {60677#true} is VALID [2022-04-08 08:34:26,760 INFO L290 TraceCheckUtils]: 1: Hoare triple {60677#true} assume true; {60677#true} is VALID [2022-04-08 08:34:26,760 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {60677#true} {60677#true} #1270#return; {60677#true} is VALID [2022-04-08 08:34:26,778 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:34:26,780 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:26,794 INFO L290 TraceCheckUtils]: 0: Hoare triple {60746#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {60677#true} is VALID [2022-04-08 08:34:26,794 INFO L290 TraceCheckUtils]: 1: Hoare triple {60677#true} assume true; {60677#true} is VALID [2022-04-08 08:34:26,794 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {60677#true} {60677#true} #1216#return; {60677#true} is VALID [2022-04-08 08:34:26,800 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:34:26,807 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:26,816 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:34:26,816 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:26,821 INFO L290 TraceCheckUtils]: 0: Hoare triple {60677#true} ~cond := #in~cond; {60677#true} is VALID [2022-04-08 08:34:26,821 INFO L290 TraceCheckUtils]: 1: Hoare triple {60677#true} assume !(0 == ~cond); {60677#true} is VALID [2022-04-08 08:34:26,821 INFO L290 TraceCheckUtils]: 2: Hoare triple {60677#true} assume true; {60677#true} is VALID [2022-04-08 08:34:26,821 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {60677#true} {60677#true} #1254#return; {60677#true} is VALID [2022-04-08 08:34:26,822 INFO L290 TraceCheckUtils]: 0: Hoare triple {60747#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {60677#true} is VALID [2022-04-08 08:34:26,822 INFO L272 TraceCheckUtils]: 1: Hoare triple {60677#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {60677#true} is VALID [2022-04-08 08:34:26,822 INFO L290 TraceCheckUtils]: 2: Hoare triple {60677#true} ~cond := #in~cond; {60677#true} is VALID [2022-04-08 08:34:26,822 INFO L290 TraceCheckUtils]: 3: Hoare triple {60677#true} assume !(0 == ~cond); {60677#true} is VALID [2022-04-08 08:34:26,822 INFO L290 TraceCheckUtils]: 4: Hoare triple {60677#true} assume true; {60677#true} is VALID [2022-04-08 08:34:26,822 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {60677#true} {60677#true} #1254#return; {60677#true} is VALID [2022-04-08 08:34:26,822 INFO L290 TraceCheckUtils]: 6: Hoare triple {60677#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {60677#true} is VALID [2022-04-08 08:34:26,822 INFO L290 TraceCheckUtils]: 7: Hoare triple {60677#true} assume true; {60677#true} is VALID [2022-04-08 08:34:26,822 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {60677#true} {60677#true} #1218#return; {60677#true} is VALID [2022-04-08 08:34:26,830 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:34:26,890 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:26,903 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:34:26,906 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:26,913 INFO L290 TraceCheckUtils]: 0: Hoare triple {60752#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {60677#true} is VALID [2022-04-08 08:34:26,913 INFO L290 TraceCheckUtils]: 1: Hoare triple {60677#true} assume 0 == ~__BLAST_NONDET~5; {60677#true} is VALID [2022-04-08 08:34:26,913 INFO L290 TraceCheckUtils]: 2: Hoare triple {60677#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {60677#true} is VALID [2022-04-08 08:34:26,913 INFO L290 TraceCheckUtils]: 3: Hoare triple {60677#true} assume true; {60677#true} is VALID [2022-04-08 08:34:26,913 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {60677#true} {60677#true} #1176#return; {60677#true} is VALID [2022-04-08 08:34:26,913 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 08:34:26,917 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:26,955 INFO L290 TraceCheckUtils]: 0: Hoare triple {60747#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {60767#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 08:34:26,956 INFO L290 TraceCheckUtils]: 1: Hoare triple {60767#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {60768#(or (<= |#Ultimate.C_memset_#amount| 0) (< 0 (div |#Ultimate.C_memset_#amount| 4294967296)))} is VALID [2022-04-08 08:34:26,956 INFO L290 TraceCheckUtils]: 2: Hoare triple {60768#(or (<= |#Ultimate.C_memset_#amount| 0) (< 0 (div |#Ultimate.C_memset_#amount| 4294967296)))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {60768#(or (<= |#Ultimate.C_memset_#amount| 0) (< 0 (div |#Ultimate.C_memset_#amount| 4294967296)))} is VALID [2022-04-08 08:34:26,957 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {60768#(or (<= |#Ultimate.C_memset_#amount| 0) (< 0 (div |#Ultimate.C_memset_#amount| 4294967296)))} {60677#true} #1178#return; {60678#false} is VALID [2022-04-08 08:34:26,957 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 15 [2022-04-08 08:34:26,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:26,967 INFO L290 TraceCheckUtils]: 0: Hoare triple {60677#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {60677#true} is VALID [2022-04-08 08:34:26,967 INFO L290 TraceCheckUtils]: 1: Hoare triple {60677#true} assume 0 == ~__BLAST_NONDET~2; {60677#true} is VALID [2022-04-08 08:34:26,968 INFO L290 TraceCheckUtils]: 2: Hoare triple {60677#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {60677#true} is VALID [2022-04-08 08:34:26,968 INFO L290 TraceCheckUtils]: 3: Hoare triple {60677#true} assume true; {60677#true} is VALID [2022-04-08 08:34:26,968 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {60677#true} {60678#false} #1180#return; {60678#false} is VALID [2022-04-08 08:34:26,968 INFO L290 TraceCheckUtils]: 0: Hoare triple {60752#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {60677#true} is VALID [2022-04-08 08:34:26,969 INFO L272 TraceCheckUtils]: 1: Hoare triple {60677#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {60752#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:34:26,969 INFO L290 TraceCheckUtils]: 2: Hoare triple {60752#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {60677#true} is VALID [2022-04-08 08:34:26,969 INFO L290 TraceCheckUtils]: 3: Hoare triple {60677#true} assume 0 == ~__BLAST_NONDET~5; {60677#true} is VALID [2022-04-08 08:34:26,969 INFO L290 TraceCheckUtils]: 4: Hoare triple {60677#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {60677#true} is VALID [2022-04-08 08:34:26,969 INFO L290 TraceCheckUtils]: 5: Hoare triple {60677#true} assume true; {60677#true} is VALID [2022-04-08 08:34:26,969 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {60677#true} {60677#true} #1176#return; {60677#true} is VALID [2022-04-08 08:34:26,969 INFO L290 TraceCheckUtils]: 7: Hoare triple {60677#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {60677#true} is VALID [2022-04-08 08:34:26,969 INFO L290 TraceCheckUtils]: 8: Hoare triple {60677#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {60677#true} is VALID [2022-04-08 08:34:26,970 INFO L272 TraceCheckUtils]: 9: Hoare triple {60677#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {60747#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:34:26,970 INFO L290 TraceCheckUtils]: 10: Hoare triple {60747#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {60767#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 08:34:26,971 INFO L290 TraceCheckUtils]: 11: Hoare triple {60767#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {60768#(or (<= |#Ultimate.C_memset_#amount| 0) (< 0 (div |#Ultimate.C_memset_#amount| 4294967296)))} is VALID [2022-04-08 08:34:26,971 INFO L290 TraceCheckUtils]: 12: Hoare triple {60768#(or (<= |#Ultimate.C_memset_#amount| 0) (< 0 (div |#Ultimate.C_memset_#amount| 4294967296)))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {60768#(or (<= |#Ultimate.C_memset_#amount| 0) (< 0 (div |#Ultimate.C_memset_#amount| 4294967296)))} is VALID [2022-04-08 08:34:26,972 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {60768#(or (<= |#Ultimate.C_memset_#amount| 0) (< 0 (div |#Ultimate.C_memset_#amount| 4294967296)))} {60677#true} #1178#return; {60678#false} is VALID [2022-04-08 08:34:26,972 INFO L290 TraceCheckUtils]: 14: Hoare triple {60678#false} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {60678#false} is VALID [2022-04-08 08:34:26,972 INFO L272 TraceCheckUtils]: 15: Hoare triple {60678#false} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {60677#true} is VALID [2022-04-08 08:34:26,972 INFO L290 TraceCheckUtils]: 16: Hoare triple {60677#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {60677#true} is VALID [2022-04-08 08:34:26,972 INFO L290 TraceCheckUtils]: 17: Hoare triple {60677#true} assume 0 == ~__BLAST_NONDET~2; {60677#true} is VALID [2022-04-08 08:34:26,972 INFO L290 TraceCheckUtils]: 18: Hoare triple {60677#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {60677#true} is VALID [2022-04-08 08:34:26,972 INFO L290 TraceCheckUtils]: 19: Hoare triple {60677#true} assume true; {60677#true} is VALID [2022-04-08 08:34:26,972 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {60677#true} {60678#false} #1180#return; {60678#false} is VALID [2022-04-08 08:34:26,972 INFO L290 TraceCheckUtils]: 21: Hoare triple {60678#false} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {60678#false} is VALID [2022-04-08 08:34:26,972 INFO L290 TraceCheckUtils]: 22: Hoare triple {60678#false} assume true; {60678#false} is VALID [2022-04-08 08:34:26,972 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {60678#false} {60677#true} #1220#return; {60678#false} is VALID [2022-04-08 08:34:26,985 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 49 [2022-04-08 08:34:26,986 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:26,991 INFO L290 TraceCheckUtils]: 0: Hoare triple {60769#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {60677#true} is VALID [2022-04-08 08:34:26,991 INFO L290 TraceCheckUtils]: 1: Hoare triple {60677#true} assume true; {60677#true} is VALID [2022-04-08 08:34:26,991 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {60677#true} {60678#false} #1222#return; {60678#false} is VALID [2022-04-08 08:34:26,991 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 62 [2022-04-08 08:34:26,993 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:26,998 INFO L290 TraceCheckUtils]: 0: Hoare triple {60747#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {60677#true} is VALID [2022-04-08 08:34:26,999 INFO L290 TraceCheckUtils]: 1: Hoare triple {60677#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {60677#true} is VALID [2022-04-08 08:34:26,999 INFO L290 TraceCheckUtils]: 2: Hoare triple {60677#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {60677#true} is VALID [2022-04-08 08:34:26,999 INFO L290 TraceCheckUtils]: 3: Hoare triple {60677#true} assume #res.base == dest.base && #res.offset == dest.offset; {60677#true} is VALID [2022-04-08 08:34:26,999 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {60677#true} {60678#false} #1186#return; {60678#false} is VALID [2022-04-08 08:34:27,007 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 72 [2022-04-08 08:34:27,011 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:27,023 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 08:34:27,026 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:27,031 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:34:27,032 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:27,038 INFO L290 TraceCheckUtils]: 0: Hoare triple {60779#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {60677#true} is VALID [2022-04-08 08:34:27,038 INFO L290 TraceCheckUtils]: 1: Hoare triple {60677#true} assume true; {60677#true} is VALID [2022-04-08 08:34:27,038 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {60677#true} {60677#true} #1174#return; {60677#true} is VALID [2022-04-08 08:34:27,038 INFO L290 TraceCheckUtils]: 0: Hoare triple {60779#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {60677#true} is VALID [2022-04-08 08:34:27,039 INFO L272 TraceCheckUtils]: 1: Hoare triple {60677#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {60779#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:34:27,039 INFO L290 TraceCheckUtils]: 2: Hoare triple {60779#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {60677#true} is VALID [2022-04-08 08:34:27,039 INFO L290 TraceCheckUtils]: 3: Hoare triple {60677#true} assume true; {60677#true} is VALID [2022-04-08 08:34:27,039 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {60677#true} {60677#true} #1174#return; {60677#true} is VALID [2022-04-08 08:34:27,039 INFO L290 TraceCheckUtils]: 5: Hoare triple {60677#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {60677#true} is VALID [2022-04-08 08:34:27,039 INFO L290 TraceCheckUtils]: 6: Hoare triple {60677#true} assume true; {60677#true} is VALID [2022-04-08 08:34:27,039 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {60677#true} {60677#true} #1210#return; {60677#true} is VALID [2022-04-08 08:34:27,039 INFO L290 TraceCheckUtils]: 0: Hoare triple {60770#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {60677#true} is VALID [2022-04-08 08:34:27,039 INFO L290 TraceCheckUtils]: 1: Hoare triple {60677#true} assume 0 != ~compRegistered~0; {60677#true} is VALID [2022-04-08 08:34:27,040 INFO L272 TraceCheckUtils]: 2: Hoare triple {60677#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {60779#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:34:27,040 INFO L290 TraceCheckUtils]: 3: Hoare triple {60779#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {60677#true} is VALID [2022-04-08 08:34:27,040 INFO L272 TraceCheckUtils]: 4: Hoare triple {60677#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {60779#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:34:27,040 INFO L290 TraceCheckUtils]: 5: Hoare triple {60779#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {60677#true} is VALID [2022-04-08 08:34:27,041 INFO L290 TraceCheckUtils]: 6: Hoare triple {60677#true} assume true; {60677#true} is VALID [2022-04-08 08:34:27,041 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {60677#true} {60677#true} #1174#return; {60677#true} is VALID [2022-04-08 08:34:27,041 INFO L290 TraceCheckUtils]: 8: Hoare triple {60677#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {60677#true} is VALID [2022-04-08 08:34:27,041 INFO L290 TraceCheckUtils]: 9: Hoare triple {60677#true} assume true; {60677#true} is VALID [2022-04-08 08:34:27,041 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {60677#true} {60677#true} #1210#return; {60677#true} is VALID [2022-04-08 08:34:27,041 INFO L290 TraceCheckUtils]: 11: Hoare triple {60677#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {60677#true} is VALID [2022-04-08 08:34:27,041 INFO L290 TraceCheckUtils]: 12: Hoare triple {60677#true} assume !(-1073741802 == ~compRetStatus~0); {60677#true} is VALID [2022-04-08 08:34:27,041 INFO L290 TraceCheckUtils]: 13: Hoare triple {60677#true} assume 0 == ~__BLAST_NONDET~11; {60677#true} is VALID [2022-04-08 08:34:27,041 INFO L290 TraceCheckUtils]: 14: Hoare triple {60677#true} ~returnVal2~0 := 0; {60677#true} is VALID [2022-04-08 08:34:27,041 INFO L290 TraceCheckUtils]: 15: Hoare triple {60677#true} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := ~returnVal2~0; {60677#true} is VALID [2022-04-08 08:34:27,041 INFO L290 TraceCheckUtils]: 16: Hoare triple {60677#true} #res := ~returnVal2~0; {60677#true} is VALID [2022-04-08 08:34:27,041 INFO L290 TraceCheckUtils]: 17: Hoare triple {60677#true} assume true; {60677#true} is VALID [2022-04-08 08:34:27,041 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {60677#true} {60678#false} #1192#return; {60678#false} is VALID [2022-04-08 08:34:27,042 INFO L272 TraceCheckUtils]: 0: Hoare triple {60677#true} call ULTIMATE.init(); {60745#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:34:27,042 INFO L290 TraceCheckUtils]: 1: Hoare triple {60745#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {60677#true} is VALID [2022-04-08 08:34:27,042 INFO L290 TraceCheckUtils]: 2: Hoare triple {60677#true} assume true; {60677#true} is VALID [2022-04-08 08:34:27,042 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {60677#true} {60677#true} #1270#return; {60677#true} is VALID [2022-04-08 08:34:27,042 INFO L272 TraceCheckUtils]: 4: Hoare triple {60677#true} call #t~ret213 := main(); {60677#true} is VALID [2022-04-08 08:34:27,042 INFO L290 TraceCheckUtils]: 5: Hoare triple {60677#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {60677#true} is VALID [2022-04-08 08:34:27,049 INFO L272 TraceCheckUtils]: 6: Hoare triple {60677#true} call _BLAST_init(); {60746#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:34:27,049 INFO L290 TraceCheckUtils]: 7: Hoare triple {60746#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {60677#true} is VALID [2022-04-08 08:34:27,049 INFO L290 TraceCheckUtils]: 8: Hoare triple {60677#true} assume true; {60677#true} is VALID [2022-04-08 08:34:27,049 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {60677#true} {60677#true} #1216#return; {60677#true} is VALID [2022-04-08 08:34:27,050 INFO L272 TraceCheckUtils]: 10: Hoare triple {60677#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {60747#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:34:27,050 INFO L290 TraceCheckUtils]: 11: Hoare triple {60747#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {60677#true} is VALID [2022-04-08 08:34:27,050 INFO L272 TraceCheckUtils]: 12: Hoare triple {60677#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {60677#true} is VALID [2022-04-08 08:34:27,050 INFO L290 TraceCheckUtils]: 13: Hoare triple {60677#true} ~cond := #in~cond; {60677#true} is VALID [2022-04-08 08:34:27,050 INFO L290 TraceCheckUtils]: 14: Hoare triple {60677#true} assume !(0 == ~cond); {60677#true} is VALID [2022-04-08 08:34:27,050 INFO L290 TraceCheckUtils]: 15: Hoare triple {60677#true} assume true; {60677#true} is VALID [2022-04-08 08:34:27,050 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {60677#true} {60677#true} #1254#return; {60677#true} is VALID [2022-04-08 08:34:27,050 INFO L290 TraceCheckUtils]: 17: Hoare triple {60677#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {60677#true} is VALID [2022-04-08 08:34:27,050 INFO L290 TraceCheckUtils]: 18: Hoare triple {60677#true} assume true; {60677#true} is VALID [2022-04-08 08:34:27,050 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {60677#true} {60677#true} #1218#return; {60677#true} is VALID [2022-04-08 08:34:27,051 INFO L290 TraceCheckUtils]: 20: Hoare triple {60677#true} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {60677#true} is VALID [2022-04-08 08:34:27,051 INFO L290 TraceCheckUtils]: 21: Hoare triple {60677#true} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {60677#true} is VALID [2022-04-08 08:34:27,051 INFO L290 TraceCheckUtils]: 22: Hoare triple {60677#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {60677#true} is VALID [2022-04-08 08:34:27,051 INFO L272 TraceCheckUtils]: 23: Hoare triple {60677#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {60752#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:34:27,051 INFO L290 TraceCheckUtils]: 24: Hoare triple {60752#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {60677#true} is VALID [2022-04-08 08:34:27,052 INFO L272 TraceCheckUtils]: 25: Hoare triple {60677#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {60752#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:34:27,052 INFO L290 TraceCheckUtils]: 26: Hoare triple {60752#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {60677#true} is VALID [2022-04-08 08:34:27,052 INFO L290 TraceCheckUtils]: 27: Hoare triple {60677#true} assume 0 == ~__BLAST_NONDET~5; {60677#true} is VALID [2022-04-08 08:34:27,052 INFO L290 TraceCheckUtils]: 28: Hoare triple {60677#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {60677#true} is VALID [2022-04-08 08:34:27,052 INFO L290 TraceCheckUtils]: 29: Hoare triple {60677#true} assume true; {60677#true} is VALID [2022-04-08 08:34:27,053 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {60677#true} {60677#true} #1176#return; {60677#true} is VALID [2022-04-08 08:34:27,053 INFO L290 TraceCheckUtils]: 31: Hoare triple {60677#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {60677#true} is VALID [2022-04-08 08:34:27,053 INFO L290 TraceCheckUtils]: 32: Hoare triple {60677#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {60677#true} is VALID [2022-04-08 08:34:27,053 INFO L272 TraceCheckUtils]: 33: Hoare triple {60677#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {60747#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:34:27,053 INFO L290 TraceCheckUtils]: 34: Hoare triple {60747#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {60767#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 08:34:27,054 INFO L290 TraceCheckUtils]: 35: Hoare triple {60767#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {60768#(or (<= |#Ultimate.C_memset_#amount| 0) (< 0 (div |#Ultimate.C_memset_#amount| 4294967296)))} is VALID [2022-04-08 08:34:27,054 INFO L290 TraceCheckUtils]: 36: Hoare triple {60768#(or (<= |#Ultimate.C_memset_#amount| 0) (< 0 (div |#Ultimate.C_memset_#amount| 4294967296)))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {60768#(or (<= |#Ultimate.C_memset_#amount| 0) (< 0 (div |#Ultimate.C_memset_#amount| 4294967296)))} is VALID [2022-04-08 08:34:27,055 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {60768#(or (<= |#Ultimate.C_memset_#amount| 0) (< 0 (div |#Ultimate.C_memset_#amount| 4294967296)))} {60677#true} #1178#return; {60678#false} is VALID [2022-04-08 08:34:27,055 INFO L290 TraceCheckUtils]: 38: Hoare triple {60678#false} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {60678#false} is VALID [2022-04-08 08:34:27,055 INFO L272 TraceCheckUtils]: 39: Hoare triple {60678#false} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {60677#true} is VALID [2022-04-08 08:34:27,055 INFO L290 TraceCheckUtils]: 40: Hoare triple {60677#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {60677#true} is VALID [2022-04-08 08:34:27,055 INFO L290 TraceCheckUtils]: 41: Hoare triple {60677#true} assume 0 == ~__BLAST_NONDET~2; {60677#true} is VALID [2022-04-08 08:34:27,055 INFO L290 TraceCheckUtils]: 42: Hoare triple {60677#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {60677#true} is VALID [2022-04-08 08:34:27,055 INFO L290 TraceCheckUtils]: 43: Hoare triple {60677#true} assume true; {60677#true} is VALID [2022-04-08 08:34:27,055 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {60677#true} {60678#false} #1180#return; {60678#false} is VALID [2022-04-08 08:34:27,055 INFO L290 TraceCheckUtils]: 45: Hoare triple {60678#false} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {60678#false} is VALID [2022-04-08 08:34:27,056 INFO L290 TraceCheckUtils]: 46: Hoare triple {60678#false} assume true; {60678#false} is VALID [2022-04-08 08:34:27,056 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {60678#false} {60677#true} #1220#return; {60678#false} is VALID [2022-04-08 08:34:27,056 INFO L290 TraceCheckUtils]: 48: Hoare triple {60678#false} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {60678#false} is VALID [2022-04-08 08:34:27,056 INFO L272 TraceCheckUtils]: 49: Hoare triple {60678#false} call stub_driver_init(); {60769#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:34:27,056 INFO L290 TraceCheckUtils]: 50: Hoare triple {60769#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {60677#true} is VALID [2022-04-08 08:34:27,056 INFO L290 TraceCheckUtils]: 51: Hoare triple {60677#true} assume true; {60677#true} is VALID [2022-04-08 08:34:27,056 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {60677#true} {60678#false} #1222#return; {60678#false} is VALID [2022-04-08 08:34:27,056 INFO L290 TraceCheckUtils]: 53: Hoare triple {60678#false} assume !!(~status~5 >= 0); {60678#false} is VALID [2022-04-08 08:34:27,056 INFO L290 TraceCheckUtils]: 54: Hoare triple {60678#false} assume !(0 == ~__BLAST_NONDET~0); {60678#false} is VALID [2022-04-08 08:34:27,056 INFO L290 TraceCheckUtils]: 55: Hoare triple {60678#false} assume !(1 == ~__BLAST_NONDET~0); {60678#false} is VALID [2022-04-08 08:34:27,056 INFO L290 TraceCheckUtils]: 56: Hoare triple {60678#false} assume !(2 == ~__BLAST_NONDET~0); {60678#false} is VALID [2022-04-08 08:34:27,056 INFO L290 TraceCheckUtils]: 57: Hoare triple {60678#false} assume 3 == ~__BLAST_NONDET~0; {60678#false} is VALID [2022-04-08 08:34:27,056 INFO L272 TraceCheckUtils]: 58: Hoare triple {60678#false} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {60678#false} is VALID [2022-04-08 08:34:27,056 INFO L290 TraceCheckUtils]: 59: Hoare triple {60678#false} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~devExt~3.base, ~devExt~3.offset;havoc ~irpStack~3.base, ~irpStack~3.offset;havoc ~status~3;call ~#event~1.base, ~#event~1.offset := #Ultimate.allocOnStack(16);havoc ~irpSp~0.base, ~irpSp~0.offset;havoc ~nextIrpSp~0.base, ~nextIrpSp~0.offset;havoc ~irpSp___0~0.base, ~irpSp___0~0.offset;~status~3 := 0;call #t~mem79.base, #t~mem79.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~3.base, ~devExt~3.offset := #t~mem79.base, #t~mem79.offset;havoc #t~mem79.base, #t~mem79.offset;call #t~mem80.base, #t~mem80.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~3.base, ~irpStack~3.offset := #t~mem80.base, #t~mem80.offset;havoc #t~mem80.base, #t~mem80.offset;call #t~mem81 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {60678#false} is VALID [2022-04-08 08:34:27,056 INFO L290 TraceCheckUtils]: 60: Hoare triple {60678#false} assume 0 == #t~mem81 % 256;havoc #t~mem81; {60678#false} is VALID [2022-04-08 08:34:27,056 INFO L290 TraceCheckUtils]: 61: Hoare triple {60678#false} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp~0.base, ~irpSp~0.offset := #t~mem102.base, #t~mem102.offset;havoc #t~mem102.base, #t~mem102.offset;call #t~mem103.base, #t~mem103.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 36;havoc #t~mem103.base, #t~mem103.offset; {60678#false} is VALID [2022-04-08 08:34:27,056 INFO L272 TraceCheckUtils]: 62: Hoare triple {60678#false} call #t~memmove~res104.base, #t~memmove~res104.offset := #Ultimate.C_memmove(~nextIrpSp~0.base, ~nextIrpSp~0.offset, ~irpSp~0.base, ~irpSp~0.offset, 28); {60747#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:34:27,056 INFO L290 TraceCheckUtils]: 63: Hoare triple {60747#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {60677#true} is VALID [2022-04-08 08:34:27,056 INFO L290 TraceCheckUtils]: 64: Hoare triple {60677#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {60677#true} is VALID [2022-04-08 08:34:27,057 INFO L290 TraceCheckUtils]: 65: Hoare triple {60677#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {60677#true} is VALID [2022-04-08 08:34:27,057 INFO L290 TraceCheckUtils]: 66: Hoare triple {60677#true} assume #res.base == dest.base && #res.offset == dest.offset; {60677#true} is VALID [2022-04-08 08:34:27,057 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {60677#true} {60678#false} #1186#return; {60678#false} is VALID [2022-04-08 08:34:27,057 INFO L290 TraceCheckUtils]: 68: Hoare triple {60678#false} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {60678#false} is VALID [2022-04-08 08:34:27,057 INFO L290 TraceCheckUtils]: 69: Hoare triple {60678#false} assume !(~s~0 != ~NP~0); {60678#false} is VALID [2022-04-08 08:34:27,057 INFO L290 TraceCheckUtils]: 70: Hoare triple {60678#false} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {60678#false} is VALID [2022-04-08 08:34:27,057 INFO L290 TraceCheckUtils]: 71: Hoare triple {60678#false} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 36;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 28 + ~irpSp___0~0.offset, 4);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 32 + ~irpSp___0~0.offset, 4);call write~int(0, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(64, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call #t~mem106 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem106 % 256, 128), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem106;call #t~mem107 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem107 % 256, 32), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem107;call #t~mem108.base, #t~mem108.offset := read~$Pointer$(~devExt~3.base, 8 + ~devExt~3.offset, 4); {60678#false} is VALID [2022-04-08 08:34:27,057 INFO L272 TraceCheckUtils]: 72: Hoare triple {60678#false} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {60770#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:34:27,057 INFO L290 TraceCheckUtils]: 73: Hoare triple {60770#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {60677#true} is VALID [2022-04-08 08:34:27,057 INFO L290 TraceCheckUtils]: 74: Hoare triple {60677#true} assume 0 != ~compRegistered~0; {60677#true} is VALID [2022-04-08 08:34:27,058 INFO L272 TraceCheckUtils]: 75: Hoare triple {60677#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {60779#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:34:27,058 INFO L290 TraceCheckUtils]: 76: Hoare triple {60779#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {60677#true} is VALID [2022-04-08 08:34:27,058 INFO L272 TraceCheckUtils]: 77: Hoare triple {60677#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {60779#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:34:27,058 INFO L290 TraceCheckUtils]: 78: Hoare triple {60779#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {60677#true} is VALID [2022-04-08 08:34:27,058 INFO L290 TraceCheckUtils]: 79: Hoare triple {60677#true} assume true; {60677#true} is VALID [2022-04-08 08:34:27,058 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {60677#true} {60677#true} #1174#return; {60677#true} is VALID [2022-04-08 08:34:27,058 INFO L290 TraceCheckUtils]: 81: Hoare triple {60677#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {60677#true} is VALID [2022-04-08 08:34:27,058 INFO L290 TraceCheckUtils]: 82: Hoare triple {60677#true} assume true; {60677#true} is VALID [2022-04-08 08:34:27,058 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {60677#true} {60677#true} #1210#return; {60677#true} is VALID [2022-04-08 08:34:27,058 INFO L290 TraceCheckUtils]: 84: Hoare triple {60677#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {60677#true} is VALID [2022-04-08 08:34:27,059 INFO L290 TraceCheckUtils]: 85: Hoare triple {60677#true} assume !(-1073741802 == ~compRetStatus~0); {60677#true} is VALID [2022-04-08 08:34:27,059 INFO L290 TraceCheckUtils]: 86: Hoare triple {60677#true} assume 0 == ~__BLAST_NONDET~11; {60677#true} is VALID [2022-04-08 08:34:27,059 INFO L290 TraceCheckUtils]: 87: Hoare triple {60677#true} ~returnVal2~0 := 0; {60677#true} is VALID [2022-04-08 08:34:27,059 INFO L290 TraceCheckUtils]: 88: Hoare triple {60677#true} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := ~returnVal2~0; {60677#true} is VALID [2022-04-08 08:34:27,059 INFO L290 TraceCheckUtils]: 89: Hoare triple {60677#true} #res := ~returnVal2~0; {60677#true} is VALID [2022-04-08 08:34:27,059 INFO L290 TraceCheckUtils]: 90: Hoare triple {60677#true} assume true; {60677#true} is VALID [2022-04-08 08:34:27,059 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {60677#true} {60678#false} #1192#return; {60678#false} is VALID [2022-04-08 08:34:27,059 INFO L290 TraceCheckUtils]: 92: Hoare triple {60678#false} assume -2147483648 <= #t~ret109 && #t~ret109 <= 2147483647;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {60678#false} is VALID [2022-04-08 08:34:27,059 INFO L290 TraceCheckUtils]: 93: Hoare triple {60678#false} assume !(259 == ~status~3); {60678#false} is VALID [2022-04-08 08:34:27,059 INFO L290 TraceCheckUtils]: 94: Hoare triple {60678#false} assume ~status~3 >= 0; {60678#false} is VALID [2022-04-08 08:34:27,059 INFO L290 TraceCheckUtils]: 95: Hoare triple {60678#false} assume !(~myStatus~0 >= 0); {60678#false} is VALID [2022-04-08 08:34:27,059 INFO L290 TraceCheckUtils]: 96: Hoare triple {60678#false} call write~int(~status~3, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~3;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4); {60678#false} is VALID [2022-04-08 08:34:27,059 INFO L272 TraceCheckUtils]: 97: Hoare triple {60678#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {60678#false} is VALID [2022-04-08 08:34:27,059 INFO L290 TraceCheckUtils]: 98: Hoare triple {60678#false} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {60678#false} is VALID [2022-04-08 08:34:27,059 INFO L290 TraceCheckUtils]: 99: Hoare triple {60678#false} assume !(~s~0 == ~NP~0); {60678#false} is VALID [2022-04-08 08:34:27,059 INFO L272 TraceCheckUtils]: 100: Hoare triple {60678#false} call errorFn(); {60678#false} is VALID [2022-04-08 08:34:27,059 INFO L290 TraceCheckUtils]: 101: Hoare triple {60678#false} assume !false; {60678#false} is VALID [2022-04-08 08:34:27,060 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 08:34:27,060 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:34:27,060 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1548484600] [2022-04-08 08:34:27,060 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1548484600] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:34:27,060 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:34:27,060 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 08:34:27,060 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:34:27,060 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1045874523] [2022-04-08 08:34:27,060 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1045874523] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:34:27,060 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:34:27,060 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 08:34:27,060 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [234842650] [2022-04-08 08:34:27,060 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:34:27,061 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 6.545454545454546) internal successors, (72), 4 states have internal predecessors, (72), 2 states have call successors, (17), 9 states have call predecessors, (17), 3 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) Word has length 102 [2022-04-08 08:34:27,061 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:34:27,061 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 6.545454545454546) internal successors, (72), 4 states have internal predecessors, (72), 2 states have call successors, (17), 9 states have call predecessors, (17), 3 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-08 08:34:27,133 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:34:27,133 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 08:34:27,133 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:34:27,133 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 08:34:27,134 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=80, Unknown=0, NotChecked=0, Total=110 [2022-04-08 08:34:27,134 INFO L87 Difference]: Start difference. First operand 337 states and 399 transitions. Second operand has 11 states, 11 states have (on average 6.545454545454546) internal successors, (72), 4 states have internal predecessors, (72), 2 states have call successors, (17), 9 states have call predecessors, (17), 3 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-08 08:34:29,255 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:34:36,151 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:34:36,151 INFO L93 Difference]: Finished difference Result 675 states and 810 transitions. [2022-04-08 08:34:36,151 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 08:34:36,151 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 6.545454545454546) internal successors, (72), 4 states have internal predecessors, (72), 2 states have call successors, (17), 9 states have call predecessors, (17), 3 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) Word has length 102 [2022-04-08 08:34:36,151 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:34:36,151 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 6.545454545454546) internal successors, (72), 4 states have internal predecessors, (72), 2 states have call successors, (17), 9 states have call predecessors, (17), 3 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-08 08:34:36,154 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 318 transitions. [2022-04-08 08:34:36,154 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 6.545454545454546) internal successors, (72), 4 states have internal predecessors, (72), 2 states have call successors, (17), 9 states have call predecessors, (17), 3 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-08 08:34:36,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 318 transitions. [2022-04-08 08:34:36,155 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 318 transitions. [2022-04-08 08:34:36,472 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 318 edges. 318 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:34:36,479 INFO L225 Difference]: With dead ends: 675 [2022-04-08 08:34:36,479 INFO L226 Difference]: Without dead ends: 389 [2022-04-08 08:34:36,480 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 37 GetRequests, 23 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=82, Invalid=158, Unknown=0, NotChecked=0, Total=240 [2022-04-08 08:34:36,480 INFO L913 BasicCegarLoop]: 139 mSDtfsCounter, 202 mSDsluCounter, 233 mSDsCounter, 0 mSdLazyCounter, 556 mSolverCounterSat, 106 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 205 SdHoareTripleChecker+Valid, 372 SdHoareTripleChecker+Invalid, 663 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 106 IncrementalHoareTripleChecker+Valid, 556 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.4s IncrementalHoareTripleChecker+Time [2022-04-08 08:34:36,481 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [205 Valid, 372 Invalid, 663 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [106 Valid, 556 Invalid, 1 Unknown, 0 Unchecked, 4.4s Time] [2022-04-08 08:34:36,481 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 389 states. [2022-04-08 08:34:37,170 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 389 to 339. [2022-04-08 08:34:37,170 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:34:37,170 INFO L82 GeneralOperation]: Start isEquivalent. First operand 389 states. Second operand has 339 states, 264 states have (on average 1.231060606060606) internal successors, (325), 268 states have internal predecessors, (325), 36 states have call successors, (36), 34 states have call predecessors, (36), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) [2022-04-08 08:34:37,171 INFO L74 IsIncluded]: Start isIncluded. First operand 389 states. Second operand has 339 states, 264 states have (on average 1.231060606060606) internal successors, (325), 268 states have internal predecessors, (325), 36 states have call successors, (36), 34 states have call predecessors, (36), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) [2022-04-08 08:34:37,171 INFO L87 Difference]: Start difference. First operand 389 states. Second operand has 339 states, 264 states have (on average 1.231060606060606) internal successors, (325), 268 states have internal predecessors, (325), 36 states have call successors, (36), 34 states have call predecessors, (36), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) [2022-04-08 08:34:37,176 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:34:37,177 INFO L93 Difference]: Finished difference Result 389 states and 463 transitions. [2022-04-08 08:34:37,177 INFO L276 IsEmpty]: Start isEmpty. Operand 389 states and 463 transitions. [2022-04-08 08:34:37,177 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:34:37,177 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:34:37,177 INFO L74 IsIncluded]: Start isIncluded. First operand has 339 states, 264 states have (on average 1.231060606060606) internal successors, (325), 268 states have internal predecessors, (325), 36 states have call successors, (36), 34 states have call predecessors, (36), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) Second operand 389 states. [2022-04-08 08:34:37,178 INFO L87 Difference]: Start difference. First operand has 339 states, 264 states have (on average 1.231060606060606) internal successors, (325), 268 states have internal predecessors, (325), 36 states have call successors, (36), 34 states have call predecessors, (36), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) Second operand 389 states. [2022-04-08 08:34:37,183 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:34:37,183 INFO L93 Difference]: Finished difference Result 389 states and 463 transitions. [2022-04-08 08:34:37,183 INFO L276 IsEmpty]: Start isEmpty. Operand 389 states and 463 transitions. [2022-04-08 08:34:37,184 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:34:37,184 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:34:37,184 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:34:37,184 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:34:37,184 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 339 states, 264 states have (on average 1.231060606060606) internal successors, (325), 268 states have internal predecessors, (325), 36 states have call successors, (36), 34 states have call predecessors, (36), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) [2022-04-08 08:34:37,189 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 339 states to 339 states and 401 transitions. [2022-04-08 08:34:37,189 INFO L78 Accepts]: Start accepts. Automaton has 339 states and 401 transitions. Word has length 102 [2022-04-08 08:34:37,189 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:34:37,189 INFO L478 AbstractCegarLoop]: Abstraction has 339 states and 401 transitions. [2022-04-08 08:34:37,189 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 6.545454545454546) internal successors, (72), 4 states have internal predecessors, (72), 2 states have call successors, (17), 9 states have call predecessors, (17), 3 states have return successors, (13), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-08 08:34:37,190 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 339 states and 401 transitions. [2022-04-08 08:34:38,091 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 401 edges. 401 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:34:38,092 INFO L276 IsEmpty]: Start isEmpty. Operand 339 states and 401 transitions. [2022-04-08 08:34:38,092 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 104 [2022-04-08 08:34:38,092 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:34:38,092 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:34:38,092 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable25 [2022-04-08 08:34:38,092 INFO L403 AbstractCegarLoop]: === Iteration 27 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:34:38,093 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:34:38,093 INFO L85 PathProgramCache]: Analyzing trace with hash 1023672093, now seen corresponding path program 1 times [2022-04-08 08:34:38,093 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:34:38,093 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1169163555] [2022-04-08 08:34:38,110 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 4 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 08:34:38,110 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 08:34:38,110 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 08:34:38,110 INFO L85 PathProgramCache]: Analyzing trace with hash 1023672093, now seen corresponding path program 2 times [2022-04-08 08:34:38,110 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:34:38,110 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1296753269] [2022-04-08 08:34:38,110 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:34:38,111 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:34:38,341 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:38,425 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:34:38,426 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:38,431 INFO L290 TraceCheckUtils]: 0: Hoare triple {63672#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {63603#true} is VALID [2022-04-08 08:34:38,432 INFO L290 TraceCheckUtils]: 1: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:38,432 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {63603#true} {63603#true} #1270#return; {63603#true} is VALID [2022-04-08 08:34:38,449 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:34:38,450 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:38,454 INFO L290 TraceCheckUtils]: 0: Hoare triple {63673#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {63603#true} is VALID [2022-04-08 08:34:38,454 INFO L290 TraceCheckUtils]: 1: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:38,455 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {63603#true} {63603#true} #1216#return; {63603#true} is VALID [2022-04-08 08:34:38,460 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:34:38,469 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:38,482 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:34:38,483 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:38,487 INFO L290 TraceCheckUtils]: 0: Hoare triple {63603#true} ~cond := #in~cond; {63603#true} is VALID [2022-04-08 08:34:38,487 INFO L290 TraceCheckUtils]: 1: Hoare triple {63603#true} assume !(0 == ~cond); {63603#true} is VALID [2022-04-08 08:34:38,487 INFO L290 TraceCheckUtils]: 2: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:38,487 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {63603#true} {63603#true} #1254#return; {63603#true} is VALID [2022-04-08 08:34:38,487 INFO L290 TraceCheckUtils]: 0: Hoare triple {63674#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {63603#true} is VALID [2022-04-08 08:34:38,487 INFO L272 TraceCheckUtils]: 1: Hoare triple {63603#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {63603#true} is VALID [2022-04-08 08:34:38,487 INFO L290 TraceCheckUtils]: 2: Hoare triple {63603#true} ~cond := #in~cond; {63603#true} is VALID [2022-04-08 08:34:38,487 INFO L290 TraceCheckUtils]: 3: Hoare triple {63603#true} assume !(0 == ~cond); {63603#true} is VALID [2022-04-08 08:34:38,487 INFO L290 TraceCheckUtils]: 4: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:38,487 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {63603#true} {63603#true} #1254#return; {63603#true} is VALID [2022-04-08 08:34:38,487 INFO L290 TraceCheckUtils]: 6: Hoare triple {63603#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {63603#true} is VALID [2022-04-08 08:34:38,488 INFO L290 TraceCheckUtils]: 7: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:38,488 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {63603#true} {63603#true} #1218#return; {63603#true} is VALID [2022-04-08 08:34:38,495 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:34:38,520 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:38,535 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:34:38,539 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:38,544 INFO L290 TraceCheckUtils]: 0: Hoare triple {63679#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {63603#true} is VALID [2022-04-08 08:34:38,545 INFO L290 TraceCheckUtils]: 1: Hoare triple {63603#true} assume 0 == ~__BLAST_NONDET~5; {63603#true} is VALID [2022-04-08 08:34:38,545 INFO L290 TraceCheckUtils]: 2: Hoare triple {63603#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {63603#true} is VALID [2022-04-08 08:34:38,545 INFO L290 TraceCheckUtils]: 3: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:38,545 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {63603#true} {63603#true} #1176#return; {63603#true} is VALID [2022-04-08 08:34:38,545 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 08:34:38,550 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:38,634 INFO L290 TraceCheckUtils]: 0: Hoare triple {63674#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {63695#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 08:34:38,635 INFO L290 TraceCheckUtils]: 1: Hoare triple {63695#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {63696#(and (or (<= (+ (* (div |#Ultimate.C_memset_#amount| 4294967296) 4294967296) 1) |#Ultimate.C_memset_#amount|) (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (or (not (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 4294967296) 1) 0)))} is VALID [2022-04-08 08:34:38,636 INFO L290 TraceCheckUtils]: 2: Hoare triple {63696#(and (or (<= (+ (* (div |#Ultimate.C_memset_#amount| 4294967296) 4294967296) 1) |#Ultimate.C_memset_#amount|) (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (or (not (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 4294967296) 1) 0)))} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {63697#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 08:34:38,636 INFO L290 TraceCheckUtils]: 3: Hoare triple {63697#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {63697#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 08:34:38,637 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {63697#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} {63603#true} #1178#return; {63604#false} is VALID [2022-04-08 08:34:38,637 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-08 08:34:38,639 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:38,658 INFO L290 TraceCheckUtils]: 0: Hoare triple {63603#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {63603#true} is VALID [2022-04-08 08:34:38,658 INFO L290 TraceCheckUtils]: 1: Hoare triple {63603#true} assume 0 == ~__BLAST_NONDET~2; {63603#true} is VALID [2022-04-08 08:34:38,658 INFO L290 TraceCheckUtils]: 2: Hoare triple {63603#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {63603#true} is VALID [2022-04-08 08:34:38,658 INFO L290 TraceCheckUtils]: 3: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:38,658 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {63603#true} {63604#false} #1180#return; {63604#false} is VALID [2022-04-08 08:34:38,658 INFO L290 TraceCheckUtils]: 0: Hoare triple {63679#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {63603#true} is VALID [2022-04-08 08:34:38,659 INFO L272 TraceCheckUtils]: 1: Hoare triple {63603#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {63679#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:34:38,659 INFO L290 TraceCheckUtils]: 2: Hoare triple {63679#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {63603#true} is VALID [2022-04-08 08:34:38,660 INFO L290 TraceCheckUtils]: 3: Hoare triple {63603#true} assume 0 == ~__BLAST_NONDET~5; {63603#true} is VALID [2022-04-08 08:34:38,660 INFO L290 TraceCheckUtils]: 4: Hoare triple {63603#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {63603#true} is VALID [2022-04-08 08:34:38,660 INFO L290 TraceCheckUtils]: 5: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:38,660 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {63603#true} {63603#true} #1176#return; {63603#true} is VALID [2022-04-08 08:34:38,660 INFO L290 TraceCheckUtils]: 7: Hoare triple {63603#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {63603#true} is VALID [2022-04-08 08:34:38,660 INFO L290 TraceCheckUtils]: 8: Hoare triple {63603#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {63603#true} is VALID [2022-04-08 08:34:38,660 INFO L272 TraceCheckUtils]: 9: Hoare triple {63603#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {63674#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:34:38,661 INFO L290 TraceCheckUtils]: 10: Hoare triple {63674#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {63695#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 08:34:38,662 INFO L290 TraceCheckUtils]: 11: Hoare triple {63695#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {63696#(and (or (<= (+ (* (div |#Ultimate.C_memset_#amount| 4294967296) 4294967296) 1) |#Ultimate.C_memset_#amount|) (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (or (not (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 4294967296) 1) 0)))} is VALID [2022-04-08 08:34:38,662 INFO L290 TraceCheckUtils]: 12: Hoare triple {63696#(and (or (<= (+ (* (div |#Ultimate.C_memset_#amount| 4294967296) 4294967296) 1) |#Ultimate.C_memset_#amount|) (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (or (not (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 4294967296) 1) 0)))} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {63697#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 08:34:38,663 INFO L290 TraceCheckUtils]: 13: Hoare triple {63697#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {63697#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 08:34:38,663 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {63697#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} {63603#true} #1178#return; {63604#false} is VALID [2022-04-08 08:34:38,663 INFO L290 TraceCheckUtils]: 15: Hoare triple {63604#false} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {63604#false} is VALID [2022-04-08 08:34:38,664 INFO L272 TraceCheckUtils]: 16: Hoare triple {63604#false} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {63603#true} is VALID [2022-04-08 08:34:38,664 INFO L290 TraceCheckUtils]: 17: Hoare triple {63603#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {63603#true} is VALID [2022-04-08 08:34:38,664 INFO L290 TraceCheckUtils]: 18: Hoare triple {63603#true} assume 0 == ~__BLAST_NONDET~2; {63603#true} is VALID [2022-04-08 08:34:38,664 INFO L290 TraceCheckUtils]: 19: Hoare triple {63603#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {63603#true} is VALID [2022-04-08 08:34:38,664 INFO L290 TraceCheckUtils]: 20: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:38,664 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {63603#true} {63604#false} #1180#return; {63604#false} is VALID [2022-04-08 08:34:38,664 INFO L290 TraceCheckUtils]: 22: Hoare triple {63604#false} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {63604#false} is VALID [2022-04-08 08:34:38,664 INFO L290 TraceCheckUtils]: 23: Hoare triple {63604#false} assume true; {63604#false} is VALID [2022-04-08 08:34:38,664 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {63604#false} {63603#true} #1220#return; {63604#false} is VALID [2022-04-08 08:34:38,687 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-08 08:34:38,690 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:38,695 INFO L290 TraceCheckUtils]: 0: Hoare triple {63698#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {63603#true} is VALID [2022-04-08 08:34:38,695 INFO L290 TraceCheckUtils]: 1: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:38,695 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {63603#true} {63604#false} #1222#return; {63604#false} is VALID [2022-04-08 08:34:38,695 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-08 08:34:38,697 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:38,701 INFO L290 TraceCheckUtils]: 0: Hoare triple {63674#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {63603#true} is VALID [2022-04-08 08:34:38,701 INFO L290 TraceCheckUtils]: 1: Hoare triple {63603#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {63603#true} is VALID [2022-04-08 08:34:38,702 INFO L290 TraceCheckUtils]: 2: Hoare triple {63603#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {63603#true} is VALID [2022-04-08 08:34:38,702 INFO L290 TraceCheckUtils]: 3: Hoare triple {63603#true} assume #res.base == dest.base && #res.offset == dest.offset; {63603#true} is VALID [2022-04-08 08:34:38,702 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {63603#true} {63604#false} #1186#return; {63604#false} is VALID [2022-04-08 08:34:38,712 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 73 [2022-04-08 08:34:38,722 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:38,736 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 08:34:38,737 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:38,744 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:34:38,745 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:38,750 INFO L290 TraceCheckUtils]: 0: Hoare triple {63708#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {63603#true} is VALID [2022-04-08 08:34:38,750 INFO L290 TraceCheckUtils]: 1: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:38,750 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {63603#true} {63603#true} #1174#return; {63603#true} is VALID [2022-04-08 08:34:38,750 INFO L290 TraceCheckUtils]: 0: Hoare triple {63708#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {63603#true} is VALID [2022-04-08 08:34:38,751 INFO L272 TraceCheckUtils]: 1: Hoare triple {63603#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {63708#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:34:38,751 INFO L290 TraceCheckUtils]: 2: Hoare triple {63708#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {63603#true} is VALID [2022-04-08 08:34:38,751 INFO L290 TraceCheckUtils]: 3: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:38,751 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {63603#true} {63603#true} #1174#return; {63603#true} is VALID [2022-04-08 08:34:38,751 INFO L290 TraceCheckUtils]: 5: Hoare triple {63603#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {63603#true} is VALID [2022-04-08 08:34:38,751 INFO L290 TraceCheckUtils]: 6: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:38,751 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {63603#true} {63603#true} #1210#return; {63603#true} is VALID [2022-04-08 08:34:38,751 INFO L290 TraceCheckUtils]: 0: Hoare triple {63699#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {63603#true} is VALID [2022-04-08 08:34:38,751 INFO L290 TraceCheckUtils]: 1: Hoare triple {63603#true} assume 0 != ~compRegistered~0; {63603#true} is VALID [2022-04-08 08:34:38,752 INFO L272 TraceCheckUtils]: 2: Hoare triple {63603#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {63708#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:34:38,752 INFO L290 TraceCheckUtils]: 3: Hoare triple {63708#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {63603#true} is VALID [2022-04-08 08:34:38,753 INFO L272 TraceCheckUtils]: 4: Hoare triple {63603#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {63708#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:34:38,753 INFO L290 TraceCheckUtils]: 5: Hoare triple {63708#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {63603#true} is VALID [2022-04-08 08:34:38,753 INFO L290 TraceCheckUtils]: 6: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:38,753 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {63603#true} {63603#true} #1174#return; {63603#true} is VALID [2022-04-08 08:34:38,753 INFO L290 TraceCheckUtils]: 8: Hoare triple {63603#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {63603#true} is VALID [2022-04-08 08:34:38,753 INFO L290 TraceCheckUtils]: 9: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:38,753 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {63603#true} {63603#true} #1210#return; {63603#true} is VALID [2022-04-08 08:34:38,753 INFO L290 TraceCheckUtils]: 11: Hoare triple {63603#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {63603#true} is VALID [2022-04-08 08:34:38,753 INFO L290 TraceCheckUtils]: 12: Hoare triple {63603#true} assume !(-1073741802 == ~compRetStatus~0); {63603#true} is VALID [2022-04-08 08:34:38,753 INFO L290 TraceCheckUtils]: 13: Hoare triple {63603#true} assume 0 == ~__BLAST_NONDET~11; {63603#true} is VALID [2022-04-08 08:34:38,753 INFO L290 TraceCheckUtils]: 14: Hoare triple {63603#true} ~returnVal2~0 := 0; {63603#true} is VALID [2022-04-08 08:34:38,753 INFO L290 TraceCheckUtils]: 15: Hoare triple {63603#true} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := ~returnVal2~0; {63603#true} is VALID [2022-04-08 08:34:38,753 INFO L290 TraceCheckUtils]: 16: Hoare triple {63603#true} #res := ~returnVal2~0; {63603#true} is VALID [2022-04-08 08:34:38,753 INFO L290 TraceCheckUtils]: 17: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:38,753 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {63603#true} {63604#false} #1192#return; {63604#false} is VALID [2022-04-08 08:34:38,755 INFO L272 TraceCheckUtils]: 0: Hoare triple {63603#true} call ULTIMATE.init(); {63672#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:34:38,755 INFO L290 TraceCheckUtils]: 1: Hoare triple {63672#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {63603#true} is VALID [2022-04-08 08:34:38,755 INFO L290 TraceCheckUtils]: 2: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:38,755 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {63603#true} {63603#true} #1270#return; {63603#true} is VALID [2022-04-08 08:34:38,755 INFO L272 TraceCheckUtils]: 4: Hoare triple {63603#true} call #t~ret213 := main(); {63603#true} is VALID [2022-04-08 08:34:38,755 INFO L290 TraceCheckUtils]: 5: Hoare triple {63603#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {63603#true} is VALID [2022-04-08 08:34:38,756 INFO L272 TraceCheckUtils]: 6: Hoare triple {63603#true} call _BLAST_init(); {63673#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:34:38,756 INFO L290 TraceCheckUtils]: 7: Hoare triple {63673#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {63603#true} is VALID [2022-04-08 08:34:38,756 INFO L290 TraceCheckUtils]: 8: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:38,756 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {63603#true} {63603#true} #1216#return; {63603#true} is VALID [2022-04-08 08:34:38,757 INFO L272 TraceCheckUtils]: 10: Hoare triple {63603#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {63674#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:34:38,757 INFO L290 TraceCheckUtils]: 11: Hoare triple {63674#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {63603#true} is VALID [2022-04-08 08:34:38,757 INFO L272 TraceCheckUtils]: 12: Hoare triple {63603#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {63603#true} is VALID [2022-04-08 08:34:38,757 INFO L290 TraceCheckUtils]: 13: Hoare triple {63603#true} ~cond := #in~cond; {63603#true} is VALID [2022-04-08 08:34:38,757 INFO L290 TraceCheckUtils]: 14: Hoare triple {63603#true} assume !(0 == ~cond); {63603#true} is VALID [2022-04-08 08:34:38,757 INFO L290 TraceCheckUtils]: 15: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:38,757 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {63603#true} {63603#true} #1254#return; {63603#true} is VALID [2022-04-08 08:34:38,757 INFO L290 TraceCheckUtils]: 17: Hoare triple {63603#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {63603#true} is VALID [2022-04-08 08:34:38,757 INFO L290 TraceCheckUtils]: 18: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:38,757 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {63603#true} {63603#true} #1218#return; {63603#true} is VALID [2022-04-08 08:34:38,757 INFO L290 TraceCheckUtils]: 20: Hoare triple {63603#true} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {63603#true} is VALID [2022-04-08 08:34:38,757 INFO L290 TraceCheckUtils]: 21: Hoare triple {63603#true} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {63603#true} is VALID [2022-04-08 08:34:38,757 INFO L290 TraceCheckUtils]: 22: Hoare triple {63603#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {63603#true} is VALID [2022-04-08 08:34:38,758 INFO L272 TraceCheckUtils]: 23: Hoare triple {63603#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {63679#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:34:38,758 INFO L290 TraceCheckUtils]: 24: Hoare triple {63679#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {63603#true} is VALID [2022-04-08 08:34:38,759 INFO L272 TraceCheckUtils]: 25: Hoare triple {63603#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {63679#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:34:38,759 INFO L290 TraceCheckUtils]: 26: Hoare triple {63679#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {63603#true} is VALID [2022-04-08 08:34:38,760 INFO L290 TraceCheckUtils]: 27: Hoare triple {63603#true} assume 0 == ~__BLAST_NONDET~5; {63603#true} is VALID [2022-04-08 08:34:38,760 INFO L290 TraceCheckUtils]: 28: Hoare triple {63603#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {63603#true} is VALID [2022-04-08 08:34:38,760 INFO L290 TraceCheckUtils]: 29: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:38,760 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {63603#true} {63603#true} #1176#return; {63603#true} is VALID [2022-04-08 08:34:38,760 INFO L290 TraceCheckUtils]: 31: Hoare triple {63603#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {63603#true} is VALID [2022-04-08 08:34:38,760 INFO L290 TraceCheckUtils]: 32: Hoare triple {63603#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {63603#true} is VALID [2022-04-08 08:34:38,760 INFO L272 TraceCheckUtils]: 33: Hoare triple {63603#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {63674#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:34:38,761 INFO L290 TraceCheckUtils]: 34: Hoare triple {63674#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {63695#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 08:34:38,762 INFO L290 TraceCheckUtils]: 35: Hoare triple {63695#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {63696#(and (or (<= (+ (* (div |#Ultimate.C_memset_#amount| 4294967296) 4294967296) 1) |#Ultimate.C_memset_#amount|) (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (or (not (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 4294967296) 1) 0)))} is VALID [2022-04-08 08:34:38,763 INFO L290 TraceCheckUtils]: 36: Hoare triple {63696#(and (or (<= (+ (* (div |#Ultimate.C_memset_#amount| 4294967296) 4294967296) 1) |#Ultimate.C_memset_#amount|) (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (or (not (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 4294967296) 1) 0)))} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {63697#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 08:34:38,763 INFO L290 TraceCheckUtils]: 37: Hoare triple {63697#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {63697#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 08:34:38,764 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {63697#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} {63603#true} #1178#return; {63604#false} is VALID [2022-04-08 08:34:38,764 INFO L290 TraceCheckUtils]: 39: Hoare triple {63604#false} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {63604#false} is VALID [2022-04-08 08:34:38,764 INFO L272 TraceCheckUtils]: 40: Hoare triple {63604#false} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {63603#true} is VALID [2022-04-08 08:34:38,764 INFO L290 TraceCheckUtils]: 41: Hoare triple {63603#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {63603#true} is VALID [2022-04-08 08:34:38,764 INFO L290 TraceCheckUtils]: 42: Hoare triple {63603#true} assume 0 == ~__BLAST_NONDET~2; {63603#true} is VALID [2022-04-08 08:34:38,764 INFO L290 TraceCheckUtils]: 43: Hoare triple {63603#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {63603#true} is VALID [2022-04-08 08:34:38,764 INFO L290 TraceCheckUtils]: 44: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:38,764 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {63603#true} {63604#false} #1180#return; {63604#false} is VALID [2022-04-08 08:34:38,764 INFO L290 TraceCheckUtils]: 46: Hoare triple {63604#false} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {63604#false} is VALID [2022-04-08 08:34:38,764 INFO L290 TraceCheckUtils]: 47: Hoare triple {63604#false} assume true; {63604#false} is VALID [2022-04-08 08:34:38,764 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {63604#false} {63603#true} #1220#return; {63604#false} is VALID [2022-04-08 08:34:38,764 INFO L290 TraceCheckUtils]: 49: Hoare triple {63604#false} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {63604#false} is VALID [2022-04-08 08:34:38,764 INFO L272 TraceCheckUtils]: 50: Hoare triple {63604#false} call stub_driver_init(); {63698#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:34:38,764 INFO L290 TraceCheckUtils]: 51: Hoare triple {63698#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {63603#true} is VALID [2022-04-08 08:34:38,764 INFO L290 TraceCheckUtils]: 52: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:38,765 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {63603#true} {63604#false} #1222#return; {63604#false} is VALID [2022-04-08 08:34:38,765 INFO L290 TraceCheckUtils]: 54: Hoare triple {63604#false} assume !!(~status~5 >= 0); {63604#false} is VALID [2022-04-08 08:34:38,765 INFO L290 TraceCheckUtils]: 55: Hoare triple {63604#false} assume !(0 == ~__BLAST_NONDET~0); {63604#false} is VALID [2022-04-08 08:34:38,765 INFO L290 TraceCheckUtils]: 56: Hoare triple {63604#false} assume !(1 == ~__BLAST_NONDET~0); {63604#false} is VALID [2022-04-08 08:34:38,765 INFO L290 TraceCheckUtils]: 57: Hoare triple {63604#false} assume !(2 == ~__BLAST_NONDET~0); {63604#false} is VALID [2022-04-08 08:34:38,765 INFO L290 TraceCheckUtils]: 58: Hoare triple {63604#false} assume 3 == ~__BLAST_NONDET~0; {63604#false} is VALID [2022-04-08 08:34:38,765 INFO L272 TraceCheckUtils]: 59: Hoare triple {63604#false} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {63604#false} is VALID [2022-04-08 08:34:38,765 INFO L290 TraceCheckUtils]: 60: Hoare triple {63604#false} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~devExt~3.base, ~devExt~3.offset;havoc ~irpStack~3.base, ~irpStack~3.offset;havoc ~status~3;call ~#event~1.base, ~#event~1.offset := #Ultimate.allocOnStack(16);havoc ~irpSp~0.base, ~irpSp~0.offset;havoc ~nextIrpSp~0.base, ~nextIrpSp~0.offset;havoc ~irpSp___0~0.base, ~irpSp___0~0.offset;~status~3 := 0;call #t~mem79.base, #t~mem79.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~3.base, ~devExt~3.offset := #t~mem79.base, #t~mem79.offset;havoc #t~mem79.base, #t~mem79.offset;call #t~mem80.base, #t~mem80.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~3.base, ~irpStack~3.offset := #t~mem80.base, #t~mem80.offset;havoc #t~mem80.base, #t~mem80.offset;call #t~mem81 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {63604#false} is VALID [2022-04-08 08:34:38,765 INFO L290 TraceCheckUtils]: 61: Hoare triple {63604#false} assume 0 == #t~mem81 % 256;havoc #t~mem81; {63604#false} is VALID [2022-04-08 08:34:38,765 INFO L290 TraceCheckUtils]: 62: Hoare triple {63604#false} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp~0.base, ~irpSp~0.offset := #t~mem102.base, #t~mem102.offset;havoc #t~mem102.base, #t~mem102.offset;call #t~mem103.base, #t~mem103.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 36;havoc #t~mem103.base, #t~mem103.offset; {63604#false} is VALID [2022-04-08 08:34:38,765 INFO L272 TraceCheckUtils]: 63: Hoare triple {63604#false} call #t~memmove~res104.base, #t~memmove~res104.offset := #Ultimate.C_memmove(~nextIrpSp~0.base, ~nextIrpSp~0.offset, ~irpSp~0.base, ~irpSp~0.offset, 28); {63674#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:34:38,765 INFO L290 TraceCheckUtils]: 64: Hoare triple {63674#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {63603#true} is VALID [2022-04-08 08:34:38,765 INFO L290 TraceCheckUtils]: 65: Hoare triple {63603#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {63603#true} is VALID [2022-04-08 08:34:38,765 INFO L290 TraceCheckUtils]: 66: Hoare triple {63603#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {63603#true} is VALID [2022-04-08 08:34:38,765 INFO L290 TraceCheckUtils]: 67: Hoare triple {63603#true} assume #res.base == dest.base && #res.offset == dest.offset; {63603#true} is VALID [2022-04-08 08:34:38,765 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {63603#true} {63604#false} #1186#return; {63604#false} is VALID [2022-04-08 08:34:38,765 INFO L290 TraceCheckUtils]: 69: Hoare triple {63604#false} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {63604#false} is VALID [2022-04-08 08:34:38,765 INFO L290 TraceCheckUtils]: 70: Hoare triple {63604#false} assume !(~s~0 != ~NP~0); {63604#false} is VALID [2022-04-08 08:34:38,765 INFO L290 TraceCheckUtils]: 71: Hoare triple {63604#false} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {63604#false} is VALID [2022-04-08 08:34:38,765 INFO L290 TraceCheckUtils]: 72: Hoare triple {63604#false} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 36;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 28 + ~irpSp___0~0.offset, 4);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 32 + ~irpSp___0~0.offset, 4);call write~int(0, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(64, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call #t~mem106 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem106 % 256, 128), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem106;call #t~mem107 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem107 % 256, 32), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem107;call #t~mem108.base, #t~mem108.offset := read~$Pointer$(~devExt~3.base, 8 + ~devExt~3.offset, 4); {63604#false} is VALID [2022-04-08 08:34:38,766 INFO L272 TraceCheckUtils]: 73: Hoare triple {63604#false} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {63699#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:34:38,766 INFO L290 TraceCheckUtils]: 74: Hoare triple {63699#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {63603#true} is VALID [2022-04-08 08:34:38,766 INFO L290 TraceCheckUtils]: 75: Hoare triple {63603#true} assume 0 != ~compRegistered~0; {63603#true} is VALID [2022-04-08 08:34:38,767 INFO L272 TraceCheckUtils]: 76: Hoare triple {63603#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {63708#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:34:38,767 INFO L290 TraceCheckUtils]: 77: Hoare triple {63708#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {63603#true} is VALID [2022-04-08 08:34:38,768 INFO L272 TraceCheckUtils]: 78: Hoare triple {63603#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {63708#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:34:38,768 INFO L290 TraceCheckUtils]: 79: Hoare triple {63708#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {63603#true} is VALID [2022-04-08 08:34:38,768 INFO L290 TraceCheckUtils]: 80: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:38,768 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {63603#true} {63603#true} #1174#return; {63603#true} is VALID [2022-04-08 08:34:38,768 INFO L290 TraceCheckUtils]: 82: Hoare triple {63603#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {63603#true} is VALID [2022-04-08 08:34:38,768 INFO L290 TraceCheckUtils]: 83: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:38,768 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {63603#true} {63603#true} #1210#return; {63603#true} is VALID [2022-04-08 08:34:38,768 INFO L290 TraceCheckUtils]: 85: Hoare triple {63603#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {63603#true} is VALID [2022-04-08 08:34:38,768 INFO L290 TraceCheckUtils]: 86: Hoare triple {63603#true} assume !(-1073741802 == ~compRetStatus~0); {63603#true} is VALID [2022-04-08 08:34:38,768 INFO L290 TraceCheckUtils]: 87: Hoare triple {63603#true} assume 0 == ~__BLAST_NONDET~11; {63603#true} is VALID [2022-04-08 08:34:38,768 INFO L290 TraceCheckUtils]: 88: Hoare triple {63603#true} ~returnVal2~0 := 0; {63603#true} is VALID [2022-04-08 08:34:38,768 INFO L290 TraceCheckUtils]: 89: Hoare triple {63603#true} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := ~returnVal2~0; {63603#true} is VALID [2022-04-08 08:34:38,768 INFO L290 TraceCheckUtils]: 90: Hoare triple {63603#true} #res := ~returnVal2~0; {63603#true} is VALID [2022-04-08 08:34:38,768 INFO L290 TraceCheckUtils]: 91: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:38,768 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {63603#true} {63604#false} #1192#return; {63604#false} is VALID [2022-04-08 08:34:38,768 INFO L290 TraceCheckUtils]: 93: Hoare triple {63604#false} assume -2147483648 <= #t~ret109 && #t~ret109 <= 2147483647;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {63604#false} is VALID [2022-04-08 08:34:38,768 INFO L290 TraceCheckUtils]: 94: Hoare triple {63604#false} assume !(259 == ~status~3); {63604#false} is VALID [2022-04-08 08:34:38,769 INFO L290 TraceCheckUtils]: 95: Hoare triple {63604#false} assume ~status~3 >= 0; {63604#false} is VALID [2022-04-08 08:34:38,769 INFO L290 TraceCheckUtils]: 96: Hoare triple {63604#false} assume !(~myStatus~0 >= 0); {63604#false} is VALID [2022-04-08 08:34:38,769 INFO L290 TraceCheckUtils]: 97: Hoare triple {63604#false} call write~int(~status~3, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~3;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4); {63604#false} is VALID [2022-04-08 08:34:38,769 INFO L272 TraceCheckUtils]: 98: Hoare triple {63604#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {63604#false} is VALID [2022-04-08 08:34:38,769 INFO L290 TraceCheckUtils]: 99: Hoare triple {63604#false} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {63604#false} is VALID [2022-04-08 08:34:38,769 INFO L290 TraceCheckUtils]: 100: Hoare triple {63604#false} assume !(~s~0 == ~NP~0); {63604#false} is VALID [2022-04-08 08:34:38,769 INFO L272 TraceCheckUtils]: 101: Hoare triple {63604#false} call errorFn(); {63604#false} is VALID [2022-04-08 08:34:38,769 INFO L290 TraceCheckUtils]: 102: Hoare triple {63604#false} assume !false; {63604#false} is VALID [2022-04-08 08:34:38,769 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 08:34:38,769 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:34:38,769 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1296753269] [2022-04-08 08:34:38,770 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1296753269] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 08:34:38,770 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [396403351] [2022-04-08 08:34:38,770 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 08:34:38,770 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 08:34:38,770 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 08:34:38,771 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 08:34:38,774 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-08 08:34:39,686 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 08:34:39,686 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 08:34:39,695 INFO L263 TraceCheckSpWp]: Trace formula consists of 1752 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 08:34:39,731 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:39,742 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 08:34:39,938 INFO L272 TraceCheckUtils]: 0: Hoare triple {63603#true} call ULTIMATE.init(); {63603#true} is VALID [2022-04-08 08:34:39,938 INFO L290 TraceCheckUtils]: 1: Hoare triple {63603#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {63603#true} is VALID [2022-04-08 08:34:39,938 INFO L290 TraceCheckUtils]: 2: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:39,938 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {63603#true} {63603#true} #1270#return; {63603#true} is VALID [2022-04-08 08:34:39,939 INFO L272 TraceCheckUtils]: 4: Hoare triple {63603#true} call #t~ret213 := main(); {63603#true} is VALID [2022-04-08 08:34:39,939 INFO L290 TraceCheckUtils]: 5: Hoare triple {63603#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {63603#true} is VALID [2022-04-08 08:34:39,939 INFO L272 TraceCheckUtils]: 6: Hoare triple {63603#true} call _BLAST_init(); {63603#true} is VALID [2022-04-08 08:34:39,939 INFO L290 TraceCheckUtils]: 7: Hoare triple {63603#true} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {63603#true} is VALID [2022-04-08 08:34:39,939 INFO L290 TraceCheckUtils]: 8: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:39,939 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {63603#true} {63603#true} #1216#return; {63603#true} is VALID [2022-04-08 08:34:39,939 INFO L272 TraceCheckUtils]: 10: Hoare triple {63603#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {63603#true} is VALID [2022-04-08 08:34:39,939 INFO L290 TraceCheckUtils]: 11: Hoare triple {63603#true} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {63603#true} is VALID [2022-04-08 08:34:39,939 INFO L272 TraceCheckUtils]: 12: Hoare triple {63603#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {63603#true} is VALID [2022-04-08 08:34:39,939 INFO L290 TraceCheckUtils]: 13: Hoare triple {63603#true} ~cond := #in~cond; {63603#true} is VALID [2022-04-08 08:34:39,939 INFO L290 TraceCheckUtils]: 14: Hoare triple {63603#true} assume !(0 == ~cond); {63603#true} is VALID [2022-04-08 08:34:39,939 INFO L290 TraceCheckUtils]: 15: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:39,939 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {63603#true} {63603#true} #1254#return; {63603#true} is VALID [2022-04-08 08:34:39,939 INFO L290 TraceCheckUtils]: 17: Hoare triple {63603#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {63603#true} is VALID [2022-04-08 08:34:39,939 INFO L290 TraceCheckUtils]: 18: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:39,940 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {63603#true} {63603#true} #1218#return; {63603#true} is VALID [2022-04-08 08:34:39,940 INFO L290 TraceCheckUtils]: 20: Hoare triple {63603#true} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {63603#true} is VALID [2022-04-08 08:34:39,940 INFO L290 TraceCheckUtils]: 21: Hoare triple {63603#true} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {63603#true} is VALID [2022-04-08 08:34:39,940 INFO L290 TraceCheckUtils]: 22: Hoare triple {63603#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {63603#true} is VALID [2022-04-08 08:34:39,940 INFO L272 TraceCheckUtils]: 23: Hoare triple {63603#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {63603#true} is VALID [2022-04-08 08:34:39,940 INFO L290 TraceCheckUtils]: 24: Hoare triple {63603#true} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {63603#true} is VALID [2022-04-08 08:34:39,940 INFO L272 TraceCheckUtils]: 25: Hoare triple {63603#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {63603#true} is VALID [2022-04-08 08:34:39,940 INFO L290 TraceCheckUtils]: 26: Hoare triple {63603#true} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {63603#true} is VALID [2022-04-08 08:34:39,940 INFO L290 TraceCheckUtils]: 27: Hoare triple {63603#true} assume 0 == ~__BLAST_NONDET~5; {63603#true} is VALID [2022-04-08 08:34:39,940 INFO L290 TraceCheckUtils]: 28: Hoare triple {63603#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {63603#true} is VALID [2022-04-08 08:34:39,940 INFO L290 TraceCheckUtils]: 29: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:39,940 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {63603#true} {63603#true} #1176#return; {63603#true} is VALID [2022-04-08 08:34:39,940 INFO L290 TraceCheckUtils]: 31: Hoare triple {63603#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {63603#true} is VALID [2022-04-08 08:34:39,940 INFO L290 TraceCheckUtils]: 32: Hoare triple {63603#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {63603#true} is VALID [2022-04-08 08:34:39,940 INFO L272 TraceCheckUtils]: 33: Hoare triple {63603#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {63603#true} is VALID [2022-04-08 08:34:39,940 INFO L290 TraceCheckUtils]: 34: Hoare triple {63603#true} #t~loopctr214 := 0; {63603#true} is VALID [2022-04-08 08:34:39,941 INFO L290 TraceCheckUtils]: 35: Hoare triple {63603#true} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {63603#true} is VALID [2022-04-08 08:34:39,941 INFO L290 TraceCheckUtils]: 36: Hoare triple {63603#true} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {63603#true} is VALID [2022-04-08 08:34:39,941 INFO L290 TraceCheckUtils]: 37: Hoare triple {63603#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {63603#true} is VALID [2022-04-08 08:34:39,941 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {63603#true} {63603#true} #1178#return; {63603#true} is VALID [2022-04-08 08:34:39,941 INFO L290 TraceCheckUtils]: 39: Hoare triple {63603#true} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {63603#true} is VALID [2022-04-08 08:34:39,941 INFO L272 TraceCheckUtils]: 40: Hoare triple {63603#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {63603#true} is VALID [2022-04-08 08:34:39,941 INFO L290 TraceCheckUtils]: 41: Hoare triple {63603#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {63603#true} is VALID [2022-04-08 08:34:39,941 INFO L290 TraceCheckUtils]: 42: Hoare triple {63603#true} assume 0 == ~__BLAST_NONDET~2; {63603#true} is VALID [2022-04-08 08:34:39,941 INFO L290 TraceCheckUtils]: 43: Hoare triple {63603#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {63603#true} is VALID [2022-04-08 08:34:39,941 INFO L290 TraceCheckUtils]: 44: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:39,941 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {63603#true} {63603#true} #1180#return; {63603#true} is VALID [2022-04-08 08:34:39,941 INFO L290 TraceCheckUtils]: 46: Hoare triple {63603#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {63603#true} is VALID [2022-04-08 08:34:39,941 INFO L290 TraceCheckUtils]: 47: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:39,941 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {63603#true} {63603#true} #1220#return; {63603#true} is VALID [2022-04-08 08:34:39,941 INFO L290 TraceCheckUtils]: 49: Hoare triple {63603#true} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {63603#true} is VALID [2022-04-08 08:34:39,941 INFO L272 TraceCheckUtils]: 50: Hoare triple {63603#true} call stub_driver_init(); {63603#true} is VALID [2022-04-08 08:34:39,941 INFO L290 TraceCheckUtils]: 51: Hoare triple {63603#true} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {63603#true} is VALID [2022-04-08 08:34:39,942 INFO L290 TraceCheckUtils]: 52: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:39,942 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {63603#true} {63603#true} #1222#return; {63603#true} is VALID [2022-04-08 08:34:39,942 INFO L290 TraceCheckUtils]: 54: Hoare triple {63603#true} assume !!(~status~5 >= 0); {63603#true} is VALID [2022-04-08 08:34:39,942 INFO L290 TraceCheckUtils]: 55: Hoare triple {63603#true} assume !(0 == ~__BLAST_NONDET~0); {63603#true} is VALID [2022-04-08 08:34:39,942 INFO L290 TraceCheckUtils]: 56: Hoare triple {63603#true} assume !(1 == ~__BLAST_NONDET~0); {63603#true} is VALID [2022-04-08 08:34:39,942 INFO L290 TraceCheckUtils]: 57: Hoare triple {63603#true} assume !(2 == ~__BLAST_NONDET~0); {63603#true} is VALID [2022-04-08 08:34:39,942 INFO L290 TraceCheckUtils]: 58: Hoare triple {63603#true} assume 3 == ~__BLAST_NONDET~0; {63603#true} is VALID [2022-04-08 08:34:39,942 INFO L272 TraceCheckUtils]: 59: Hoare triple {63603#true} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {63603#true} is VALID [2022-04-08 08:34:39,942 INFO L290 TraceCheckUtils]: 60: Hoare triple {63603#true} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~devExt~3.base, ~devExt~3.offset;havoc ~irpStack~3.base, ~irpStack~3.offset;havoc ~status~3;call ~#event~1.base, ~#event~1.offset := #Ultimate.allocOnStack(16);havoc ~irpSp~0.base, ~irpSp~0.offset;havoc ~nextIrpSp~0.base, ~nextIrpSp~0.offset;havoc ~irpSp___0~0.base, ~irpSp___0~0.offset;~status~3 := 0;call #t~mem79.base, #t~mem79.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~3.base, ~devExt~3.offset := #t~mem79.base, #t~mem79.offset;havoc #t~mem79.base, #t~mem79.offset;call #t~mem80.base, #t~mem80.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~3.base, ~irpStack~3.offset := #t~mem80.base, #t~mem80.offset;havoc #t~mem80.base, #t~mem80.offset;call #t~mem81 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {63603#true} is VALID [2022-04-08 08:34:39,942 INFO L290 TraceCheckUtils]: 61: Hoare triple {63603#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {63603#true} is VALID [2022-04-08 08:34:39,942 INFO L290 TraceCheckUtils]: 62: Hoare triple {63603#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp~0.base, ~irpSp~0.offset := #t~mem102.base, #t~mem102.offset;havoc #t~mem102.base, #t~mem102.offset;call #t~mem103.base, #t~mem103.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 36;havoc #t~mem103.base, #t~mem103.offset; {63603#true} is VALID [2022-04-08 08:34:39,942 INFO L272 TraceCheckUtils]: 63: Hoare triple {63603#true} call #t~memmove~res104.base, #t~memmove~res104.offset := #Ultimate.C_memmove(~nextIrpSp~0.base, ~nextIrpSp~0.offset, ~irpSp~0.base, ~irpSp~0.offset, 28); {63603#true} is VALID [2022-04-08 08:34:39,942 INFO L290 TraceCheckUtils]: 64: Hoare triple {63603#true} #t~loopctr215 := 0; {63603#true} is VALID [2022-04-08 08:34:39,942 INFO L290 TraceCheckUtils]: 65: Hoare triple {63603#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {63603#true} is VALID [2022-04-08 08:34:39,942 INFO L290 TraceCheckUtils]: 66: Hoare triple {63603#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {63603#true} is VALID [2022-04-08 08:34:39,942 INFO L290 TraceCheckUtils]: 67: Hoare triple {63603#true} assume #res.base == dest.base && #res.offset == dest.offset; {63603#true} is VALID [2022-04-08 08:34:39,942 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {63603#true} {63603#true} #1186#return; {63603#true} is VALID [2022-04-08 08:34:39,943 INFO L290 TraceCheckUtils]: 69: Hoare triple {63603#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {63603#true} is VALID [2022-04-08 08:34:39,943 INFO L290 TraceCheckUtils]: 70: Hoare triple {63603#true} assume !(~s~0 != ~NP~0); {63603#true} is VALID [2022-04-08 08:34:39,943 INFO L290 TraceCheckUtils]: 71: Hoare triple {63603#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {63603#true} is VALID [2022-04-08 08:34:39,943 INFO L290 TraceCheckUtils]: 72: Hoare triple {63603#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 36;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 28 + ~irpSp___0~0.offset, 4);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 32 + ~irpSp___0~0.offset, 4);call write~int(0, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(64, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call #t~mem106 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem106 % 256, 128), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem106;call #t~mem107 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem107 % 256, 32), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem107;call #t~mem108.base, #t~mem108.offset := read~$Pointer$(~devExt~3.base, 8 + ~devExt~3.offset, 4); {63603#true} is VALID [2022-04-08 08:34:39,943 INFO L272 TraceCheckUtils]: 73: Hoare triple {63603#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {63603#true} is VALID [2022-04-08 08:34:39,943 INFO L290 TraceCheckUtils]: 74: Hoare triple {63603#true} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {63603#true} is VALID [2022-04-08 08:34:39,943 INFO L290 TraceCheckUtils]: 75: Hoare triple {63603#true} assume 0 != ~compRegistered~0; {63603#true} is VALID [2022-04-08 08:34:39,943 INFO L272 TraceCheckUtils]: 76: Hoare triple {63603#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {63603#true} is VALID [2022-04-08 08:34:39,943 INFO L290 TraceCheckUtils]: 77: Hoare triple {63603#true} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {63603#true} is VALID [2022-04-08 08:34:39,943 INFO L272 TraceCheckUtils]: 78: Hoare triple {63603#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {63603#true} is VALID [2022-04-08 08:34:39,943 INFO L290 TraceCheckUtils]: 79: Hoare triple {63603#true} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {63603#true} is VALID [2022-04-08 08:34:39,943 INFO L290 TraceCheckUtils]: 80: Hoare triple {63603#true} assume true; {63603#true} is VALID [2022-04-08 08:34:39,943 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {63603#true} {63603#true} #1174#return; {63603#true} is VALID [2022-04-08 08:34:39,944 INFO L290 TraceCheckUtils]: 82: Hoare triple {63603#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {63961#(= (- 1073741802) |KbFilter_Complete_#res|)} is VALID [2022-04-08 08:34:39,944 INFO L290 TraceCheckUtils]: 83: Hoare triple {63961#(= (- 1073741802) |KbFilter_Complete_#res|)} assume true; {63961#(= (- 1073741802) |KbFilter_Complete_#res|)} is VALID [2022-04-08 08:34:39,945 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {63961#(= (- 1073741802) |KbFilter_Complete_#res|)} {63603#true} #1210#return; {63968#(= |IofCallDriver_#t~ret196| (- 1073741802))} is VALID [2022-04-08 08:34:39,945 INFO L290 TraceCheckUtils]: 85: Hoare triple {63968#(= |IofCallDriver_#t~ret196| (- 1073741802))} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {63972#(= (- 1073741802) IofCallDriver_~compRetStatus~0)} is VALID [2022-04-08 08:34:39,946 INFO L290 TraceCheckUtils]: 86: Hoare triple {63972#(= (- 1073741802) IofCallDriver_~compRetStatus~0)} assume !(-1073741802 == ~compRetStatus~0); {63604#false} is VALID [2022-04-08 08:34:39,946 INFO L290 TraceCheckUtils]: 87: Hoare triple {63604#false} assume 0 == ~__BLAST_NONDET~11; {63604#false} is VALID [2022-04-08 08:34:39,946 INFO L290 TraceCheckUtils]: 88: Hoare triple {63604#false} ~returnVal2~0 := 0; {63604#false} is VALID [2022-04-08 08:34:39,946 INFO L290 TraceCheckUtils]: 89: Hoare triple {63604#false} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := ~returnVal2~0; {63604#false} is VALID [2022-04-08 08:34:39,946 INFO L290 TraceCheckUtils]: 90: Hoare triple {63604#false} #res := ~returnVal2~0; {63604#false} is VALID [2022-04-08 08:34:39,946 INFO L290 TraceCheckUtils]: 91: Hoare triple {63604#false} assume true; {63604#false} is VALID [2022-04-08 08:34:39,946 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {63604#false} {63603#true} #1192#return; {63604#false} is VALID [2022-04-08 08:34:39,946 INFO L290 TraceCheckUtils]: 93: Hoare triple {63604#false} assume -2147483648 <= #t~ret109 && #t~ret109 <= 2147483647;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {63604#false} is VALID [2022-04-08 08:34:39,946 INFO L290 TraceCheckUtils]: 94: Hoare triple {63604#false} assume !(259 == ~status~3); {63604#false} is VALID [2022-04-08 08:34:39,946 INFO L290 TraceCheckUtils]: 95: Hoare triple {63604#false} assume ~status~3 >= 0; {63604#false} is VALID [2022-04-08 08:34:39,946 INFO L290 TraceCheckUtils]: 96: Hoare triple {63604#false} assume !(~myStatus~0 >= 0); {63604#false} is VALID [2022-04-08 08:34:39,946 INFO L290 TraceCheckUtils]: 97: Hoare triple {63604#false} call write~int(~status~3, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~3;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4); {63604#false} is VALID [2022-04-08 08:34:39,946 INFO L272 TraceCheckUtils]: 98: Hoare triple {63604#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {63604#false} is VALID [2022-04-08 08:34:39,946 INFO L290 TraceCheckUtils]: 99: Hoare triple {63604#false} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {63604#false} is VALID [2022-04-08 08:34:39,946 INFO L290 TraceCheckUtils]: 100: Hoare triple {63604#false} assume !(~s~0 == ~NP~0); {63604#false} is VALID [2022-04-08 08:34:39,946 INFO L272 TraceCheckUtils]: 101: Hoare triple {63604#false} call errorFn(); {63604#false} is VALID [2022-04-08 08:34:39,947 INFO L290 TraceCheckUtils]: 102: Hoare triple {63604#false} assume !false; {63604#false} is VALID [2022-04-08 08:34:39,947 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 08:34:39,947 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 08:34:39,947 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [396403351] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:34:39,947 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 08:34:39,947 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [12] total 15 [2022-04-08 08:34:39,948 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:34:39,948 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1169163555] [2022-04-08 08:34:39,948 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1169163555] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:34:39,948 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:34:39,948 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 08:34:39,948 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1706441141] [2022-04-08 08:34:39,948 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:34:39,948 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 14.6) internal successors, (73), 4 states have internal predecessors, (73), 2 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (13), 3 states have call predecessors, (13), 1 states have call successors, (13) Word has length 103 [2022-04-08 08:34:39,948 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:34:39,949 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 14.6) internal successors, (73), 4 states have internal predecessors, (73), 2 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (13), 3 states have call predecessors, (13), 1 states have call successors, (13) [2022-04-08 08:34:40,033 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:34:40,033 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 08:34:40,033 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:34:40,033 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 08:34:40,034 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=172, Unknown=0, NotChecked=0, Total=210 [2022-04-08 08:34:40,034 INFO L87 Difference]: Start difference. First operand 339 states and 401 transitions. Second operand has 5 states, 5 states have (on average 14.6) internal successors, (73), 4 states have internal predecessors, (73), 2 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (13), 3 states have call predecessors, (13), 1 states have call successors, (13) [2022-04-08 08:34:49,887 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:34:49,888 INFO L93 Difference]: Finished difference Result 435 states and 520 transitions. [2022-04-08 08:34:49,888 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 08:34:49,888 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 14.6) internal successors, (73), 4 states have internal predecessors, (73), 2 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (13), 3 states have call predecessors, (13), 1 states have call successors, (13) Word has length 103 [2022-04-08 08:34:49,888 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:34:49,888 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 14.6) internal successors, (73), 4 states have internal predecessors, (73), 2 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (13), 3 states have call predecessors, (13), 1 states have call successors, (13) [2022-04-08 08:34:49,889 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 227 transitions. [2022-04-08 08:34:49,889 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 14.6) internal successors, (73), 4 states have internal predecessors, (73), 2 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (13), 3 states have call predecessors, (13), 1 states have call successors, (13) [2022-04-08 08:34:49,890 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 227 transitions. [2022-04-08 08:34:49,890 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 227 transitions. [2022-04-08 08:34:50,033 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 227 edges. 227 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:34:50,039 INFO L225 Difference]: With dead ends: 435 [2022-04-08 08:34:50,039 INFO L226 Difference]: Without dead ends: 325 [2022-04-08 08:34:50,039 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 133 GetRequests, 120 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=38, Invalid=172, Unknown=0, NotChecked=0, Total=210 [2022-04-08 08:34:50,040 INFO L913 BasicCegarLoop]: 162 mSDtfsCounter, 15 mSDsluCounter, 466 mSDsCounter, 0 mSdLazyCounter, 8 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 628 SdHoareTripleChecker+Invalid, 8 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 8 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 08:34:50,040 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [16 Valid, 628 Invalid, 8 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 8 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 08:34:50,040 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 325 states. [2022-04-08 08:34:50,799 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 325 to 325. [2022-04-08 08:34:50,799 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:34:50,800 INFO L82 GeneralOperation]: Start isEquivalent. First operand 325 states. Second operand has 325 states, 250 states have (on average 1.22) internal successors, (305), 254 states have internal predecessors, (305), 36 states have call successors, (36), 34 states have call predecessors, (36), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) [2022-04-08 08:34:50,800 INFO L74 IsIncluded]: Start isIncluded. First operand 325 states. Second operand has 325 states, 250 states have (on average 1.22) internal successors, (305), 254 states have internal predecessors, (305), 36 states have call successors, (36), 34 states have call predecessors, (36), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) [2022-04-08 08:34:50,800 INFO L87 Difference]: Start difference. First operand 325 states. Second operand has 325 states, 250 states have (on average 1.22) internal successors, (305), 254 states have internal predecessors, (305), 36 states have call successors, (36), 34 states have call predecessors, (36), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) [2022-04-08 08:34:50,804 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:34:50,804 INFO L93 Difference]: Finished difference Result 325 states and 381 transitions. [2022-04-08 08:34:50,804 INFO L276 IsEmpty]: Start isEmpty. Operand 325 states and 381 transitions. [2022-04-08 08:34:50,804 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:34:50,805 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:34:50,805 INFO L74 IsIncluded]: Start isIncluded. First operand has 325 states, 250 states have (on average 1.22) internal successors, (305), 254 states have internal predecessors, (305), 36 states have call successors, (36), 34 states have call predecessors, (36), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) Second operand 325 states. [2022-04-08 08:34:50,805 INFO L87 Difference]: Start difference. First operand has 325 states, 250 states have (on average 1.22) internal successors, (305), 254 states have internal predecessors, (305), 36 states have call successors, (36), 34 states have call predecessors, (36), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) Second operand 325 states. [2022-04-08 08:34:50,809 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:34:50,809 INFO L93 Difference]: Finished difference Result 325 states and 381 transitions. [2022-04-08 08:34:50,809 INFO L276 IsEmpty]: Start isEmpty. Operand 325 states and 381 transitions. [2022-04-08 08:34:50,809 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:34:50,809 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:34:50,809 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:34:50,809 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:34:50,810 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 325 states, 250 states have (on average 1.22) internal successors, (305), 254 states have internal predecessors, (305), 36 states have call successors, (36), 34 states have call predecessors, (36), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) [2022-04-08 08:34:50,814 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 325 states to 325 states and 381 transitions. [2022-04-08 08:34:50,815 INFO L78 Accepts]: Start accepts. Automaton has 325 states and 381 transitions. Word has length 103 [2022-04-08 08:34:50,815 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:34:50,815 INFO L478 AbstractCegarLoop]: Abstraction has 325 states and 381 transitions. [2022-04-08 08:34:50,815 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 14.6) internal successors, (73), 4 states have internal predecessors, (73), 2 states have call successors, (17), 2 states have call predecessors, (17), 3 states have return successors, (13), 3 states have call predecessors, (13), 1 states have call successors, (13) [2022-04-08 08:34:50,815 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 325 states and 381 transitions. [2022-04-08 08:34:51,686 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 381 edges. 381 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:34:51,686 INFO L276 IsEmpty]: Start isEmpty. Operand 325 states and 381 transitions. [2022-04-08 08:34:51,686 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 108 [2022-04-08 08:34:51,687 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:34:51,687 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:34:51,708 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-08 08:34:51,887 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable26 [2022-04-08 08:34:51,887 INFO L403 AbstractCegarLoop]: === Iteration 28 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:34:51,887 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:34:51,888 INFO L85 PathProgramCache]: Analyzing trace with hash 813900694, now seen corresponding path program 1 times [2022-04-08 08:34:51,888 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:34:51,888 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [610084406] [2022-04-08 08:34:51,900 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 4 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 08:34:51,900 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 08:34:51,900 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 08:34:51,900 INFO L85 PathProgramCache]: Analyzing trace with hash 813900694, now seen corresponding path program 2 times [2022-04-08 08:34:51,900 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:34:51,900 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [85483502] [2022-04-08 08:34:51,900 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:34:51,900 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:34:51,988 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:52,069 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:34:52,071 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:52,076 INFO L290 TraceCheckUtils]: 0: Hoare triple {66267#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {66193#true} is VALID [2022-04-08 08:34:52,076 INFO L290 TraceCheckUtils]: 1: Hoare triple {66193#true} assume true; {66193#true} is VALID [2022-04-08 08:34:52,076 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {66193#true} {66193#true} #1270#return; {66193#true} is VALID [2022-04-08 08:34:52,102 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:34:52,104 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:52,115 INFO L290 TraceCheckUtils]: 0: Hoare triple {66268#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 08:34:52,115 INFO L290 TraceCheckUtils]: 1: Hoare triple {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} assume true; {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 08:34:52,116 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} {66193#true} #1216#return; {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 08:34:52,123 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:34:52,132 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:52,140 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:34:52,140 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:52,145 INFO L290 TraceCheckUtils]: 0: Hoare triple {66193#true} ~cond := #in~cond; {66193#true} is VALID [2022-04-08 08:34:52,145 INFO L290 TraceCheckUtils]: 1: Hoare triple {66193#true} assume !(0 == ~cond); {66193#true} is VALID [2022-04-08 08:34:52,145 INFO L290 TraceCheckUtils]: 2: Hoare triple {66193#true} assume true; {66193#true} is VALID [2022-04-08 08:34:52,145 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66193#true} {66193#true} #1254#return; {66193#true} is VALID [2022-04-08 08:34:52,145 INFO L290 TraceCheckUtils]: 0: Hoare triple {66269#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {66193#true} is VALID [2022-04-08 08:34:52,145 INFO L272 TraceCheckUtils]: 1: Hoare triple {66193#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {66193#true} is VALID [2022-04-08 08:34:52,145 INFO L290 TraceCheckUtils]: 2: Hoare triple {66193#true} ~cond := #in~cond; {66193#true} is VALID [2022-04-08 08:34:52,145 INFO L290 TraceCheckUtils]: 3: Hoare triple {66193#true} assume !(0 == ~cond); {66193#true} is VALID [2022-04-08 08:34:52,145 INFO L290 TraceCheckUtils]: 4: Hoare triple {66193#true} assume true; {66193#true} is VALID [2022-04-08 08:34:52,146 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {66193#true} {66193#true} #1254#return; {66193#true} is VALID [2022-04-08 08:34:52,146 INFO L290 TraceCheckUtils]: 6: Hoare triple {66193#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {66193#true} is VALID [2022-04-08 08:34:52,146 INFO L290 TraceCheckUtils]: 7: Hoare triple {66193#true} assume true; {66193#true} is VALID [2022-04-08 08:34:52,146 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {66193#true} {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} #1218#return; {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 08:34:52,156 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:34:52,172 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:52,182 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:34:52,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:52,191 INFO L290 TraceCheckUtils]: 0: Hoare triple {66274#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {66193#true} is VALID [2022-04-08 08:34:52,191 INFO L290 TraceCheckUtils]: 1: Hoare triple {66193#true} assume 0 == ~__BLAST_NONDET~5; {66193#true} is VALID [2022-04-08 08:34:52,191 INFO L290 TraceCheckUtils]: 2: Hoare triple {66193#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {66193#true} is VALID [2022-04-08 08:34:52,191 INFO L290 TraceCheckUtils]: 3: Hoare triple {66193#true} assume true; {66193#true} is VALID [2022-04-08 08:34:52,192 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {66193#true} {66193#true} #1176#return; {66193#true} is VALID [2022-04-08 08:34:52,192 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 08:34:52,193 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:52,198 INFO L290 TraceCheckUtils]: 0: Hoare triple {66269#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {66193#true} is VALID [2022-04-08 08:34:52,198 INFO L290 TraceCheckUtils]: 1: Hoare triple {66193#true} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {66193#true} is VALID [2022-04-08 08:34:52,198 INFO L290 TraceCheckUtils]: 2: Hoare triple {66193#true} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {66193#true} is VALID [2022-04-08 08:34:52,198 INFO L290 TraceCheckUtils]: 3: Hoare triple {66193#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {66193#true} is VALID [2022-04-08 08:34:52,198 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {66193#true} {66193#true} #1178#return; {66193#true} is VALID [2022-04-08 08:34:52,198 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-08 08:34:52,199 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:52,204 INFO L290 TraceCheckUtils]: 0: Hoare triple {66193#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {66193#true} is VALID [2022-04-08 08:34:52,204 INFO L290 TraceCheckUtils]: 1: Hoare triple {66193#true} assume 0 == ~__BLAST_NONDET~2; {66193#true} is VALID [2022-04-08 08:34:52,204 INFO L290 TraceCheckUtils]: 2: Hoare triple {66193#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {66193#true} is VALID [2022-04-08 08:34:52,204 INFO L290 TraceCheckUtils]: 3: Hoare triple {66193#true} assume true; {66193#true} is VALID [2022-04-08 08:34:52,204 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {66193#true} {66193#true} #1180#return; {66193#true} is VALID [2022-04-08 08:34:52,205 INFO L290 TraceCheckUtils]: 0: Hoare triple {66274#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {66193#true} is VALID [2022-04-08 08:34:52,206 INFO L272 TraceCheckUtils]: 1: Hoare triple {66193#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {66274#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:34:52,206 INFO L290 TraceCheckUtils]: 2: Hoare triple {66274#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {66193#true} is VALID [2022-04-08 08:34:52,206 INFO L290 TraceCheckUtils]: 3: Hoare triple {66193#true} assume 0 == ~__BLAST_NONDET~5; {66193#true} is VALID [2022-04-08 08:34:52,206 INFO L290 TraceCheckUtils]: 4: Hoare triple {66193#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {66193#true} is VALID [2022-04-08 08:34:52,206 INFO L290 TraceCheckUtils]: 5: Hoare triple {66193#true} assume true; {66193#true} is VALID [2022-04-08 08:34:52,206 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {66193#true} {66193#true} #1176#return; {66193#true} is VALID [2022-04-08 08:34:52,206 INFO L290 TraceCheckUtils]: 7: Hoare triple {66193#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {66193#true} is VALID [2022-04-08 08:34:52,206 INFO L290 TraceCheckUtils]: 8: Hoare triple {66193#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {66193#true} is VALID [2022-04-08 08:34:52,207 INFO L272 TraceCheckUtils]: 9: Hoare triple {66193#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {66269#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:34:52,207 INFO L290 TraceCheckUtils]: 10: Hoare triple {66269#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {66193#true} is VALID [2022-04-08 08:34:52,207 INFO L290 TraceCheckUtils]: 11: Hoare triple {66193#true} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {66193#true} is VALID [2022-04-08 08:34:52,207 INFO L290 TraceCheckUtils]: 12: Hoare triple {66193#true} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {66193#true} is VALID [2022-04-08 08:34:52,207 INFO L290 TraceCheckUtils]: 13: Hoare triple {66193#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {66193#true} is VALID [2022-04-08 08:34:52,207 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {66193#true} {66193#true} #1178#return; {66193#true} is VALID [2022-04-08 08:34:52,207 INFO L290 TraceCheckUtils]: 15: Hoare triple {66193#true} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {66193#true} is VALID [2022-04-08 08:34:52,207 INFO L272 TraceCheckUtils]: 16: Hoare triple {66193#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {66193#true} is VALID [2022-04-08 08:34:52,207 INFO L290 TraceCheckUtils]: 17: Hoare triple {66193#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {66193#true} is VALID [2022-04-08 08:34:52,207 INFO L290 TraceCheckUtils]: 18: Hoare triple {66193#true} assume 0 == ~__BLAST_NONDET~2; {66193#true} is VALID [2022-04-08 08:34:52,207 INFO L290 TraceCheckUtils]: 19: Hoare triple {66193#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {66193#true} is VALID [2022-04-08 08:34:52,207 INFO L290 TraceCheckUtils]: 20: Hoare triple {66193#true} assume true; {66193#true} is VALID [2022-04-08 08:34:52,207 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {66193#true} {66193#true} #1180#return; {66193#true} is VALID [2022-04-08 08:34:52,208 INFO L290 TraceCheckUtils]: 22: Hoare triple {66193#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {66193#true} is VALID [2022-04-08 08:34:52,208 INFO L290 TraceCheckUtils]: 23: Hoare triple {66193#true} assume true; {66193#true} is VALID [2022-04-08 08:34:52,208 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {66193#true} {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} #1220#return; {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 08:34:52,222 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-08 08:34:52,223 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:52,228 INFO L290 TraceCheckUtils]: 0: Hoare triple {66290#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {66193#true} is VALID [2022-04-08 08:34:52,228 INFO L290 TraceCheckUtils]: 1: Hoare triple {66193#true} assume true; {66193#true} is VALID [2022-04-08 08:34:52,229 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {66193#true} {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} #1222#return; {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 08:34:52,229 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-08 08:34:52,236 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:52,243 INFO L290 TraceCheckUtils]: 0: Hoare triple {66269#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {66193#true} is VALID [2022-04-08 08:34:52,243 INFO L290 TraceCheckUtils]: 1: Hoare triple {66193#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {66193#true} is VALID [2022-04-08 08:34:52,243 INFO L290 TraceCheckUtils]: 2: Hoare triple {66193#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {66193#true} is VALID [2022-04-08 08:34:52,243 INFO L290 TraceCheckUtils]: 3: Hoare triple {66193#true} assume #res.base == dest.base && #res.offset == dest.offset; {66193#true} is VALID [2022-04-08 08:34:52,244 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {66193#true} {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} #1186#return; {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 08:34:52,252 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 73 [2022-04-08 08:34:52,258 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:52,300 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 08:34:52,303 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:52,308 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:34:52,309 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:52,314 INFO L290 TraceCheckUtils]: 0: Hoare triple {66305#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {66193#true} is VALID [2022-04-08 08:34:52,314 INFO L290 TraceCheckUtils]: 1: Hoare triple {66193#true} assume true; {66193#true} is VALID [2022-04-08 08:34:52,314 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {66193#true} {66193#true} #1174#return; {66193#true} is VALID [2022-04-08 08:34:52,314 INFO L290 TraceCheckUtils]: 0: Hoare triple {66305#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {66193#true} is VALID [2022-04-08 08:34:52,314 INFO L272 TraceCheckUtils]: 1: Hoare triple {66193#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {66305#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:34:52,315 INFO L290 TraceCheckUtils]: 2: Hoare triple {66305#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {66193#true} is VALID [2022-04-08 08:34:52,315 INFO L290 TraceCheckUtils]: 3: Hoare triple {66193#true} assume true; {66193#true} is VALID [2022-04-08 08:34:52,315 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {66193#true} {66193#true} #1174#return; {66193#true} is VALID [2022-04-08 08:34:52,315 INFO L290 TraceCheckUtils]: 5: Hoare triple {66193#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {66193#true} is VALID [2022-04-08 08:34:52,315 INFO L290 TraceCheckUtils]: 6: Hoare triple {66193#true} assume true; {66193#true} is VALID [2022-04-08 08:34:52,315 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {66193#true} {66193#true} #1210#return; {66193#true} is VALID [2022-04-08 08:34:52,324 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 08:34:52,325 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:34:52,338 INFO L290 TraceCheckUtils]: 0: Hoare triple {66309#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {66310#(= ~MPR1~0 ~s~0)} is VALID [2022-04-08 08:34:52,338 INFO L290 TraceCheckUtils]: 1: Hoare triple {66310#(= ~MPR1~0 ~s~0)} assume true; {66310#(= ~MPR1~0 ~s~0)} is VALID [2022-04-08 08:34:52,339 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {66310#(= ~MPR1~0 ~s~0)} {66193#true} #1212#return; {66303#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~s~0))} is VALID [2022-04-08 08:34:52,339 INFO L290 TraceCheckUtils]: 0: Hoare triple {66291#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {66193#true} is VALID [2022-04-08 08:34:52,339 INFO L290 TraceCheckUtils]: 1: Hoare triple {66193#true} assume 0 != ~compRegistered~0; {66193#true} is VALID [2022-04-08 08:34:52,340 INFO L272 TraceCheckUtils]: 2: Hoare triple {66193#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {66305#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:34:52,340 INFO L290 TraceCheckUtils]: 3: Hoare triple {66305#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {66193#true} is VALID [2022-04-08 08:34:52,340 INFO L272 TraceCheckUtils]: 4: Hoare triple {66193#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {66305#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:34:52,341 INFO L290 TraceCheckUtils]: 5: Hoare triple {66305#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {66193#true} is VALID [2022-04-08 08:34:52,341 INFO L290 TraceCheckUtils]: 6: Hoare triple {66193#true} assume true; {66193#true} is VALID [2022-04-08 08:34:52,341 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {66193#true} {66193#true} #1174#return; {66193#true} is VALID [2022-04-08 08:34:52,341 INFO L290 TraceCheckUtils]: 8: Hoare triple {66193#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {66193#true} is VALID [2022-04-08 08:34:52,341 INFO L290 TraceCheckUtils]: 9: Hoare triple {66193#true} assume true; {66193#true} is VALID [2022-04-08 08:34:52,341 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {66193#true} {66193#true} #1210#return; {66193#true} is VALID [2022-04-08 08:34:52,341 INFO L290 TraceCheckUtils]: 11: Hoare triple {66193#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {66193#true} is VALID [2022-04-08 08:34:52,341 INFO L290 TraceCheckUtils]: 12: Hoare triple {66193#true} assume -1073741802 == ~compRetStatus~0; {66193#true} is VALID [2022-04-08 08:34:52,341 INFO L272 TraceCheckUtils]: 13: Hoare triple {66193#true} call stubMoreProcessingRequired(); {66309#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:34:52,341 INFO L290 TraceCheckUtils]: 14: Hoare triple {66309#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {66310#(= ~MPR1~0 ~s~0)} is VALID [2022-04-08 08:34:52,342 INFO L290 TraceCheckUtils]: 15: Hoare triple {66310#(= ~MPR1~0 ~s~0)} assume true; {66310#(= ~MPR1~0 ~s~0)} is VALID [2022-04-08 08:34:52,342 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {66310#(= ~MPR1~0 ~s~0)} {66193#true} #1212#return; {66303#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~s~0))} is VALID [2022-04-08 08:34:52,342 INFO L290 TraceCheckUtils]: 17: Hoare triple {66303#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~s~0))} assume 0 == ~__BLAST_NONDET~11; {66303#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~s~0))} is VALID [2022-04-08 08:34:52,343 INFO L290 TraceCheckUtils]: 18: Hoare triple {66303#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~s~0))} ~returnVal2~0 := 0; {66303#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~s~0))} is VALID [2022-04-08 08:34:52,343 INFO L290 TraceCheckUtils]: 19: Hoare triple {66303#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~s~0))} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := ~returnVal2~0; {66304#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~NP~0))} is VALID [2022-04-08 08:34:52,343 INFO L290 TraceCheckUtils]: 20: Hoare triple {66304#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~NP~0))} #res := ~returnVal2~0; {66304#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~NP~0))} is VALID [2022-04-08 08:34:52,344 INFO L290 TraceCheckUtils]: 21: Hoare triple {66304#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~NP~0))} assume true; {66304#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~NP~0))} is VALID [2022-04-08 08:34:52,344 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {66304#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~NP~0))} {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} #1192#return; {66194#false} is VALID [2022-04-08 08:34:52,346 INFO L272 TraceCheckUtils]: 0: Hoare triple {66193#true} call ULTIMATE.init(); {66267#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:34:52,346 INFO L290 TraceCheckUtils]: 1: Hoare triple {66267#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {66193#true} is VALID [2022-04-08 08:34:52,346 INFO L290 TraceCheckUtils]: 2: Hoare triple {66193#true} assume true; {66193#true} is VALID [2022-04-08 08:34:52,346 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66193#true} {66193#true} #1270#return; {66193#true} is VALID [2022-04-08 08:34:52,346 INFO L272 TraceCheckUtils]: 4: Hoare triple {66193#true} call #t~ret213 := main(); {66193#true} is VALID [2022-04-08 08:34:52,346 INFO L290 TraceCheckUtils]: 5: Hoare triple {66193#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {66193#true} is VALID [2022-04-08 08:34:52,347 INFO L272 TraceCheckUtils]: 6: Hoare triple {66193#true} call _BLAST_init(); {66268#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:34:52,347 INFO L290 TraceCheckUtils]: 7: Hoare triple {66268#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 08:34:52,348 INFO L290 TraceCheckUtils]: 8: Hoare triple {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} assume true; {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 08:34:52,348 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} {66193#true} #1216#return; {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 08:34:52,349 INFO L272 TraceCheckUtils]: 10: Hoare triple {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {66269#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:34:52,349 INFO L290 TraceCheckUtils]: 11: Hoare triple {66269#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {66193#true} is VALID [2022-04-08 08:34:52,349 INFO L272 TraceCheckUtils]: 12: Hoare triple {66193#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {66193#true} is VALID [2022-04-08 08:34:52,349 INFO L290 TraceCheckUtils]: 13: Hoare triple {66193#true} ~cond := #in~cond; {66193#true} is VALID [2022-04-08 08:34:52,349 INFO L290 TraceCheckUtils]: 14: Hoare triple {66193#true} assume !(0 == ~cond); {66193#true} is VALID [2022-04-08 08:34:52,349 INFO L290 TraceCheckUtils]: 15: Hoare triple {66193#true} assume true; {66193#true} is VALID [2022-04-08 08:34:52,349 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {66193#true} {66193#true} #1254#return; {66193#true} is VALID [2022-04-08 08:34:52,349 INFO L290 TraceCheckUtils]: 17: Hoare triple {66193#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {66193#true} is VALID [2022-04-08 08:34:52,349 INFO L290 TraceCheckUtils]: 18: Hoare triple {66193#true} assume true; {66193#true} is VALID [2022-04-08 08:34:52,350 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {66193#true} {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} #1218#return; {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 08:34:52,350 INFO L290 TraceCheckUtils]: 20: Hoare triple {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 08:34:52,351 INFO L290 TraceCheckUtils]: 21: Hoare triple {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 08:34:52,351 INFO L290 TraceCheckUtils]: 22: Hoare triple {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 08:34:52,352 INFO L272 TraceCheckUtils]: 23: Hoare triple {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {66274#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:34:52,352 INFO L290 TraceCheckUtils]: 24: Hoare triple {66274#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {66193#true} is VALID [2022-04-08 08:34:52,353 INFO L272 TraceCheckUtils]: 25: Hoare triple {66193#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {66274#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:34:52,353 INFO L290 TraceCheckUtils]: 26: Hoare triple {66274#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {66193#true} is VALID [2022-04-08 08:34:52,353 INFO L290 TraceCheckUtils]: 27: Hoare triple {66193#true} assume 0 == ~__BLAST_NONDET~5; {66193#true} is VALID [2022-04-08 08:34:52,353 INFO L290 TraceCheckUtils]: 28: Hoare triple {66193#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {66193#true} is VALID [2022-04-08 08:34:52,353 INFO L290 TraceCheckUtils]: 29: Hoare triple {66193#true} assume true; {66193#true} is VALID [2022-04-08 08:34:52,353 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {66193#true} {66193#true} #1176#return; {66193#true} is VALID [2022-04-08 08:34:52,354 INFO L290 TraceCheckUtils]: 31: Hoare triple {66193#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {66193#true} is VALID [2022-04-08 08:34:52,354 INFO L290 TraceCheckUtils]: 32: Hoare triple {66193#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {66193#true} is VALID [2022-04-08 08:34:52,354 INFO L272 TraceCheckUtils]: 33: Hoare triple {66193#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {66269#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:34:52,354 INFO L290 TraceCheckUtils]: 34: Hoare triple {66269#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {66193#true} is VALID [2022-04-08 08:34:52,354 INFO L290 TraceCheckUtils]: 35: Hoare triple {66193#true} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {66193#true} is VALID [2022-04-08 08:34:52,354 INFO L290 TraceCheckUtils]: 36: Hoare triple {66193#true} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {66193#true} is VALID [2022-04-08 08:34:52,354 INFO L290 TraceCheckUtils]: 37: Hoare triple {66193#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {66193#true} is VALID [2022-04-08 08:34:52,354 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {66193#true} {66193#true} #1178#return; {66193#true} is VALID [2022-04-08 08:34:52,355 INFO L290 TraceCheckUtils]: 39: Hoare triple {66193#true} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {66193#true} is VALID [2022-04-08 08:34:52,355 INFO L272 TraceCheckUtils]: 40: Hoare triple {66193#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {66193#true} is VALID [2022-04-08 08:34:52,355 INFO L290 TraceCheckUtils]: 41: Hoare triple {66193#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {66193#true} is VALID [2022-04-08 08:34:52,355 INFO L290 TraceCheckUtils]: 42: Hoare triple {66193#true} assume 0 == ~__BLAST_NONDET~2; {66193#true} is VALID [2022-04-08 08:34:52,355 INFO L290 TraceCheckUtils]: 43: Hoare triple {66193#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {66193#true} is VALID [2022-04-08 08:34:52,355 INFO L290 TraceCheckUtils]: 44: Hoare triple {66193#true} assume true; {66193#true} is VALID [2022-04-08 08:34:52,355 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {66193#true} {66193#true} #1180#return; {66193#true} is VALID [2022-04-08 08:34:52,355 INFO L290 TraceCheckUtils]: 46: Hoare triple {66193#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {66193#true} is VALID [2022-04-08 08:34:52,355 INFO L290 TraceCheckUtils]: 47: Hoare triple {66193#true} assume true; {66193#true} is VALID [2022-04-08 08:34:52,356 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {66193#true} {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} #1220#return; {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 08:34:52,356 INFO L290 TraceCheckUtils]: 49: Hoare triple {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 08:34:52,357 INFO L272 TraceCheckUtils]: 50: Hoare triple {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} call stub_driver_init(); {66290#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:34:52,357 INFO L290 TraceCheckUtils]: 51: Hoare triple {66290#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {66193#true} is VALID [2022-04-08 08:34:52,357 INFO L290 TraceCheckUtils]: 52: Hoare triple {66193#true} assume true; {66193#true} is VALID [2022-04-08 08:34:52,357 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {66193#true} {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} #1222#return; {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 08:34:52,357 INFO L290 TraceCheckUtils]: 54: Hoare triple {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} assume !!(~status~5 >= 0); {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 08:34:52,358 INFO L290 TraceCheckUtils]: 55: Hoare triple {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} assume !(0 == ~__BLAST_NONDET~0); {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 08:34:52,358 INFO L290 TraceCheckUtils]: 56: Hoare triple {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} assume !(1 == ~__BLAST_NONDET~0); {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 08:34:52,358 INFO L290 TraceCheckUtils]: 57: Hoare triple {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} assume !(2 == ~__BLAST_NONDET~0); {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 08:34:52,359 INFO L290 TraceCheckUtils]: 58: Hoare triple {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} assume 3 == ~__BLAST_NONDET~0; {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 08:34:52,359 INFO L272 TraceCheckUtils]: 59: Hoare triple {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 08:34:52,360 INFO L290 TraceCheckUtils]: 60: Hoare triple {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~devExt~3.base, ~devExt~3.offset;havoc ~irpStack~3.base, ~irpStack~3.offset;havoc ~status~3;call ~#event~1.base, ~#event~1.offset := #Ultimate.allocOnStack(16);havoc ~irpSp~0.base, ~irpSp~0.offset;havoc ~nextIrpSp~0.base, ~nextIrpSp~0.offset;havoc ~irpSp___0~0.base, ~irpSp___0~0.offset;~status~3 := 0;call #t~mem79.base, #t~mem79.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~3.base, ~devExt~3.offset := #t~mem79.base, #t~mem79.offset;havoc #t~mem79.base, #t~mem79.offset;call #t~mem80.base, #t~mem80.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~3.base, ~irpStack~3.offset := #t~mem80.base, #t~mem80.offset;havoc #t~mem80.base, #t~mem80.offset;call #t~mem81 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 08:34:52,360 INFO L290 TraceCheckUtils]: 61: Hoare triple {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} assume 0 == #t~mem81 % 256;havoc #t~mem81; {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 08:34:52,360 INFO L290 TraceCheckUtils]: 62: Hoare triple {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp~0.base, ~irpSp~0.offset := #t~mem102.base, #t~mem102.offset;havoc #t~mem102.base, #t~mem102.offset;call #t~mem103.base, #t~mem103.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 36;havoc #t~mem103.base, #t~mem103.offset; {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 08:34:52,361 INFO L272 TraceCheckUtils]: 63: Hoare triple {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} call #t~memmove~res104.base, #t~memmove~res104.offset := #Ultimate.C_memmove(~nextIrpSp~0.base, ~nextIrpSp~0.offset, ~irpSp~0.base, ~irpSp~0.offset, 28); {66269#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:34:52,361 INFO L290 TraceCheckUtils]: 64: Hoare triple {66269#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {66193#true} is VALID [2022-04-08 08:34:52,361 INFO L290 TraceCheckUtils]: 65: Hoare triple {66193#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {66193#true} is VALID [2022-04-08 08:34:52,361 INFO L290 TraceCheckUtils]: 66: Hoare triple {66193#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {66193#true} is VALID [2022-04-08 08:34:52,362 INFO L290 TraceCheckUtils]: 67: Hoare triple {66193#true} assume #res.base == dest.base && #res.offset == dest.offset; {66193#true} is VALID [2022-04-08 08:34:52,362 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {66193#true} {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} #1186#return; {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 08:34:52,363 INFO L290 TraceCheckUtils]: 69: Hoare triple {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 08:34:52,363 INFO L290 TraceCheckUtils]: 70: Hoare triple {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} assume !(~s~0 != ~NP~0); {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 08:34:52,363 INFO L290 TraceCheckUtils]: 71: Hoare triple {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 08:34:52,364 INFO L290 TraceCheckUtils]: 72: Hoare triple {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 36;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 28 + ~irpSp___0~0.offset, 4);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 32 + ~irpSp___0~0.offset, 4);call write~int(0, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(64, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call #t~mem106 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem106 % 256, 128), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem106;call #t~mem107 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem107 % 256, 32), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem107;call #t~mem108.base, #t~mem108.offset := read~$Pointer$(~devExt~3.base, 8 + ~devExt~3.offset, 4); {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 08:34:52,365 INFO L272 TraceCheckUtils]: 73: Hoare triple {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {66291#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:34:52,365 INFO L290 TraceCheckUtils]: 74: Hoare triple {66291#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {66193#true} is VALID [2022-04-08 08:34:52,365 INFO L290 TraceCheckUtils]: 75: Hoare triple {66193#true} assume 0 != ~compRegistered~0; {66193#true} is VALID [2022-04-08 08:34:52,366 INFO L272 TraceCheckUtils]: 76: Hoare triple {66193#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {66305#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:34:52,366 INFO L290 TraceCheckUtils]: 77: Hoare triple {66305#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {66193#true} is VALID [2022-04-08 08:34:52,367 INFO L272 TraceCheckUtils]: 78: Hoare triple {66193#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {66305#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:34:52,367 INFO L290 TraceCheckUtils]: 79: Hoare triple {66305#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {66193#true} is VALID [2022-04-08 08:34:52,367 INFO L290 TraceCheckUtils]: 80: Hoare triple {66193#true} assume true; {66193#true} is VALID [2022-04-08 08:34:52,367 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {66193#true} {66193#true} #1174#return; {66193#true} is VALID [2022-04-08 08:34:52,367 INFO L290 TraceCheckUtils]: 82: Hoare triple {66193#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {66193#true} is VALID [2022-04-08 08:34:52,367 INFO L290 TraceCheckUtils]: 83: Hoare triple {66193#true} assume true; {66193#true} is VALID [2022-04-08 08:34:52,367 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {66193#true} {66193#true} #1210#return; {66193#true} is VALID [2022-04-08 08:34:52,367 INFO L290 TraceCheckUtils]: 85: Hoare triple {66193#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {66193#true} is VALID [2022-04-08 08:34:52,367 INFO L290 TraceCheckUtils]: 86: Hoare triple {66193#true} assume -1073741802 == ~compRetStatus~0; {66193#true} is VALID [2022-04-08 08:34:52,367 INFO L272 TraceCheckUtils]: 87: Hoare triple {66193#true} call stubMoreProcessingRequired(); {66309#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:34:52,367 INFO L290 TraceCheckUtils]: 88: Hoare triple {66309#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {66310#(= ~MPR1~0 ~s~0)} is VALID [2022-04-08 08:34:52,368 INFO L290 TraceCheckUtils]: 89: Hoare triple {66310#(= ~MPR1~0 ~s~0)} assume true; {66310#(= ~MPR1~0 ~s~0)} is VALID [2022-04-08 08:34:52,368 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {66310#(= ~MPR1~0 ~s~0)} {66193#true} #1212#return; {66303#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~s~0))} is VALID [2022-04-08 08:34:52,368 INFO L290 TraceCheckUtils]: 91: Hoare triple {66303#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~s~0))} assume 0 == ~__BLAST_NONDET~11; {66303#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~s~0))} is VALID [2022-04-08 08:34:52,369 INFO L290 TraceCheckUtils]: 92: Hoare triple {66303#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~s~0))} ~returnVal2~0 := 0; {66303#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~s~0))} is VALID [2022-04-08 08:34:52,369 INFO L290 TraceCheckUtils]: 93: Hoare triple {66303#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~s~0))} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := ~returnVal2~0; {66304#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~NP~0))} is VALID [2022-04-08 08:34:52,369 INFO L290 TraceCheckUtils]: 94: Hoare triple {66304#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~NP~0))} #res := ~returnVal2~0; {66304#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~NP~0))} is VALID [2022-04-08 08:34:52,370 INFO L290 TraceCheckUtils]: 95: Hoare triple {66304#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~NP~0))} assume true; {66304#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~NP~0))} is VALID [2022-04-08 08:34:52,370 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {66304#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~NP~0))} {66201#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} #1192#return; {66194#false} is VALID [2022-04-08 08:34:52,370 INFO L290 TraceCheckUtils]: 97: Hoare triple {66194#false} assume -2147483648 <= #t~ret109 && #t~ret109 <= 2147483647;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {66194#false} is VALID [2022-04-08 08:34:52,370 INFO L290 TraceCheckUtils]: 98: Hoare triple {66194#false} assume !(259 == ~status~3); {66194#false} is VALID [2022-04-08 08:34:52,370 INFO L290 TraceCheckUtils]: 99: Hoare triple {66194#false} assume ~status~3 >= 0; {66194#false} is VALID [2022-04-08 08:34:52,371 INFO L290 TraceCheckUtils]: 100: Hoare triple {66194#false} assume !(~myStatus~0 >= 0); {66194#false} is VALID [2022-04-08 08:34:52,371 INFO L290 TraceCheckUtils]: 101: Hoare triple {66194#false} call write~int(~status~3, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~3;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4); {66194#false} is VALID [2022-04-08 08:34:52,371 INFO L272 TraceCheckUtils]: 102: Hoare triple {66194#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {66194#false} is VALID [2022-04-08 08:34:52,371 INFO L290 TraceCheckUtils]: 103: Hoare triple {66194#false} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {66194#false} is VALID [2022-04-08 08:34:52,371 INFO L290 TraceCheckUtils]: 104: Hoare triple {66194#false} assume !(~s~0 == ~NP~0); {66194#false} is VALID [2022-04-08 08:34:52,371 INFO L272 TraceCheckUtils]: 105: Hoare triple {66194#false} call errorFn(); {66194#false} is VALID [2022-04-08 08:34:52,371 INFO L290 TraceCheckUtils]: 106: Hoare triple {66194#false} assume !false; {66194#false} is VALID [2022-04-08 08:34:52,371 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 08:34:52,371 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:34:52,371 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [85483502] [2022-04-08 08:34:52,371 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [85483502] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:34:52,371 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:34:52,372 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 08:34:52,372 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:34:52,372 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [610084406] [2022-04-08 08:34:52,372 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [610084406] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:34:52,372 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:34:52,372 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 08:34:52,372 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [246538281] [2022-04-08 08:34:52,372 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:34:52,372 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.357142857142857) internal successors, (75), 6 states have internal predecessors, (75), 3 states have call successors, (18), 11 states have call predecessors, (18), 4 states have return successors, (14), 4 states have call predecessors, (14), 2 states have call successors, (14) Word has length 107 [2022-04-08 08:34:52,372 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:34:52,373 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 5.357142857142857) internal successors, (75), 6 states have internal predecessors, (75), 3 states have call successors, (18), 11 states have call predecessors, (18), 4 states have return successors, (14), 4 states have call predecessors, (14), 2 states have call successors, (14) [2022-04-08 08:34:52,468 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:34:52,468 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 08:34:52,468 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:34:52,468 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 08:34:52,468 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-08 08:34:52,468 INFO L87 Difference]: Start difference. First operand 325 states and 381 transitions. Second operand has 14 states, 14 states have (on average 5.357142857142857) internal successors, (75), 6 states have internal predecessors, (75), 3 states have call successors, (18), 11 states have call predecessors, (18), 4 states have return successors, (14), 4 states have call predecessors, (14), 2 states have call successors, (14) [2022-04-08 08:34:56,186 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.47s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:34:58,213 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:35:00,241 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:35:02,266 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.02s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:35:10,271 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:35:10,271 INFO L93 Difference]: Finished difference Result 459 states and 550 transitions. [2022-04-08 08:35:10,271 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-08 08:35:10,271 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.357142857142857) internal successors, (75), 6 states have internal predecessors, (75), 3 states have call successors, (18), 11 states have call predecessors, (18), 4 states have return successors, (14), 4 states have call predecessors, (14), 2 states have call successors, (14) Word has length 107 [2022-04-08 08:35:10,272 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:35:10,272 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.357142857142857) internal successors, (75), 6 states have internal predecessors, (75), 3 states have call successors, (18), 11 states have call predecessors, (18), 4 states have return successors, (14), 4 states have call predecessors, (14), 2 states have call successors, (14) [2022-04-08 08:35:10,282 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 244 transitions. [2022-04-08 08:35:10,283 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.357142857142857) internal successors, (75), 6 states have internal predecessors, (75), 3 states have call successors, (18), 11 states have call predecessors, (18), 4 states have return successors, (14), 4 states have call predecessors, (14), 2 states have call successors, (14) [2022-04-08 08:35:10,284 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 244 transitions. [2022-04-08 08:35:10,284 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 244 transitions. [2022-04-08 08:35:10,591 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 244 edges. 244 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:35:10,597 INFO L225 Difference]: With dead ends: 459 [2022-04-08 08:35:10,597 INFO L226 Difference]: Without dead ends: 363 [2022-04-08 08:35:10,597 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 52 GetRequests, 25 SyntacticMatches, 1 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 114 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=175, Invalid=581, Unknown=0, NotChecked=0, Total=756 [2022-04-08 08:35:10,598 INFO L913 BasicCegarLoop]: 130 mSDtfsCounter, 395 mSDsluCounter, 175 mSDsCounter, 0 mSdLazyCounter, 528 mSolverCounterSat, 193 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 9.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 398 SdHoareTripleChecker+Valid, 305 SdHoareTripleChecker+Invalid, 724 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 193 IncrementalHoareTripleChecker+Valid, 528 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 10.0s IncrementalHoareTripleChecker+Time [2022-04-08 08:35:10,598 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [398 Valid, 305 Invalid, 724 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [193 Valid, 528 Invalid, 3 Unknown, 0 Unchecked, 10.0s Time] [2022-04-08 08:35:10,598 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 363 states. [2022-04-08 08:35:11,250 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 363 to 313. [2022-04-08 08:35:11,251 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:35:11,251 INFO L82 GeneralOperation]: Start isEquivalent. First operand 363 states. Second operand has 313 states, 240 states have (on average 1.2125) internal successors, (291), 244 states have internal predecessors, (291), 36 states have call successors, (36), 34 states have call predecessors, (36), 36 states have return successors, (38), 34 states have call predecessors, (38), 32 states have call successors, (38) [2022-04-08 08:35:11,251 INFO L74 IsIncluded]: Start isIncluded. First operand 363 states. Second operand has 313 states, 240 states have (on average 1.2125) internal successors, (291), 244 states have internal predecessors, (291), 36 states have call successors, (36), 34 states have call predecessors, (36), 36 states have return successors, (38), 34 states have call predecessors, (38), 32 states have call successors, (38) [2022-04-08 08:35:11,252 INFO L87 Difference]: Start difference. First operand 363 states. Second operand has 313 states, 240 states have (on average 1.2125) internal successors, (291), 244 states have internal predecessors, (291), 36 states have call successors, (36), 34 states have call predecessors, (36), 36 states have return successors, (38), 34 states have call predecessors, (38), 32 states have call successors, (38) [2022-04-08 08:35:11,256 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:35:11,256 INFO L93 Difference]: Finished difference Result 363 states and 427 transitions. [2022-04-08 08:35:11,256 INFO L276 IsEmpty]: Start isEmpty. Operand 363 states and 427 transitions. [2022-04-08 08:35:11,257 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:35:11,257 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:35:11,257 INFO L74 IsIncluded]: Start isIncluded. First operand has 313 states, 240 states have (on average 1.2125) internal successors, (291), 244 states have internal predecessors, (291), 36 states have call successors, (36), 34 states have call predecessors, (36), 36 states have return successors, (38), 34 states have call predecessors, (38), 32 states have call successors, (38) Second operand 363 states. [2022-04-08 08:35:11,257 INFO L87 Difference]: Start difference. First operand has 313 states, 240 states have (on average 1.2125) internal successors, (291), 244 states have internal predecessors, (291), 36 states have call successors, (36), 34 states have call predecessors, (36), 36 states have return successors, (38), 34 states have call predecessors, (38), 32 states have call successors, (38) Second operand 363 states. [2022-04-08 08:35:11,262 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:35:11,262 INFO L93 Difference]: Finished difference Result 363 states and 427 transitions. [2022-04-08 08:35:11,262 INFO L276 IsEmpty]: Start isEmpty. Operand 363 states and 427 transitions. [2022-04-08 08:35:11,262 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:35:11,262 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:35:11,262 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:35:11,262 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:35:11,263 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 313 states, 240 states have (on average 1.2125) internal successors, (291), 244 states have internal predecessors, (291), 36 states have call successors, (36), 34 states have call predecessors, (36), 36 states have return successors, (38), 34 states have call predecessors, (38), 32 states have call successors, (38) [2022-04-08 08:35:11,267 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 313 states to 313 states and 365 transitions. [2022-04-08 08:35:11,267 INFO L78 Accepts]: Start accepts. Automaton has 313 states and 365 transitions. Word has length 107 [2022-04-08 08:35:11,267 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:35:11,268 INFO L478 AbstractCegarLoop]: Abstraction has 313 states and 365 transitions. [2022-04-08 08:35:11,268 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 5.357142857142857) internal successors, (75), 6 states have internal predecessors, (75), 3 states have call successors, (18), 11 states have call predecessors, (18), 4 states have return successors, (14), 4 states have call predecessors, (14), 2 states have call successors, (14) [2022-04-08 08:35:11,268 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 313 states and 365 transitions. [2022-04-08 08:35:12,247 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 365 edges. 365 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:35:12,247 INFO L276 IsEmpty]: Start isEmpty. Operand 313 states and 365 transitions. [2022-04-08 08:35:12,248 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 110 [2022-04-08 08:35:12,248 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:35:12,248 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:35:12,248 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable27 [2022-04-08 08:35:12,248 INFO L403 AbstractCegarLoop]: === Iteration 29 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:35:12,249 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:35:12,249 INFO L85 PathProgramCache]: Analyzing trace with hash -1477106018, now seen corresponding path program 1 times [2022-04-08 08:35:12,249 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:35:12,249 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [343092791] [2022-04-08 08:35:12,251 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 4 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 08:35:12,251 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 08:35:12,251 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 08:35:12,251 INFO L85 PathProgramCache]: Analyzing trace with hash -1477106018, now seen corresponding path program 2 times [2022-04-08 08:35:12,251 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:35:12,251 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1113083964] [2022-04-08 08:35:12,251 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:35:12,251 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:35:12,345 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:12,425 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:35:12,427 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:12,434 INFO L290 TraceCheckUtils]: 0: Hoare triple {68693#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {68616#true} is VALID [2022-04-08 08:35:12,434 INFO L290 TraceCheckUtils]: 1: Hoare triple {68616#true} assume true; {68616#true} is VALID [2022-04-08 08:35:12,434 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {68616#true} {68616#true} #1270#return; {68616#true} is VALID [2022-04-08 08:35:12,455 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:35:12,456 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:12,462 INFO L290 TraceCheckUtils]: 0: Hoare triple {68694#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {68616#true} is VALID [2022-04-08 08:35:12,462 INFO L290 TraceCheckUtils]: 1: Hoare triple {68616#true} assume true; {68616#true} is VALID [2022-04-08 08:35:12,462 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {68616#true} {68616#true} #1216#return; {68616#true} is VALID [2022-04-08 08:35:12,469 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:35:12,475 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:12,484 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:35:12,484 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:12,490 INFO L290 TraceCheckUtils]: 0: Hoare triple {68616#true} ~cond := #in~cond; {68616#true} is VALID [2022-04-08 08:35:12,490 INFO L290 TraceCheckUtils]: 1: Hoare triple {68616#true} assume !(0 == ~cond); {68616#true} is VALID [2022-04-08 08:35:12,490 INFO L290 TraceCheckUtils]: 2: Hoare triple {68616#true} assume true; {68616#true} is VALID [2022-04-08 08:35:12,490 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {68616#true} {68616#true} #1254#return; {68616#true} is VALID [2022-04-08 08:35:12,490 INFO L290 TraceCheckUtils]: 0: Hoare triple {68695#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {68616#true} is VALID [2022-04-08 08:35:12,490 INFO L272 TraceCheckUtils]: 1: Hoare triple {68616#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {68616#true} is VALID [2022-04-08 08:35:12,490 INFO L290 TraceCheckUtils]: 2: Hoare triple {68616#true} ~cond := #in~cond; {68616#true} is VALID [2022-04-08 08:35:12,490 INFO L290 TraceCheckUtils]: 3: Hoare triple {68616#true} assume !(0 == ~cond); {68616#true} is VALID [2022-04-08 08:35:12,491 INFO L290 TraceCheckUtils]: 4: Hoare triple {68616#true} assume true; {68616#true} is VALID [2022-04-08 08:35:12,491 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {68616#true} {68616#true} #1254#return; {68616#true} is VALID [2022-04-08 08:35:12,491 INFO L290 TraceCheckUtils]: 6: Hoare triple {68616#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {68616#true} is VALID [2022-04-08 08:35:12,491 INFO L290 TraceCheckUtils]: 7: Hoare triple {68616#true} assume true; {68616#true} is VALID [2022-04-08 08:35:12,491 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {68616#true} {68616#true} #1218#return; {68616#true} is VALID [2022-04-08 08:35:12,501 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:35:12,513 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:12,525 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:35:12,531 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:12,539 INFO L290 TraceCheckUtils]: 0: Hoare triple {68700#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {68616#true} is VALID [2022-04-08 08:35:12,539 INFO L290 TraceCheckUtils]: 1: Hoare triple {68616#true} assume 0 == ~__BLAST_NONDET~5; {68616#true} is VALID [2022-04-08 08:35:12,539 INFO L290 TraceCheckUtils]: 2: Hoare triple {68616#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {68616#true} is VALID [2022-04-08 08:35:12,539 INFO L290 TraceCheckUtils]: 3: Hoare triple {68616#true} assume true; {68616#true} is VALID [2022-04-08 08:35:12,540 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {68616#true} {68616#true} #1176#return; {68616#true} is VALID [2022-04-08 08:35:12,540 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 08:35:12,541 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:12,548 INFO L290 TraceCheckUtils]: 0: Hoare triple {68695#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {68616#true} is VALID [2022-04-08 08:35:12,548 INFO L290 TraceCheckUtils]: 1: Hoare triple {68616#true} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {68616#true} is VALID [2022-04-08 08:35:12,548 INFO L290 TraceCheckUtils]: 2: Hoare triple {68616#true} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {68616#true} is VALID [2022-04-08 08:35:12,548 INFO L290 TraceCheckUtils]: 3: Hoare triple {68616#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {68616#true} is VALID [2022-04-08 08:35:12,548 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {68616#true} {68616#true} #1178#return; {68616#true} is VALID [2022-04-08 08:35:12,549 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-08 08:35:12,550 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:12,558 INFO L290 TraceCheckUtils]: 0: Hoare triple {68616#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {68616#true} is VALID [2022-04-08 08:35:12,558 INFO L290 TraceCheckUtils]: 1: Hoare triple {68616#true} assume 0 == ~__BLAST_NONDET~2; {68616#true} is VALID [2022-04-08 08:35:12,558 INFO L290 TraceCheckUtils]: 2: Hoare triple {68616#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {68616#true} is VALID [2022-04-08 08:35:12,558 INFO L290 TraceCheckUtils]: 3: Hoare triple {68616#true} assume true; {68616#true} is VALID [2022-04-08 08:35:12,559 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {68616#true} {68616#true} #1180#return; {68616#true} is VALID [2022-04-08 08:35:12,559 INFO L290 TraceCheckUtils]: 0: Hoare triple {68700#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {68616#true} is VALID [2022-04-08 08:35:12,560 INFO L272 TraceCheckUtils]: 1: Hoare triple {68616#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {68700#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:35:12,560 INFO L290 TraceCheckUtils]: 2: Hoare triple {68700#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {68616#true} is VALID [2022-04-08 08:35:12,560 INFO L290 TraceCheckUtils]: 3: Hoare triple {68616#true} assume 0 == ~__BLAST_NONDET~5; {68616#true} is VALID [2022-04-08 08:35:12,560 INFO L290 TraceCheckUtils]: 4: Hoare triple {68616#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {68616#true} is VALID [2022-04-08 08:35:12,560 INFO L290 TraceCheckUtils]: 5: Hoare triple {68616#true} assume true; {68616#true} is VALID [2022-04-08 08:35:12,560 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {68616#true} {68616#true} #1176#return; {68616#true} is VALID [2022-04-08 08:35:12,560 INFO L290 TraceCheckUtils]: 7: Hoare triple {68616#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {68616#true} is VALID [2022-04-08 08:35:12,560 INFO L290 TraceCheckUtils]: 8: Hoare triple {68616#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {68616#true} is VALID [2022-04-08 08:35:12,561 INFO L272 TraceCheckUtils]: 9: Hoare triple {68616#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {68695#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:35:12,561 INFO L290 TraceCheckUtils]: 10: Hoare triple {68695#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {68616#true} is VALID [2022-04-08 08:35:12,561 INFO L290 TraceCheckUtils]: 11: Hoare triple {68616#true} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {68616#true} is VALID [2022-04-08 08:35:12,561 INFO L290 TraceCheckUtils]: 12: Hoare triple {68616#true} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {68616#true} is VALID [2022-04-08 08:35:12,561 INFO L290 TraceCheckUtils]: 13: Hoare triple {68616#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {68616#true} is VALID [2022-04-08 08:35:12,561 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {68616#true} {68616#true} #1178#return; {68616#true} is VALID [2022-04-08 08:35:12,562 INFO L290 TraceCheckUtils]: 15: Hoare triple {68616#true} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {68616#true} is VALID [2022-04-08 08:35:12,562 INFO L272 TraceCheckUtils]: 16: Hoare triple {68616#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {68616#true} is VALID [2022-04-08 08:35:12,562 INFO L290 TraceCheckUtils]: 17: Hoare triple {68616#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {68616#true} is VALID [2022-04-08 08:35:12,562 INFO L290 TraceCheckUtils]: 18: Hoare triple {68616#true} assume 0 == ~__BLAST_NONDET~2; {68616#true} is VALID [2022-04-08 08:35:12,562 INFO L290 TraceCheckUtils]: 19: Hoare triple {68616#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {68616#true} is VALID [2022-04-08 08:35:12,562 INFO L290 TraceCheckUtils]: 20: Hoare triple {68616#true} assume true; {68616#true} is VALID [2022-04-08 08:35:12,562 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {68616#true} {68616#true} #1180#return; {68616#true} is VALID [2022-04-08 08:35:12,562 INFO L290 TraceCheckUtils]: 22: Hoare triple {68616#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {68616#true} is VALID [2022-04-08 08:35:12,562 INFO L290 TraceCheckUtils]: 23: Hoare triple {68616#true} assume true; {68616#true} is VALID [2022-04-08 08:35:12,562 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {68616#true} {68616#true} #1220#return; {68616#true} is VALID [2022-04-08 08:35:12,575 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-08 08:35:12,576 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:12,581 INFO L290 TraceCheckUtils]: 0: Hoare triple {68716#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {68616#true} is VALID [2022-04-08 08:35:12,581 INFO L290 TraceCheckUtils]: 1: Hoare triple {68616#true} assume true; {68616#true} is VALID [2022-04-08 08:35:12,581 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {68616#true} {68616#true} #1222#return; {68616#true} is VALID [2022-04-08 08:35:12,581 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-08 08:35:12,583 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:12,587 INFO L290 TraceCheckUtils]: 0: Hoare triple {68695#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {68616#true} is VALID [2022-04-08 08:35:12,587 INFO L290 TraceCheckUtils]: 1: Hoare triple {68616#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {68616#true} is VALID [2022-04-08 08:35:12,587 INFO L290 TraceCheckUtils]: 2: Hoare triple {68616#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {68616#true} is VALID [2022-04-08 08:35:12,587 INFO L290 TraceCheckUtils]: 3: Hoare triple {68616#true} assume #res.base == dest.base && #res.offset == dest.offset; {68616#true} is VALID [2022-04-08 08:35:12,588 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {68616#true} {68616#true} #1186#return; {68616#true} is VALID [2022-04-08 08:35:12,595 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 73 [2022-04-08 08:35:12,598 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:12,609 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 08:35:12,611 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:12,632 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:35:12,633 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:12,637 INFO L290 TraceCheckUtils]: 0: Hoare triple {68729#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {68616#true} is VALID [2022-04-08 08:35:12,637 INFO L290 TraceCheckUtils]: 1: Hoare triple {68616#true} assume true; {68616#true} is VALID [2022-04-08 08:35:12,637 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {68616#true} {68616#true} #1174#return; {68616#true} is VALID [2022-04-08 08:35:12,637 INFO L290 TraceCheckUtils]: 0: Hoare triple {68729#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {68616#true} is VALID [2022-04-08 08:35:12,638 INFO L272 TraceCheckUtils]: 1: Hoare triple {68616#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {68729#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:35:12,638 INFO L290 TraceCheckUtils]: 2: Hoare triple {68729#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {68616#true} is VALID [2022-04-08 08:35:12,638 INFO L290 TraceCheckUtils]: 3: Hoare triple {68616#true} assume true; {68616#true} is VALID [2022-04-08 08:35:12,638 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {68616#true} {68616#true} #1174#return; {68616#true} is VALID [2022-04-08 08:35:12,638 INFO L290 TraceCheckUtils]: 5: Hoare triple {68616#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {68616#true} is VALID [2022-04-08 08:35:12,638 INFO L290 TraceCheckUtils]: 6: Hoare triple {68616#true} assume true; {68616#true} is VALID [2022-04-08 08:35:12,638 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {68616#true} {68616#true} #1210#return; {68616#true} is VALID [2022-04-08 08:35:12,644 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 08:35:12,645 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:12,649 INFO L290 TraceCheckUtils]: 0: Hoare triple {68733#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {68616#true} is VALID [2022-04-08 08:35:12,650 INFO L290 TraceCheckUtils]: 1: Hoare triple {68616#true} assume true; {68616#true} is VALID [2022-04-08 08:35:12,650 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {68616#true} {68616#true} #1212#return; {68616#true} is VALID [2022-04-08 08:35:12,650 INFO L290 TraceCheckUtils]: 0: Hoare triple {68717#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {68616#true} is VALID [2022-04-08 08:35:12,650 INFO L290 TraceCheckUtils]: 1: Hoare triple {68616#true} assume 0 != ~compRegistered~0; {68616#true} is VALID [2022-04-08 08:35:12,650 INFO L272 TraceCheckUtils]: 2: Hoare triple {68616#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {68729#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:35:12,651 INFO L290 TraceCheckUtils]: 3: Hoare triple {68729#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {68616#true} is VALID [2022-04-08 08:35:12,651 INFO L272 TraceCheckUtils]: 4: Hoare triple {68616#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {68729#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:35:12,651 INFO L290 TraceCheckUtils]: 5: Hoare triple {68729#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {68616#true} is VALID [2022-04-08 08:35:12,651 INFO L290 TraceCheckUtils]: 6: Hoare triple {68616#true} assume true; {68616#true} is VALID [2022-04-08 08:35:12,651 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {68616#true} {68616#true} #1174#return; {68616#true} is VALID [2022-04-08 08:35:12,651 INFO L290 TraceCheckUtils]: 8: Hoare triple {68616#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {68616#true} is VALID [2022-04-08 08:35:12,651 INFO L290 TraceCheckUtils]: 9: Hoare triple {68616#true} assume true; {68616#true} is VALID [2022-04-08 08:35:12,651 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {68616#true} {68616#true} #1210#return; {68616#true} is VALID [2022-04-08 08:35:12,651 INFO L290 TraceCheckUtils]: 11: Hoare triple {68616#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {68616#true} is VALID [2022-04-08 08:35:12,651 INFO L290 TraceCheckUtils]: 12: Hoare triple {68616#true} assume -1073741802 == ~compRetStatus~0; {68616#true} is VALID [2022-04-08 08:35:12,652 INFO L272 TraceCheckUtils]: 13: Hoare triple {68616#true} call stubMoreProcessingRequired(); {68733#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:35:12,652 INFO L290 TraceCheckUtils]: 14: Hoare triple {68733#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {68616#true} is VALID [2022-04-08 08:35:12,652 INFO L290 TraceCheckUtils]: 15: Hoare triple {68616#true} assume true; {68616#true} is VALID [2022-04-08 08:35:12,652 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {68616#true} {68616#true} #1212#return; {68616#true} is VALID [2022-04-08 08:35:12,652 INFO L290 TraceCheckUtils]: 17: Hoare triple {68616#true} assume !(0 == ~__BLAST_NONDET~11); {68616#true} is VALID [2022-04-08 08:35:12,652 INFO L290 TraceCheckUtils]: 18: Hoare triple {68616#true} assume 1 == ~__BLAST_NONDET~11; {68616#true} is VALID [2022-04-08 08:35:12,652 INFO L290 TraceCheckUtils]: 19: Hoare triple {68616#true} ~returnVal2~0 := -1073741823; {68616#true} is VALID [2022-04-08 08:35:12,652 INFO L290 TraceCheckUtils]: 20: Hoare triple {68616#true} assume !(~s~0 == ~NP~0); {68616#true} is VALID [2022-04-08 08:35:12,652 INFO L290 TraceCheckUtils]: 21: Hoare triple {68616#true} assume ~s~0 == ~MPR1~0; {68616#true} is VALID [2022-04-08 08:35:12,652 INFO L290 TraceCheckUtils]: 22: Hoare triple {68616#true} assume !(259 == ~returnVal2~0);~s~0 := ~NP~0;~lowerDriverReturn~0 := ~returnVal2~0; {68616#true} is VALID [2022-04-08 08:35:12,652 INFO L290 TraceCheckUtils]: 23: Hoare triple {68616#true} #res := ~returnVal2~0; {68616#true} is VALID [2022-04-08 08:35:12,652 INFO L290 TraceCheckUtils]: 24: Hoare triple {68616#true} assume true; {68616#true} is VALID [2022-04-08 08:35:12,652 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {68616#true} {68616#true} #1192#return; {68616#true} is VALID [2022-04-08 08:35:12,653 INFO L272 TraceCheckUtils]: 0: Hoare triple {68616#true} call ULTIMATE.init(); {68693#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:35:12,654 INFO L290 TraceCheckUtils]: 1: Hoare triple {68693#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {68616#true} is VALID [2022-04-08 08:35:12,654 INFO L290 TraceCheckUtils]: 2: Hoare triple {68616#true} assume true; {68616#true} is VALID [2022-04-08 08:35:12,654 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {68616#true} {68616#true} #1270#return; {68616#true} is VALID [2022-04-08 08:35:12,654 INFO L272 TraceCheckUtils]: 4: Hoare triple {68616#true} call #t~ret213 := main(); {68616#true} is VALID [2022-04-08 08:35:12,654 INFO L290 TraceCheckUtils]: 5: Hoare triple {68616#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {68616#true} is VALID [2022-04-08 08:35:12,655 INFO L272 TraceCheckUtils]: 6: Hoare triple {68616#true} call _BLAST_init(); {68694#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:35:12,655 INFO L290 TraceCheckUtils]: 7: Hoare triple {68694#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {68616#true} is VALID [2022-04-08 08:35:12,655 INFO L290 TraceCheckUtils]: 8: Hoare triple {68616#true} assume true; {68616#true} is VALID [2022-04-08 08:35:12,655 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {68616#true} {68616#true} #1216#return; {68616#true} is VALID [2022-04-08 08:35:12,655 INFO L272 TraceCheckUtils]: 10: Hoare triple {68616#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {68695#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:35:12,655 INFO L290 TraceCheckUtils]: 11: Hoare triple {68695#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {68616#true} is VALID [2022-04-08 08:35:12,656 INFO L272 TraceCheckUtils]: 12: Hoare triple {68616#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {68616#true} is VALID [2022-04-08 08:35:12,656 INFO L290 TraceCheckUtils]: 13: Hoare triple {68616#true} ~cond := #in~cond; {68616#true} is VALID [2022-04-08 08:35:12,656 INFO L290 TraceCheckUtils]: 14: Hoare triple {68616#true} assume !(0 == ~cond); {68616#true} is VALID [2022-04-08 08:35:12,656 INFO L290 TraceCheckUtils]: 15: Hoare triple {68616#true} assume true; {68616#true} is VALID [2022-04-08 08:35:12,656 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {68616#true} {68616#true} #1254#return; {68616#true} is VALID [2022-04-08 08:35:12,656 INFO L290 TraceCheckUtils]: 17: Hoare triple {68616#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {68616#true} is VALID [2022-04-08 08:35:12,656 INFO L290 TraceCheckUtils]: 18: Hoare triple {68616#true} assume true; {68616#true} is VALID [2022-04-08 08:35:12,656 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {68616#true} {68616#true} #1218#return; {68616#true} is VALID [2022-04-08 08:35:12,656 INFO L290 TraceCheckUtils]: 20: Hoare triple {68616#true} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {68616#true} is VALID [2022-04-08 08:35:12,656 INFO L290 TraceCheckUtils]: 21: Hoare triple {68616#true} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {68616#true} is VALID [2022-04-08 08:35:12,656 INFO L290 TraceCheckUtils]: 22: Hoare triple {68616#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {68616#true} is VALID [2022-04-08 08:35:12,657 INFO L272 TraceCheckUtils]: 23: Hoare triple {68616#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {68700#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:35:12,657 INFO L290 TraceCheckUtils]: 24: Hoare triple {68700#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {68616#true} is VALID [2022-04-08 08:35:12,658 INFO L272 TraceCheckUtils]: 25: Hoare triple {68616#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {68700#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:35:12,658 INFO L290 TraceCheckUtils]: 26: Hoare triple {68700#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {68616#true} is VALID [2022-04-08 08:35:12,658 INFO L290 TraceCheckUtils]: 27: Hoare triple {68616#true} assume 0 == ~__BLAST_NONDET~5; {68616#true} is VALID [2022-04-08 08:35:12,658 INFO L290 TraceCheckUtils]: 28: Hoare triple {68616#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {68616#true} is VALID [2022-04-08 08:35:12,658 INFO L290 TraceCheckUtils]: 29: Hoare triple {68616#true} assume true; {68616#true} is VALID [2022-04-08 08:35:12,658 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {68616#true} {68616#true} #1176#return; {68616#true} is VALID [2022-04-08 08:35:12,658 INFO L290 TraceCheckUtils]: 31: Hoare triple {68616#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {68616#true} is VALID [2022-04-08 08:35:12,658 INFO L290 TraceCheckUtils]: 32: Hoare triple {68616#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {68616#true} is VALID [2022-04-08 08:35:12,659 INFO L272 TraceCheckUtils]: 33: Hoare triple {68616#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {68695#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:35:12,659 INFO L290 TraceCheckUtils]: 34: Hoare triple {68695#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {68616#true} is VALID [2022-04-08 08:35:12,659 INFO L290 TraceCheckUtils]: 35: Hoare triple {68616#true} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {68616#true} is VALID [2022-04-08 08:35:12,659 INFO L290 TraceCheckUtils]: 36: Hoare triple {68616#true} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {68616#true} is VALID [2022-04-08 08:35:12,659 INFO L290 TraceCheckUtils]: 37: Hoare triple {68616#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {68616#true} is VALID [2022-04-08 08:35:12,659 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {68616#true} {68616#true} #1178#return; {68616#true} is VALID [2022-04-08 08:35:12,659 INFO L290 TraceCheckUtils]: 39: Hoare triple {68616#true} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {68616#true} is VALID [2022-04-08 08:35:12,659 INFO L272 TraceCheckUtils]: 40: Hoare triple {68616#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {68616#true} is VALID [2022-04-08 08:35:12,659 INFO L290 TraceCheckUtils]: 41: Hoare triple {68616#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {68616#true} is VALID [2022-04-08 08:35:12,659 INFO L290 TraceCheckUtils]: 42: Hoare triple {68616#true} assume 0 == ~__BLAST_NONDET~2; {68616#true} is VALID [2022-04-08 08:35:12,659 INFO L290 TraceCheckUtils]: 43: Hoare triple {68616#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {68616#true} is VALID [2022-04-08 08:35:12,659 INFO L290 TraceCheckUtils]: 44: Hoare triple {68616#true} assume true; {68616#true} is VALID [2022-04-08 08:35:12,659 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {68616#true} {68616#true} #1180#return; {68616#true} is VALID [2022-04-08 08:35:12,659 INFO L290 TraceCheckUtils]: 46: Hoare triple {68616#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {68616#true} is VALID [2022-04-08 08:35:12,659 INFO L290 TraceCheckUtils]: 47: Hoare triple {68616#true} assume true; {68616#true} is VALID [2022-04-08 08:35:12,660 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {68616#true} {68616#true} #1220#return; {68616#true} is VALID [2022-04-08 08:35:12,660 INFO L290 TraceCheckUtils]: 49: Hoare triple {68616#true} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {68616#true} is VALID [2022-04-08 08:35:12,660 INFO L272 TraceCheckUtils]: 50: Hoare triple {68616#true} call stub_driver_init(); {68716#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:35:12,660 INFO L290 TraceCheckUtils]: 51: Hoare triple {68716#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {68616#true} is VALID [2022-04-08 08:35:12,660 INFO L290 TraceCheckUtils]: 52: Hoare triple {68616#true} assume true; {68616#true} is VALID [2022-04-08 08:35:12,660 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {68616#true} {68616#true} #1222#return; {68616#true} is VALID [2022-04-08 08:35:12,660 INFO L290 TraceCheckUtils]: 54: Hoare triple {68616#true} assume !!(~status~5 >= 0); {68616#true} is VALID [2022-04-08 08:35:12,660 INFO L290 TraceCheckUtils]: 55: Hoare triple {68616#true} assume !(0 == ~__BLAST_NONDET~0); {68616#true} is VALID [2022-04-08 08:35:12,660 INFO L290 TraceCheckUtils]: 56: Hoare triple {68616#true} assume !(1 == ~__BLAST_NONDET~0); {68616#true} is VALID [2022-04-08 08:35:12,660 INFO L290 TraceCheckUtils]: 57: Hoare triple {68616#true} assume !(2 == ~__BLAST_NONDET~0); {68616#true} is VALID [2022-04-08 08:35:12,661 INFO L290 TraceCheckUtils]: 58: Hoare triple {68616#true} assume 3 == ~__BLAST_NONDET~0; {68616#true} is VALID [2022-04-08 08:35:12,661 INFO L272 TraceCheckUtils]: 59: Hoare triple {68616#true} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {68616#true} is VALID [2022-04-08 08:35:12,661 INFO L290 TraceCheckUtils]: 60: Hoare triple {68616#true} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~devExt~3.base, ~devExt~3.offset;havoc ~irpStack~3.base, ~irpStack~3.offset;havoc ~status~3;call ~#event~1.base, ~#event~1.offset := #Ultimate.allocOnStack(16);havoc ~irpSp~0.base, ~irpSp~0.offset;havoc ~nextIrpSp~0.base, ~nextIrpSp~0.offset;havoc ~irpSp___0~0.base, ~irpSp___0~0.offset;~status~3 := 0;call #t~mem79.base, #t~mem79.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~3.base, ~devExt~3.offset := #t~mem79.base, #t~mem79.offset;havoc #t~mem79.base, #t~mem79.offset;call #t~mem80.base, #t~mem80.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~3.base, ~irpStack~3.offset := #t~mem80.base, #t~mem80.offset;havoc #t~mem80.base, #t~mem80.offset;call #t~mem81 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {68616#true} is VALID [2022-04-08 08:35:12,661 INFO L290 TraceCheckUtils]: 61: Hoare triple {68616#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {68616#true} is VALID [2022-04-08 08:35:12,661 INFO L290 TraceCheckUtils]: 62: Hoare triple {68616#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp~0.base, ~irpSp~0.offset := #t~mem102.base, #t~mem102.offset;havoc #t~mem102.base, #t~mem102.offset;call #t~mem103.base, #t~mem103.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 36;havoc #t~mem103.base, #t~mem103.offset; {68616#true} is VALID [2022-04-08 08:35:12,661 INFO L272 TraceCheckUtils]: 63: Hoare triple {68616#true} call #t~memmove~res104.base, #t~memmove~res104.offset := #Ultimate.C_memmove(~nextIrpSp~0.base, ~nextIrpSp~0.offset, ~irpSp~0.base, ~irpSp~0.offset, 28); {68695#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:35:12,662 INFO L290 TraceCheckUtils]: 64: Hoare triple {68695#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {68616#true} is VALID [2022-04-08 08:35:12,662 INFO L290 TraceCheckUtils]: 65: Hoare triple {68616#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {68616#true} is VALID [2022-04-08 08:35:12,662 INFO L290 TraceCheckUtils]: 66: Hoare triple {68616#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {68616#true} is VALID [2022-04-08 08:35:12,662 INFO L290 TraceCheckUtils]: 67: Hoare triple {68616#true} assume #res.base == dest.base && #res.offset == dest.offset; {68616#true} is VALID [2022-04-08 08:35:12,662 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {68616#true} {68616#true} #1186#return; {68616#true} is VALID [2022-04-08 08:35:12,662 INFO L290 TraceCheckUtils]: 69: Hoare triple {68616#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {68616#true} is VALID [2022-04-08 08:35:12,662 INFO L290 TraceCheckUtils]: 70: Hoare triple {68616#true} assume !(~s~0 != ~NP~0); {68616#true} is VALID [2022-04-08 08:35:12,662 INFO L290 TraceCheckUtils]: 71: Hoare triple {68616#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {68616#true} is VALID [2022-04-08 08:35:12,662 INFO L290 TraceCheckUtils]: 72: Hoare triple {68616#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 36;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 28 + ~irpSp___0~0.offset, 4);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 32 + ~irpSp___0~0.offset, 4);call write~int(0, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(64, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call #t~mem106 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem106 % 256, 128), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem106;call #t~mem107 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem107 % 256, 32), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem107;call #t~mem108.base, #t~mem108.offset := read~$Pointer$(~devExt~3.base, 8 + ~devExt~3.offset, 4); {68616#true} is VALID [2022-04-08 08:35:12,663 INFO L272 TraceCheckUtils]: 73: Hoare triple {68616#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {68717#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:35:12,663 INFO L290 TraceCheckUtils]: 74: Hoare triple {68717#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {68616#true} is VALID [2022-04-08 08:35:12,663 INFO L290 TraceCheckUtils]: 75: Hoare triple {68616#true} assume 0 != ~compRegistered~0; {68616#true} is VALID [2022-04-08 08:35:12,663 INFO L272 TraceCheckUtils]: 76: Hoare triple {68616#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {68729#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:35:12,664 INFO L290 TraceCheckUtils]: 77: Hoare triple {68729#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {68616#true} is VALID [2022-04-08 08:35:12,664 INFO L272 TraceCheckUtils]: 78: Hoare triple {68616#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {68729#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:35:12,664 INFO L290 TraceCheckUtils]: 79: Hoare triple {68729#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {68616#true} is VALID [2022-04-08 08:35:12,664 INFO L290 TraceCheckUtils]: 80: Hoare triple {68616#true} assume true; {68616#true} is VALID [2022-04-08 08:35:12,664 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {68616#true} {68616#true} #1174#return; {68616#true} is VALID [2022-04-08 08:35:12,664 INFO L290 TraceCheckUtils]: 82: Hoare triple {68616#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {68616#true} is VALID [2022-04-08 08:35:12,664 INFO L290 TraceCheckUtils]: 83: Hoare triple {68616#true} assume true; {68616#true} is VALID [2022-04-08 08:35:12,664 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {68616#true} {68616#true} #1210#return; {68616#true} is VALID [2022-04-08 08:35:12,664 INFO L290 TraceCheckUtils]: 85: Hoare triple {68616#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {68616#true} is VALID [2022-04-08 08:35:12,664 INFO L290 TraceCheckUtils]: 86: Hoare triple {68616#true} assume -1073741802 == ~compRetStatus~0; {68616#true} is VALID [2022-04-08 08:35:12,665 INFO L272 TraceCheckUtils]: 87: Hoare triple {68616#true} call stubMoreProcessingRequired(); {68733#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:35:12,665 INFO L290 TraceCheckUtils]: 88: Hoare triple {68733#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {68616#true} is VALID [2022-04-08 08:35:12,665 INFO L290 TraceCheckUtils]: 89: Hoare triple {68616#true} assume true; {68616#true} is VALID [2022-04-08 08:35:12,665 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {68616#true} {68616#true} #1212#return; {68616#true} is VALID [2022-04-08 08:35:12,665 INFO L290 TraceCheckUtils]: 91: Hoare triple {68616#true} assume !(0 == ~__BLAST_NONDET~11); {68616#true} is VALID [2022-04-08 08:35:12,665 INFO L290 TraceCheckUtils]: 92: Hoare triple {68616#true} assume 1 == ~__BLAST_NONDET~11; {68616#true} is VALID [2022-04-08 08:35:12,665 INFO L290 TraceCheckUtils]: 93: Hoare triple {68616#true} ~returnVal2~0 := -1073741823; {68616#true} is VALID [2022-04-08 08:35:12,665 INFO L290 TraceCheckUtils]: 94: Hoare triple {68616#true} assume !(~s~0 == ~NP~0); {68616#true} is VALID [2022-04-08 08:35:12,665 INFO L290 TraceCheckUtils]: 95: Hoare triple {68616#true} assume ~s~0 == ~MPR1~0; {68616#true} is VALID [2022-04-08 08:35:12,665 INFO L290 TraceCheckUtils]: 96: Hoare triple {68616#true} assume !(259 == ~returnVal2~0);~s~0 := ~NP~0;~lowerDriverReturn~0 := ~returnVal2~0; {68616#true} is VALID [2022-04-08 08:35:12,665 INFO L290 TraceCheckUtils]: 97: Hoare triple {68616#true} #res := ~returnVal2~0; {68616#true} is VALID [2022-04-08 08:35:12,665 INFO L290 TraceCheckUtils]: 98: Hoare triple {68616#true} assume true; {68616#true} is VALID [2022-04-08 08:35:12,665 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {68616#true} {68616#true} #1192#return; {68616#true} is VALID [2022-04-08 08:35:12,665 INFO L290 TraceCheckUtils]: 100: Hoare triple {68616#true} assume -2147483648 <= #t~ret109 && #t~ret109 <= 2147483647;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {68616#true} is VALID [2022-04-08 08:35:12,665 INFO L290 TraceCheckUtils]: 101: Hoare triple {68616#true} assume 259 == ~status~3; {68616#true} is VALID [2022-04-08 08:35:12,665 INFO L272 TraceCheckUtils]: 102: Hoare triple {68616#true} call #t~ret110 := KeWaitForSingleObject(~#event~1.base, ~#event~1.offset, 0, 0, 0, 0, 0); {68616#true} is VALID [2022-04-08 08:35:12,666 INFO L290 TraceCheckUtils]: 103: Hoare triple {68616#true} ~Object.base, ~Object.offset := #in~Object.base, #in~Object.offset;~WaitReason := #in~WaitReason;~WaitMode := #in~WaitMode;~Alertable := #in~Alertable;~Timeout.base, ~Timeout.offset := #in~Timeout.base, #in~Timeout.offset;assume -2147483648 <= #t~nondet200 && #t~nondet200 <= 2147483647;~__BLAST_NONDET~13 := #t~nondet200;havoc #t~nondet200; {68616#true} is VALID [2022-04-08 08:35:12,666 INFO L290 TraceCheckUtils]: 104: Hoare triple {68616#true} assume !(~s~0 == ~MPR3~0); {68692#(not (= ~MPR3~0 ~s~0))} is VALID [2022-04-08 08:35:12,666 INFO L290 TraceCheckUtils]: 105: Hoare triple {68692#(not (= ~MPR3~0 ~s~0))} assume !(1 == ~customIrp~0); {68692#(not (= ~MPR3~0 ~s~0))} is VALID [2022-04-08 08:35:12,666 INFO L290 TraceCheckUtils]: 106: Hoare triple {68692#(not (= ~MPR3~0 ~s~0))} assume ~s~0 == ~MPR3~0; {68617#false} is VALID [2022-04-08 08:35:12,666 INFO L272 TraceCheckUtils]: 107: Hoare triple {68617#false} call errorFn(); {68617#false} is VALID [2022-04-08 08:35:12,666 INFO L290 TraceCheckUtils]: 108: Hoare triple {68617#false} assume !false; {68617#false} is VALID [2022-04-08 08:35:12,667 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 08:35:12,667 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:35:12,667 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1113083964] [2022-04-08 08:35:12,667 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1113083964] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:35:12,667 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:35:12,667 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 08:35:12,667 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:35:12,667 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [343092791] [2022-04-08 08:35:12,667 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [343092791] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:35:12,667 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:35:12,667 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 08:35:12,667 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1272742888] [2022-04-08 08:35:12,667 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:35:12,668 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 7.0) internal successors, (77), 3 states have internal predecessors, (77), 2 states have call successors, (18), 10 states have call predecessors, (18), 1 states have return successors, (14), 1 states have call predecessors, (14), 1 states have call successors, (14) Word has length 109 [2022-04-08 08:35:12,668 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:35:12,669 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 7.0) internal successors, (77), 3 states have internal predecessors, (77), 2 states have call successors, (18), 10 states have call predecessors, (18), 1 states have return successors, (14), 1 states have call predecessors, (14), 1 states have call successors, (14) [2022-04-08 08:35:12,746 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:35:12,746 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 08:35:12,746 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:35:12,747 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 08:35:12,747 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=76, Unknown=0, NotChecked=0, Total=110 [2022-04-08 08:35:12,748 INFO L87 Difference]: Start difference. First operand 313 states and 365 transitions. Second operand has 11 states, 11 states have (on average 7.0) internal successors, (77), 3 states have internal predecessors, (77), 2 states have call successors, (18), 10 states have call predecessors, (18), 1 states have return successors, (14), 1 states have call predecessors, (14), 1 states have call successors, (14) [2022-04-08 08:35:14,857 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:35:19,186 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:35:19,187 INFO L93 Difference]: Finished difference Result 395 states and 474 transitions. [2022-04-08 08:35:19,187 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 08:35:19,187 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 7.0) internal successors, (77), 3 states have internal predecessors, (77), 2 states have call successors, (18), 10 states have call predecessors, (18), 1 states have return successors, (14), 1 states have call predecessors, (14), 1 states have call successors, (14) Word has length 109 [2022-04-08 08:35:19,187 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:35:19,187 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 7.0) internal successors, (77), 3 states have internal predecessors, (77), 2 states have call successors, (18), 10 states have call predecessors, (18), 1 states have return successors, (14), 1 states have call predecessors, (14), 1 states have call successors, (14) [2022-04-08 08:35:19,189 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 208 transitions. [2022-04-08 08:35:19,189 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 7.0) internal successors, (77), 3 states have internal predecessors, (77), 2 states have call successors, (18), 10 states have call predecessors, (18), 1 states have return successors, (14), 1 states have call predecessors, (14), 1 states have call successors, (14) [2022-04-08 08:35:19,191 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 208 transitions. [2022-04-08 08:35:19,191 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 208 transitions. [2022-04-08 08:35:19,467 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 208 edges. 208 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:35:19,485 INFO L225 Difference]: With dead ends: 395 [2022-04-08 08:35:19,485 INFO L226 Difference]: Without dead ends: 392 [2022-04-08 08:35:19,486 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 41 GetRequests, 25 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=97, Invalid=209, Unknown=0, NotChecked=0, Total=306 [2022-04-08 08:35:19,486 INFO L913 BasicCegarLoop]: 148 mSDtfsCounter, 344 mSDsluCounter, 217 mSDsCounter, 0 mSdLazyCounter, 398 mSolverCounterSat, 191 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 347 SdHoareTripleChecker+Valid, 365 SdHoareTripleChecker+Invalid, 590 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 191 IncrementalHoareTripleChecker+Valid, 398 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.4s IncrementalHoareTripleChecker+Time [2022-04-08 08:35:19,487 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [347 Valid, 365 Invalid, 590 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [191 Valid, 398 Invalid, 1 Unknown, 0 Unchecked, 3.4s Time] [2022-04-08 08:35:19,487 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 392 states. [2022-04-08 08:35:20,111 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 392 to 321. [2022-04-08 08:35:20,111 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:35:20,112 INFO L82 GeneralOperation]: Start isEquivalent. First operand 392 states. Second operand has 321 states, 248 states have (on average 1.221774193548387) internal successors, (303), 252 states have internal predecessors, (303), 36 states have call successors, (36), 34 states have call predecessors, (36), 36 states have return successors, (38), 34 states have call predecessors, (38), 32 states have call successors, (38) [2022-04-08 08:35:20,112 INFO L74 IsIncluded]: Start isIncluded. First operand 392 states. Second operand has 321 states, 248 states have (on average 1.221774193548387) internal successors, (303), 252 states have internal predecessors, (303), 36 states have call successors, (36), 34 states have call predecessors, (36), 36 states have return successors, (38), 34 states have call predecessors, (38), 32 states have call successors, (38) [2022-04-08 08:35:20,113 INFO L87 Difference]: Start difference. First operand 392 states. Second operand has 321 states, 248 states have (on average 1.221774193548387) internal successors, (303), 252 states have internal predecessors, (303), 36 states have call successors, (36), 34 states have call predecessors, (36), 36 states have return successors, (38), 34 states have call predecessors, (38), 32 states have call successors, (38) [2022-04-08 08:35:20,121 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:35:20,121 INFO L93 Difference]: Finished difference Result 392 states and 468 transitions. [2022-04-08 08:35:20,121 INFO L276 IsEmpty]: Start isEmpty. Operand 392 states and 468 transitions. [2022-04-08 08:35:20,122 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:35:20,122 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:35:20,123 INFO L74 IsIncluded]: Start isIncluded. First operand has 321 states, 248 states have (on average 1.221774193548387) internal successors, (303), 252 states have internal predecessors, (303), 36 states have call successors, (36), 34 states have call predecessors, (36), 36 states have return successors, (38), 34 states have call predecessors, (38), 32 states have call successors, (38) Second operand 392 states. [2022-04-08 08:35:20,123 INFO L87 Difference]: Start difference. First operand has 321 states, 248 states have (on average 1.221774193548387) internal successors, (303), 252 states have internal predecessors, (303), 36 states have call successors, (36), 34 states have call predecessors, (36), 36 states have return successors, (38), 34 states have call predecessors, (38), 32 states have call successors, (38) Second operand 392 states. [2022-04-08 08:35:20,131 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:35:20,132 INFO L93 Difference]: Finished difference Result 392 states and 468 transitions. [2022-04-08 08:35:20,132 INFO L276 IsEmpty]: Start isEmpty. Operand 392 states and 468 transitions. [2022-04-08 08:35:20,132 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:35:20,132 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:35:20,132 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:35:20,132 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:35:20,133 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 321 states, 248 states have (on average 1.221774193548387) internal successors, (303), 252 states have internal predecessors, (303), 36 states have call successors, (36), 34 states have call predecessors, (36), 36 states have return successors, (38), 34 states have call predecessors, (38), 32 states have call successors, (38) [2022-04-08 08:35:20,148 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 321 states to 321 states and 377 transitions. [2022-04-08 08:35:20,148 INFO L78 Accepts]: Start accepts. Automaton has 321 states and 377 transitions. Word has length 109 [2022-04-08 08:35:20,148 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:35:20,148 INFO L478 AbstractCegarLoop]: Abstraction has 321 states and 377 transitions. [2022-04-08 08:35:20,149 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 7.0) internal successors, (77), 3 states have internal predecessors, (77), 2 states have call successors, (18), 10 states have call predecessors, (18), 1 states have return successors, (14), 1 states have call predecessors, (14), 1 states have call successors, (14) [2022-04-08 08:35:20,149 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 321 states and 377 transitions. [2022-04-08 08:35:21,141 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 377 edges. 377 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:35:21,141 INFO L276 IsEmpty]: Start isEmpty. Operand 321 states and 377 transitions. [2022-04-08 08:35:21,142 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 110 [2022-04-08 08:35:21,142 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:35:21,142 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:35:21,142 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable28 [2022-04-08 08:35:21,143 INFO L403 AbstractCegarLoop]: === Iteration 30 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:35:21,143 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:35:21,143 INFO L85 PathProgramCache]: Analyzing trace with hash 1629931519, now seen corresponding path program 1 times [2022-04-08 08:35:21,143 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:35:21,143 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1578851531] [2022-04-08 08:35:21,161 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 4 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 08:35:21,161 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 08:35:21,161 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 08:35:21,161 INFO L85 PathProgramCache]: Analyzing trace with hash 1629931519, now seen corresponding path program 2 times [2022-04-08 08:35:21,161 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:35:21,161 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2059967430] [2022-04-08 08:35:21,161 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:35:21,161 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:35:21,249 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:21,318 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:35:21,320 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:21,325 INFO L290 TraceCheckUtils]: 0: Hoare triple {71045#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {70969#true} is VALID [2022-04-08 08:35:21,325 INFO L290 TraceCheckUtils]: 1: Hoare triple {70969#true} assume true; {70969#true} is VALID [2022-04-08 08:35:21,325 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {70969#true} {70969#true} #1270#return; {70969#true} is VALID [2022-04-08 08:35:21,353 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:35:21,354 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:21,358 INFO L290 TraceCheckUtils]: 0: Hoare triple {71046#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {70969#true} is VALID [2022-04-08 08:35:21,359 INFO L290 TraceCheckUtils]: 1: Hoare triple {70969#true} assume true; {70969#true} is VALID [2022-04-08 08:35:21,359 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {70969#true} {70969#true} #1216#return; {70969#true} is VALID [2022-04-08 08:35:21,366 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:35:21,373 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:21,381 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:35:21,381 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:21,385 INFO L290 TraceCheckUtils]: 0: Hoare triple {70969#true} ~cond := #in~cond; {70969#true} is VALID [2022-04-08 08:35:21,386 INFO L290 TraceCheckUtils]: 1: Hoare triple {70969#true} assume !(0 == ~cond); {70969#true} is VALID [2022-04-08 08:35:21,386 INFO L290 TraceCheckUtils]: 2: Hoare triple {70969#true} assume true; {70969#true} is VALID [2022-04-08 08:35:21,386 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {70969#true} {70969#true} #1254#return; {70969#true} is VALID [2022-04-08 08:35:21,386 INFO L290 TraceCheckUtils]: 0: Hoare triple {71047#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {70969#true} is VALID [2022-04-08 08:35:21,386 INFO L272 TraceCheckUtils]: 1: Hoare triple {70969#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {70969#true} is VALID [2022-04-08 08:35:21,386 INFO L290 TraceCheckUtils]: 2: Hoare triple {70969#true} ~cond := #in~cond; {70969#true} is VALID [2022-04-08 08:35:21,386 INFO L290 TraceCheckUtils]: 3: Hoare triple {70969#true} assume !(0 == ~cond); {70969#true} is VALID [2022-04-08 08:35:21,386 INFO L290 TraceCheckUtils]: 4: Hoare triple {70969#true} assume true; {70969#true} is VALID [2022-04-08 08:35:21,386 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {70969#true} {70969#true} #1254#return; {70969#true} is VALID [2022-04-08 08:35:21,386 INFO L290 TraceCheckUtils]: 6: Hoare triple {70969#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {70969#true} is VALID [2022-04-08 08:35:21,386 INFO L290 TraceCheckUtils]: 7: Hoare triple {70969#true} assume true; {70969#true} is VALID [2022-04-08 08:35:21,386 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {70969#true} {70969#true} #1218#return; {70969#true} is VALID [2022-04-08 08:35:21,395 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:35:21,406 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:21,414 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:35:21,417 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:21,422 INFO L290 TraceCheckUtils]: 0: Hoare triple {71052#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {70969#true} is VALID [2022-04-08 08:35:21,423 INFO L290 TraceCheckUtils]: 1: Hoare triple {70969#true} assume 0 == ~__BLAST_NONDET~5; {70969#true} is VALID [2022-04-08 08:35:21,423 INFO L290 TraceCheckUtils]: 2: Hoare triple {70969#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {70969#true} is VALID [2022-04-08 08:35:21,423 INFO L290 TraceCheckUtils]: 3: Hoare triple {70969#true} assume true; {70969#true} is VALID [2022-04-08 08:35:21,423 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {70969#true} {70969#true} #1176#return; {70969#true} is VALID [2022-04-08 08:35:21,423 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 08:35:21,424 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:21,429 INFO L290 TraceCheckUtils]: 0: Hoare triple {71047#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {70969#true} is VALID [2022-04-08 08:35:21,429 INFO L290 TraceCheckUtils]: 1: Hoare triple {70969#true} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {70969#true} is VALID [2022-04-08 08:35:21,429 INFO L290 TraceCheckUtils]: 2: Hoare triple {70969#true} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {70969#true} is VALID [2022-04-08 08:35:21,429 INFO L290 TraceCheckUtils]: 3: Hoare triple {70969#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {70969#true} is VALID [2022-04-08 08:35:21,429 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {70969#true} {70969#true} #1178#return; {70969#true} is VALID [2022-04-08 08:35:21,429 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-08 08:35:21,431 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:21,436 INFO L290 TraceCheckUtils]: 0: Hoare triple {70969#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {70969#true} is VALID [2022-04-08 08:35:21,436 INFO L290 TraceCheckUtils]: 1: Hoare triple {70969#true} assume 0 == ~__BLAST_NONDET~2; {70969#true} is VALID [2022-04-08 08:35:21,436 INFO L290 TraceCheckUtils]: 2: Hoare triple {70969#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {70969#true} is VALID [2022-04-08 08:35:21,436 INFO L290 TraceCheckUtils]: 3: Hoare triple {70969#true} assume true; {70969#true} is VALID [2022-04-08 08:35:21,436 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {70969#true} {70969#true} #1180#return; {70969#true} is VALID [2022-04-08 08:35:21,436 INFO L290 TraceCheckUtils]: 0: Hoare triple {71052#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {70969#true} is VALID [2022-04-08 08:35:21,438 INFO L272 TraceCheckUtils]: 1: Hoare triple {70969#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {71052#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:35:21,438 INFO L290 TraceCheckUtils]: 2: Hoare triple {71052#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {70969#true} is VALID [2022-04-08 08:35:21,438 INFO L290 TraceCheckUtils]: 3: Hoare triple {70969#true} assume 0 == ~__BLAST_NONDET~5; {70969#true} is VALID [2022-04-08 08:35:21,438 INFO L290 TraceCheckUtils]: 4: Hoare triple {70969#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {70969#true} is VALID [2022-04-08 08:35:21,438 INFO L290 TraceCheckUtils]: 5: Hoare triple {70969#true} assume true; {70969#true} is VALID [2022-04-08 08:35:21,438 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {70969#true} {70969#true} #1176#return; {70969#true} is VALID [2022-04-08 08:35:21,438 INFO L290 TraceCheckUtils]: 7: Hoare triple {70969#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {70969#true} is VALID [2022-04-08 08:35:21,438 INFO L290 TraceCheckUtils]: 8: Hoare triple {70969#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {70969#true} is VALID [2022-04-08 08:35:21,439 INFO L272 TraceCheckUtils]: 9: Hoare triple {70969#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {71047#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:35:21,439 INFO L290 TraceCheckUtils]: 10: Hoare triple {71047#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {70969#true} is VALID [2022-04-08 08:35:21,439 INFO L290 TraceCheckUtils]: 11: Hoare triple {70969#true} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {70969#true} is VALID [2022-04-08 08:35:21,439 INFO L290 TraceCheckUtils]: 12: Hoare triple {70969#true} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {70969#true} is VALID [2022-04-08 08:35:21,439 INFO L290 TraceCheckUtils]: 13: Hoare triple {70969#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {70969#true} is VALID [2022-04-08 08:35:21,439 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {70969#true} {70969#true} #1178#return; {70969#true} is VALID [2022-04-08 08:35:21,439 INFO L290 TraceCheckUtils]: 15: Hoare triple {70969#true} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {70969#true} is VALID [2022-04-08 08:35:21,439 INFO L272 TraceCheckUtils]: 16: Hoare triple {70969#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {70969#true} is VALID [2022-04-08 08:35:21,439 INFO L290 TraceCheckUtils]: 17: Hoare triple {70969#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {70969#true} is VALID [2022-04-08 08:35:21,439 INFO L290 TraceCheckUtils]: 18: Hoare triple {70969#true} assume 0 == ~__BLAST_NONDET~2; {70969#true} is VALID [2022-04-08 08:35:21,439 INFO L290 TraceCheckUtils]: 19: Hoare triple {70969#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {70969#true} is VALID [2022-04-08 08:35:21,439 INFO L290 TraceCheckUtils]: 20: Hoare triple {70969#true} assume true; {70969#true} is VALID [2022-04-08 08:35:21,440 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {70969#true} {70969#true} #1180#return; {70969#true} is VALID [2022-04-08 08:35:21,440 INFO L290 TraceCheckUtils]: 22: Hoare triple {70969#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {70969#true} is VALID [2022-04-08 08:35:21,440 INFO L290 TraceCheckUtils]: 23: Hoare triple {70969#true} assume true; {70969#true} is VALID [2022-04-08 08:35:21,440 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {70969#true} {70969#true} #1220#return; {70969#true} is VALID [2022-04-08 08:35:21,451 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-08 08:35:21,452 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:21,456 INFO L290 TraceCheckUtils]: 0: Hoare triple {71068#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {70969#true} is VALID [2022-04-08 08:35:21,456 INFO L290 TraceCheckUtils]: 1: Hoare triple {70969#true} assume true; {70969#true} is VALID [2022-04-08 08:35:21,456 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {70969#true} {70969#true} #1222#return; {70969#true} is VALID [2022-04-08 08:35:21,456 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-08 08:35:21,457 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:21,463 INFO L290 TraceCheckUtils]: 0: Hoare triple {71047#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {70969#true} is VALID [2022-04-08 08:35:21,463 INFO L290 TraceCheckUtils]: 1: Hoare triple {70969#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {70969#true} is VALID [2022-04-08 08:35:21,463 INFO L290 TraceCheckUtils]: 2: Hoare triple {70969#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {70969#true} is VALID [2022-04-08 08:35:21,463 INFO L290 TraceCheckUtils]: 3: Hoare triple {70969#true} assume #res.base == dest.base && #res.offset == dest.offset; {70969#true} is VALID [2022-04-08 08:35:21,463 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {70969#true} {70969#true} #1186#return; {70969#true} is VALID [2022-04-08 08:35:21,470 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 73 [2022-04-08 08:35:21,474 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:21,509 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 08:35:21,511 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:21,516 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:35:21,517 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:21,520 INFO L290 TraceCheckUtils]: 0: Hoare triple {71082#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {70969#true} is VALID [2022-04-08 08:35:21,521 INFO L290 TraceCheckUtils]: 1: Hoare triple {70969#true} assume true; {70969#true} is VALID [2022-04-08 08:35:21,521 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {70969#true} {70969#true} #1174#return; {70969#true} is VALID [2022-04-08 08:35:21,521 INFO L290 TraceCheckUtils]: 0: Hoare triple {71082#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {70969#true} is VALID [2022-04-08 08:35:21,521 INFO L272 TraceCheckUtils]: 1: Hoare triple {70969#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {71082#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:35:21,521 INFO L290 TraceCheckUtils]: 2: Hoare triple {71082#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {70969#true} is VALID [2022-04-08 08:35:21,521 INFO L290 TraceCheckUtils]: 3: Hoare triple {70969#true} assume true; {70969#true} is VALID [2022-04-08 08:35:21,521 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {70969#true} {70969#true} #1174#return; {70969#true} is VALID [2022-04-08 08:35:21,521 INFO L290 TraceCheckUtils]: 5: Hoare triple {70969#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {70969#true} is VALID [2022-04-08 08:35:21,521 INFO L290 TraceCheckUtils]: 6: Hoare triple {70969#true} assume true; {70969#true} is VALID [2022-04-08 08:35:21,522 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {70969#true} {70969#true} #1210#return; {70969#true} is VALID [2022-04-08 08:35:21,528 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 08:35:21,528 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:21,532 INFO L290 TraceCheckUtils]: 0: Hoare triple {71086#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {70969#true} is VALID [2022-04-08 08:35:21,532 INFO L290 TraceCheckUtils]: 1: Hoare triple {70969#true} assume true; {70969#true} is VALID [2022-04-08 08:35:21,532 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {70969#true} {70969#true} #1212#return; {70969#true} is VALID [2022-04-08 08:35:21,532 INFO L290 TraceCheckUtils]: 0: Hoare triple {71069#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {70969#true} is VALID [2022-04-08 08:35:21,532 INFO L290 TraceCheckUtils]: 1: Hoare triple {70969#true} assume 0 != ~compRegistered~0; {70969#true} is VALID [2022-04-08 08:35:21,533 INFO L272 TraceCheckUtils]: 2: Hoare triple {70969#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {71082#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:35:21,533 INFO L290 TraceCheckUtils]: 3: Hoare triple {71082#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {70969#true} is VALID [2022-04-08 08:35:21,534 INFO L272 TraceCheckUtils]: 4: Hoare triple {70969#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {71082#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:35:21,534 INFO L290 TraceCheckUtils]: 5: Hoare triple {71082#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {70969#true} is VALID [2022-04-08 08:35:21,534 INFO L290 TraceCheckUtils]: 6: Hoare triple {70969#true} assume true; {70969#true} is VALID [2022-04-08 08:35:21,534 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {70969#true} {70969#true} #1174#return; {70969#true} is VALID [2022-04-08 08:35:21,534 INFO L290 TraceCheckUtils]: 8: Hoare triple {70969#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {70969#true} is VALID [2022-04-08 08:35:21,534 INFO L290 TraceCheckUtils]: 9: Hoare triple {70969#true} assume true; {70969#true} is VALID [2022-04-08 08:35:21,534 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {70969#true} {70969#true} #1210#return; {70969#true} is VALID [2022-04-08 08:35:21,534 INFO L290 TraceCheckUtils]: 11: Hoare triple {70969#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {70969#true} is VALID [2022-04-08 08:35:21,534 INFO L290 TraceCheckUtils]: 12: Hoare triple {70969#true} assume -1073741802 == ~compRetStatus~0; {70969#true} is VALID [2022-04-08 08:35:21,534 INFO L272 TraceCheckUtils]: 13: Hoare triple {70969#true} call stubMoreProcessingRequired(); {71086#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:35:21,534 INFO L290 TraceCheckUtils]: 14: Hoare triple {71086#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {70969#true} is VALID [2022-04-08 08:35:21,534 INFO L290 TraceCheckUtils]: 15: Hoare triple {70969#true} assume true; {70969#true} is VALID [2022-04-08 08:35:21,534 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {70969#true} {70969#true} #1212#return; {70969#true} is VALID [2022-04-08 08:35:21,535 INFO L290 TraceCheckUtils]: 17: Hoare triple {70969#true} assume !(0 == ~__BLAST_NONDET~11); {70969#true} is VALID [2022-04-08 08:35:21,535 INFO L290 TraceCheckUtils]: 18: Hoare triple {70969#true} assume 1 == ~__BLAST_NONDET~11; {70969#true} is VALID [2022-04-08 08:35:21,535 INFO L290 TraceCheckUtils]: 19: Hoare triple {70969#true} ~returnVal2~0 := -1073741823; {71081#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 08:35:21,535 INFO L290 TraceCheckUtils]: 20: Hoare triple {71081#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} assume !(~s~0 == ~NP~0); {71081#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 08:35:21,535 INFO L290 TraceCheckUtils]: 21: Hoare triple {71081#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} assume ~s~0 == ~MPR1~0; {71081#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 08:35:21,536 INFO L290 TraceCheckUtils]: 22: Hoare triple {71081#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := ~returnVal2~0; {70970#false} is VALID [2022-04-08 08:35:21,536 INFO L290 TraceCheckUtils]: 23: Hoare triple {70970#false} #res := ~returnVal2~0; {70970#false} is VALID [2022-04-08 08:35:21,536 INFO L290 TraceCheckUtils]: 24: Hoare triple {70970#false} assume true; {70970#false} is VALID [2022-04-08 08:35:21,536 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {70970#false} {70969#true} #1192#return; {70970#false} is VALID [2022-04-08 08:35:21,537 INFO L272 TraceCheckUtils]: 0: Hoare triple {70969#true} call ULTIMATE.init(); {71045#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:35:21,537 INFO L290 TraceCheckUtils]: 1: Hoare triple {71045#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {70969#true} is VALID [2022-04-08 08:35:21,537 INFO L290 TraceCheckUtils]: 2: Hoare triple {70969#true} assume true; {70969#true} is VALID [2022-04-08 08:35:21,537 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {70969#true} {70969#true} #1270#return; {70969#true} is VALID [2022-04-08 08:35:21,537 INFO L272 TraceCheckUtils]: 4: Hoare triple {70969#true} call #t~ret213 := main(); {70969#true} is VALID [2022-04-08 08:35:21,537 INFO L290 TraceCheckUtils]: 5: Hoare triple {70969#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {70969#true} is VALID [2022-04-08 08:35:21,538 INFO L272 TraceCheckUtils]: 6: Hoare triple {70969#true} call _BLAST_init(); {71046#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:35:21,538 INFO L290 TraceCheckUtils]: 7: Hoare triple {71046#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {70969#true} is VALID [2022-04-08 08:35:21,538 INFO L290 TraceCheckUtils]: 8: Hoare triple {70969#true} assume true; {70969#true} is VALID [2022-04-08 08:35:21,538 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {70969#true} {70969#true} #1216#return; {70969#true} is VALID [2022-04-08 08:35:21,538 INFO L272 TraceCheckUtils]: 10: Hoare triple {70969#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {71047#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:35:21,538 INFO L290 TraceCheckUtils]: 11: Hoare triple {71047#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {70969#true} is VALID [2022-04-08 08:35:21,539 INFO L272 TraceCheckUtils]: 12: Hoare triple {70969#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {70969#true} is VALID [2022-04-08 08:35:21,539 INFO L290 TraceCheckUtils]: 13: Hoare triple {70969#true} ~cond := #in~cond; {70969#true} is VALID [2022-04-08 08:35:21,539 INFO L290 TraceCheckUtils]: 14: Hoare triple {70969#true} assume !(0 == ~cond); {70969#true} is VALID [2022-04-08 08:35:21,539 INFO L290 TraceCheckUtils]: 15: Hoare triple {70969#true} assume true; {70969#true} is VALID [2022-04-08 08:35:21,539 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {70969#true} {70969#true} #1254#return; {70969#true} is VALID [2022-04-08 08:35:21,539 INFO L290 TraceCheckUtils]: 17: Hoare triple {70969#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {70969#true} is VALID [2022-04-08 08:35:21,539 INFO L290 TraceCheckUtils]: 18: Hoare triple {70969#true} assume true; {70969#true} is VALID [2022-04-08 08:35:21,539 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {70969#true} {70969#true} #1218#return; {70969#true} is VALID [2022-04-08 08:35:21,539 INFO L290 TraceCheckUtils]: 20: Hoare triple {70969#true} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {70969#true} is VALID [2022-04-08 08:35:21,539 INFO L290 TraceCheckUtils]: 21: Hoare triple {70969#true} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {70969#true} is VALID [2022-04-08 08:35:21,539 INFO L290 TraceCheckUtils]: 22: Hoare triple {70969#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {70969#true} is VALID [2022-04-08 08:35:21,540 INFO L272 TraceCheckUtils]: 23: Hoare triple {70969#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {71052#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:35:21,540 INFO L290 TraceCheckUtils]: 24: Hoare triple {71052#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {70969#true} is VALID [2022-04-08 08:35:21,540 INFO L272 TraceCheckUtils]: 25: Hoare triple {70969#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {71052#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:35:21,541 INFO L290 TraceCheckUtils]: 26: Hoare triple {71052#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {70969#true} is VALID [2022-04-08 08:35:21,541 INFO L290 TraceCheckUtils]: 27: Hoare triple {70969#true} assume 0 == ~__BLAST_NONDET~5; {70969#true} is VALID [2022-04-08 08:35:21,541 INFO L290 TraceCheckUtils]: 28: Hoare triple {70969#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {70969#true} is VALID [2022-04-08 08:35:21,541 INFO L290 TraceCheckUtils]: 29: Hoare triple {70969#true} assume true; {70969#true} is VALID [2022-04-08 08:35:21,541 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {70969#true} {70969#true} #1176#return; {70969#true} is VALID [2022-04-08 08:35:21,541 INFO L290 TraceCheckUtils]: 31: Hoare triple {70969#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {70969#true} is VALID [2022-04-08 08:35:21,541 INFO L290 TraceCheckUtils]: 32: Hoare triple {70969#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {70969#true} is VALID [2022-04-08 08:35:21,541 INFO L272 TraceCheckUtils]: 33: Hoare triple {70969#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {71047#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:35:21,541 INFO L290 TraceCheckUtils]: 34: Hoare triple {71047#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {70969#true} is VALID [2022-04-08 08:35:21,541 INFO L290 TraceCheckUtils]: 35: Hoare triple {70969#true} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {70969#true} is VALID [2022-04-08 08:35:21,542 INFO L290 TraceCheckUtils]: 36: Hoare triple {70969#true} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {70969#true} is VALID [2022-04-08 08:35:21,542 INFO L290 TraceCheckUtils]: 37: Hoare triple {70969#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {70969#true} is VALID [2022-04-08 08:35:21,542 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {70969#true} {70969#true} #1178#return; {70969#true} is VALID [2022-04-08 08:35:21,542 INFO L290 TraceCheckUtils]: 39: Hoare triple {70969#true} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {70969#true} is VALID [2022-04-08 08:35:21,542 INFO L272 TraceCheckUtils]: 40: Hoare triple {70969#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {70969#true} is VALID [2022-04-08 08:35:21,542 INFO L290 TraceCheckUtils]: 41: Hoare triple {70969#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {70969#true} is VALID [2022-04-08 08:35:21,542 INFO L290 TraceCheckUtils]: 42: Hoare triple {70969#true} assume 0 == ~__BLAST_NONDET~2; {70969#true} is VALID [2022-04-08 08:35:21,542 INFO L290 TraceCheckUtils]: 43: Hoare triple {70969#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {70969#true} is VALID [2022-04-08 08:35:21,542 INFO L290 TraceCheckUtils]: 44: Hoare triple {70969#true} assume true; {70969#true} is VALID [2022-04-08 08:35:21,542 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {70969#true} {70969#true} #1180#return; {70969#true} is VALID [2022-04-08 08:35:21,542 INFO L290 TraceCheckUtils]: 46: Hoare triple {70969#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {70969#true} is VALID [2022-04-08 08:35:21,542 INFO L290 TraceCheckUtils]: 47: Hoare triple {70969#true} assume true; {70969#true} is VALID [2022-04-08 08:35:21,542 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {70969#true} {70969#true} #1220#return; {70969#true} is VALID [2022-04-08 08:35:21,542 INFO L290 TraceCheckUtils]: 49: Hoare triple {70969#true} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {70969#true} is VALID [2022-04-08 08:35:21,543 INFO L272 TraceCheckUtils]: 50: Hoare triple {70969#true} call stub_driver_init(); {71068#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:35:21,543 INFO L290 TraceCheckUtils]: 51: Hoare triple {71068#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {70969#true} is VALID [2022-04-08 08:35:21,543 INFO L290 TraceCheckUtils]: 52: Hoare triple {70969#true} assume true; {70969#true} is VALID [2022-04-08 08:35:21,543 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {70969#true} {70969#true} #1222#return; {70969#true} is VALID [2022-04-08 08:35:21,543 INFO L290 TraceCheckUtils]: 54: Hoare triple {70969#true} assume !!(~status~5 >= 0); {70969#true} is VALID [2022-04-08 08:35:21,543 INFO L290 TraceCheckUtils]: 55: Hoare triple {70969#true} assume !(0 == ~__BLAST_NONDET~0); {70969#true} is VALID [2022-04-08 08:35:21,543 INFO L290 TraceCheckUtils]: 56: Hoare triple {70969#true} assume !(1 == ~__BLAST_NONDET~0); {70969#true} is VALID [2022-04-08 08:35:21,543 INFO L290 TraceCheckUtils]: 57: Hoare triple {70969#true} assume !(2 == ~__BLAST_NONDET~0); {70969#true} is VALID [2022-04-08 08:35:21,543 INFO L290 TraceCheckUtils]: 58: Hoare triple {70969#true} assume 3 == ~__BLAST_NONDET~0; {70969#true} is VALID [2022-04-08 08:35:21,543 INFO L272 TraceCheckUtils]: 59: Hoare triple {70969#true} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {70969#true} is VALID [2022-04-08 08:35:21,543 INFO L290 TraceCheckUtils]: 60: Hoare triple {70969#true} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~devExt~3.base, ~devExt~3.offset;havoc ~irpStack~3.base, ~irpStack~3.offset;havoc ~status~3;call ~#event~1.base, ~#event~1.offset := #Ultimate.allocOnStack(16);havoc ~irpSp~0.base, ~irpSp~0.offset;havoc ~nextIrpSp~0.base, ~nextIrpSp~0.offset;havoc ~irpSp___0~0.base, ~irpSp___0~0.offset;~status~3 := 0;call #t~mem79.base, #t~mem79.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~3.base, ~devExt~3.offset := #t~mem79.base, #t~mem79.offset;havoc #t~mem79.base, #t~mem79.offset;call #t~mem80.base, #t~mem80.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~3.base, ~irpStack~3.offset := #t~mem80.base, #t~mem80.offset;havoc #t~mem80.base, #t~mem80.offset;call #t~mem81 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {70969#true} is VALID [2022-04-08 08:35:21,543 INFO L290 TraceCheckUtils]: 61: Hoare triple {70969#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {70969#true} is VALID [2022-04-08 08:35:21,543 INFO L290 TraceCheckUtils]: 62: Hoare triple {70969#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp~0.base, ~irpSp~0.offset := #t~mem102.base, #t~mem102.offset;havoc #t~mem102.base, #t~mem102.offset;call #t~mem103.base, #t~mem103.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 36;havoc #t~mem103.base, #t~mem103.offset; {70969#true} is VALID [2022-04-08 08:35:21,544 INFO L272 TraceCheckUtils]: 63: Hoare triple {70969#true} call #t~memmove~res104.base, #t~memmove~res104.offset := #Ultimate.C_memmove(~nextIrpSp~0.base, ~nextIrpSp~0.offset, ~irpSp~0.base, ~irpSp~0.offset, 28); {71047#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:35:21,544 INFO L290 TraceCheckUtils]: 64: Hoare triple {71047#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {70969#true} is VALID [2022-04-08 08:35:21,544 INFO L290 TraceCheckUtils]: 65: Hoare triple {70969#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {70969#true} is VALID [2022-04-08 08:35:21,544 INFO L290 TraceCheckUtils]: 66: Hoare triple {70969#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {70969#true} is VALID [2022-04-08 08:35:21,544 INFO L290 TraceCheckUtils]: 67: Hoare triple {70969#true} assume #res.base == dest.base && #res.offset == dest.offset; {70969#true} is VALID [2022-04-08 08:35:21,544 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {70969#true} {70969#true} #1186#return; {70969#true} is VALID [2022-04-08 08:35:21,544 INFO L290 TraceCheckUtils]: 69: Hoare triple {70969#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {70969#true} is VALID [2022-04-08 08:35:21,544 INFO L290 TraceCheckUtils]: 70: Hoare triple {70969#true} assume !(~s~0 != ~NP~0); {70969#true} is VALID [2022-04-08 08:35:21,544 INFO L290 TraceCheckUtils]: 71: Hoare triple {70969#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {70969#true} is VALID [2022-04-08 08:35:21,544 INFO L290 TraceCheckUtils]: 72: Hoare triple {70969#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 36;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 28 + ~irpSp___0~0.offset, 4);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 32 + ~irpSp___0~0.offset, 4);call write~int(0, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(64, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call #t~mem106 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem106 % 256, 128), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem106;call #t~mem107 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem107 % 256, 32), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem107;call #t~mem108.base, #t~mem108.offset := read~$Pointer$(~devExt~3.base, 8 + ~devExt~3.offset, 4); {70969#true} is VALID [2022-04-08 08:35:21,545 INFO L272 TraceCheckUtils]: 73: Hoare triple {70969#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {71069#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:35:21,545 INFO L290 TraceCheckUtils]: 74: Hoare triple {71069#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {70969#true} is VALID [2022-04-08 08:35:21,545 INFO L290 TraceCheckUtils]: 75: Hoare triple {70969#true} assume 0 != ~compRegistered~0; {70969#true} is VALID [2022-04-08 08:35:21,546 INFO L272 TraceCheckUtils]: 76: Hoare triple {70969#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {71082#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:35:21,546 INFO L290 TraceCheckUtils]: 77: Hoare triple {71082#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {70969#true} is VALID [2022-04-08 08:35:21,546 INFO L272 TraceCheckUtils]: 78: Hoare triple {70969#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {71082#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:35:21,546 INFO L290 TraceCheckUtils]: 79: Hoare triple {71082#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {70969#true} is VALID [2022-04-08 08:35:21,546 INFO L290 TraceCheckUtils]: 80: Hoare triple {70969#true} assume true; {70969#true} is VALID [2022-04-08 08:35:21,546 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {70969#true} {70969#true} #1174#return; {70969#true} is VALID [2022-04-08 08:35:21,546 INFO L290 TraceCheckUtils]: 82: Hoare triple {70969#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {70969#true} is VALID [2022-04-08 08:35:21,546 INFO L290 TraceCheckUtils]: 83: Hoare triple {70969#true} assume true; {70969#true} is VALID [2022-04-08 08:35:21,546 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {70969#true} {70969#true} #1210#return; {70969#true} is VALID [2022-04-08 08:35:21,547 INFO L290 TraceCheckUtils]: 85: Hoare triple {70969#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {70969#true} is VALID [2022-04-08 08:35:21,547 INFO L290 TraceCheckUtils]: 86: Hoare triple {70969#true} assume -1073741802 == ~compRetStatus~0; {70969#true} is VALID [2022-04-08 08:35:21,547 INFO L272 TraceCheckUtils]: 87: Hoare triple {70969#true} call stubMoreProcessingRequired(); {71086#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:35:21,547 INFO L290 TraceCheckUtils]: 88: Hoare triple {71086#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {70969#true} is VALID [2022-04-08 08:35:21,547 INFO L290 TraceCheckUtils]: 89: Hoare triple {70969#true} assume true; {70969#true} is VALID [2022-04-08 08:35:21,547 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {70969#true} {70969#true} #1212#return; {70969#true} is VALID [2022-04-08 08:35:21,547 INFO L290 TraceCheckUtils]: 91: Hoare triple {70969#true} assume !(0 == ~__BLAST_NONDET~11); {70969#true} is VALID [2022-04-08 08:35:21,547 INFO L290 TraceCheckUtils]: 92: Hoare triple {70969#true} assume 1 == ~__BLAST_NONDET~11; {70969#true} is VALID [2022-04-08 08:35:21,547 INFO L290 TraceCheckUtils]: 93: Hoare triple {70969#true} ~returnVal2~0 := -1073741823; {71081#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 08:35:21,548 INFO L290 TraceCheckUtils]: 94: Hoare triple {71081#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} assume !(~s~0 == ~NP~0); {71081#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 08:35:21,548 INFO L290 TraceCheckUtils]: 95: Hoare triple {71081#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} assume ~s~0 == ~MPR1~0; {71081#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 08:35:21,548 INFO L290 TraceCheckUtils]: 96: Hoare triple {71081#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := ~returnVal2~0; {70970#false} is VALID [2022-04-08 08:35:21,548 INFO L290 TraceCheckUtils]: 97: Hoare triple {70970#false} #res := ~returnVal2~0; {70970#false} is VALID [2022-04-08 08:35:21,548 INFO L290 TraceCheckUtils]: 98: Hoare triple {70970#false} assume true; {70970#false} is VALID [2022-04-08 08:35:21,548 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {70970#false} {70969#true} #1192#return; {70970#false} is VALID [2022-04-08 08:35:21,548 INFO L290 TraceCheckUtils]: 100: Hoare triple {70970#false} assume -2147483648 <= #t~ret109 && #t~ret109 <= 2147483647;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {70970#false} is VALID [2022-04-08 08:35:21,548 INFO L290 TraceCheckUtils]: 101: Hoare triple {70970#false} assume !(259 == ~status~3); {70970#false} is VALID [2022-04-08 08:35:21,549 INFO L290 TraceCheckUtils]: 102: Hoare triple {70970#false} assume !(~status~3 >= 0); {70970#false} is VALID [2022-04-08 08:35:21,549 INFO L290 TraceCheckUtils]: 103: Hoare triple {70970#false} call write~int(~status~3, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~3;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4); {70970#false} is VALID [2022-04-08 08:35:21,549 INFO L272 TraceCheckUtils]: 104: Hoare triple {70970#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {70970#false} is VALID [2022-04-08 08:35:21,549 INFO L290 TraceCheckUtils]: 105: Hoare triple {70970#false} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {70970#false} is VALID [2022-04-08 08:35:21,549 INFO L290 TraceCheckUtils]: 106: Hoare triple {70970#false} assume !(~s~0 == ~NP~0); {70970#false} is VALID [2022-04-08 08:35:21,549 INFO L272 TraceCheckUtils]: 107: Hoare triple {70970#false} call errorFn(); {70970#false} is VALID [2022-04-08 08:35:21,549 INFO L290 TraceCheckUtils]: 108: Hoare triple {70970#false} assume !false; {70970#false} is VALID [2022-04-08 08:35:21,549 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 08:35:21,549 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:35:21,549 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2059967430] [2022-04-08 08:35:21,549 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2059967430] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:35:21,549 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:35:21,549 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 08:35:21,550 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:35:21,550 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1578851531] [2022-04-08 08:35:21,550 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1578851531] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:35:21,550 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:35:21,550 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 08:35:21,550 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2062933883] [2022-04-08 08:35:21,550 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:35:21,550 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 7.0) internal successors, (77), 3 states have internal predecessors, (77), 2 states have call successors, (18), 10 states have call predecessors, (18), 2 states have return successors, (14), 2 states have call predecessors, (14), 1 states have call successors, (14) Word has length 109 [2022-04-08 08:35:21,550 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:35:21,550 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 7.0) internal successors, (77), 3 states have internal predecessors, (77), 2 states have call successors, (18), 10 states have call predecessors, (18), 2 states have return successors, (14), 2 states have call predecessors, (14), 1 states have call successors, (14) [2022-04-08 08:35:21,638 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:35:21,638 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 08:35:21,638 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:35:21,640 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 08:35:21,640 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=76, Unknown=0, NotChecked=0, Total=110 [2022-04-08 08:35:21,641 INFO L87 Difference]: Start difference. First operand 321 states and 377 transitions. Second operand has 11 states, 11 states have (on average 7.0) internal successors, (77), 3 states have internal predecessors, (77), 2 states have call successors, (18), 10 states have call predecessors, (18), 2 states have return successors, (14), 2 states have call predecessors, (14), 1 states have call successors, (14) [2022-04-08 08:35:23,756 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:35:29,550 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:35:29,550 INFO L93 Difference]: Finished difference Result 471 states and 566 transitions. [2022-04-08 08:35:29,550 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 08:35:29,551 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 7.0) internal successors, (77), 3 states have internal predecessors, (77), 2 states have call successors, (18), 10 states have call predecessors, (18), 2 states have return successors, (14), 2 states have call predecessors, (14), 1 states have call successors, (14) Word has length 109 [2022-04-08 08:35:29,551 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:35:29,551 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 7.0) internal successors, (77), 3 states have internal predecessors, (77), 2 states have call successors, (18), 10 states have call predecessors, (18), 2 states have return successors, (14), 2 states have call predecessors, (14), 1 states have call successors, (14) [2022-04-08 08:35:29,553 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 250 transitions. [2022-04-08 08:35:29,553 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 7.0) internal successors, (77), 3 states have internal predecessors, (77), 2 states have call successors, (18), 10 states have call predecessors, (18), 2 states have return successors, (14), 2 states have call predecessors, (14), 1 states have call successors, (14) [2022-04-08 08:35:29,555 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 250 transitions. [2022-04-08 08:35:29,555 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 250 transitions. [2022-04-08 08:35:29,836 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 250 edges. 250 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:35:29,843 INFO L225 Difference]: With dead ends: 471 [2022-04-08 08:35:29,843 INFO L226 Difference]: Without dead ends: 383 [2022-04-08 08:35:29,844 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 25 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=71, Invalid=169, Unknown=0, NotChecked=0, Total=240 [2022-04-08 08:35:29,844 INFO L913 BasicCegarLoop]: 142 mSDtfsCounter, 202 mSDsluCounter, 186 mSDsCounter, 0 mSdLazyCounter, 443 mSolverCounterSat, 110 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 204 SdHoareTripleChecker+Valid, 328 SdHoareTripleChecker+Invalid, 554 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 110 IncrementalHoareTripleChecker+Valid, 443 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.2s IncrementalHoareTripleChecker+Time [2022-04-08 08:35:29,844 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [204 Valid, 328 Invalid, 554 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [110 Valid, 443 Invalid, 1 Unknown, 0 Unchecked, 4.2s Time] [2022-04-08 08:35:29,845 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 383 states. [2022-04-08 08:35:30,484 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 383 to 327. [2022-04-08 08:35:30,485 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:35:30,485 INFO L82 GeneralOperation]: Start isEquivalent. First operand 383 states. Second operand has 327 states, 254 states have (on average 1.2165354330708662) internal successors, (309), 258 states have internal predecessors, (309), 36 states have call successors, (36), 34 states have call predecessors, (36), 36 states have return successors, (38), 34 states have call predecessors, (38), 32 states have call successors, (38) [2022-04-08 08:35:30,485 INFO L74 IsIncluded]: Start isIncluded. First operand 383 states. Second operand has 327 states, 254 states have (on average 1.2165354330708662) internal successors, (309), 258 states have internal predecessors, (309), 36 states have call successors, (36), 34 states have call predecessors, (36), 36 states have return successors, (38), 34 states have call predecessors, (38), 32 states have call successors, (38) [2022-04-08 08:35:30,485 INFO L87 Difference]: Start difference. First operand 383 states. Second operand has 327 states, 254 states have (on average 1.2165354330708662) internal successors, (309), 258 states have internal predecessors, (309), 36 states have call successors, (36), 34 states have call predecessors, (36), 36 states have return successors, (38), 34 states have call predecessors, (38), 32 states have call successors, (38) [2022-04-08 08:35:30,490 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:35:30,490 INFO L93 Difference]: Finished difference Result 383 states and 451 transitions. [2022-04-08 08:35:30,490 INFO L276 IsEmpty]: Start isEmpty. Operand 383 states and 451 transitions. [2022-04-08 08:35:30,491 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:35:30,491 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:35:30,491 INFO L74 IsIncluded]: Start isIncluded. First operand has 327 states, 254 states have (on average 1.2165354330708662) internal successors, (309), 258 states have internal predecessors, (309), 36 states have call successors, (36), 34 states have call predecessors, (36), 36 states have return successors, (38), 34 states have call predecessors, (38), 32 states have call successors, (38) Second operand 383 states. [2022-04-08 08:35:30,491 INFO L87 Difference]: Start difference. First operand has 327 states, 254 states have (on average 1.2165354330708662) internal successors, (309), 258 states have internal predecessors, (309), 36 states have call successors, (36), 34 states have call predecessors, (36), 36 states have return successors, (38), 34 states have call predecessors, (38), 32 states have call successors, (38) Second operand 383 states. [2022-04-08 08:35:30,496 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:35:30,496 INFO L93 Difference]: Finished difference Result 383 states and 451 transitions. [2022-04-08 08:35:30,496 INFO L276 IsEmpty]: Start isEmpty. Operand 383 states and 451 transitions. [2022-04-08 08:35:30,497 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:35:30,497 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:35:30,497 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:35:30,497 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:35:30,497 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 327 states, 254 states have (on average 1.2165354330708662) internal successors, (309), 258 states have internal predecessors, (309), 36 states have call successors, (36), 34 states have call predecessors, (36), 36 states have return successors, (38), 34 states have call predecessors, (38), 32 states have call successors, (38) [2022-04-08 08:35:30,502 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 327 states to 327 states and 383 transitions. [2022-04-08 08:35:30,502 INFO L78 Accepts]: Start accepts. Automaton has 327 states and 383 transitions. Word has length 109 [2022-04-08 08:35:30,502 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:35:30,502 INFO L478 AbstractCegarLoop]: Abstraction has 327 states and 383 transitions. [2022-04-08 08:35:30,502 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 7.0) internal successors, (77), 3 states have internal predecessors, (77), 2 states have call successors, (18), 10 states have call predecessors, (18), 2 states have return successors, (14), 2 states have call predecessors, (14), 1 states have call successors, (14) [2022-04-08 08:35:30,502 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 327 states and 383 transitions. [2022-04-08 08:35:31,551 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 383 edges. 383 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:35:31,551 INFO L276 IsEmpty]: Start isEmpty. Operand 327 states and 383 transitions. [2022-04-08 08:35:31,552 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 110 [2022-04-08 08:35:31,552 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:35:31,552 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:35:31,552 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable29 [2022-04-08 08:35:31,552 INFO L403 AbstractCegarLoop]: === Iteration 31 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:35:31,552 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:35:31,552 INFO L85 PathProgramCache]: Analyzing trace with hash -979484737, now seen corresponding path program 1 times [2022-04-08 08:35:31,552 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:35:31,552 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [555277498] [2022-04-08 08:35:31,554 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 4 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 08:35:31,554 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 08:35:31,554 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 08:35:31,554 INFO L85 PathProgramCache]: Analyzing trace with hash -979484737, now seen corresponding path program 2 times [2022-04-08 08:35:31,554 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:35:31,554 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [325574844] [2022-04-08 08:35:31,555 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:35:31,555 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:35:31,650 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:31,747 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:35:31,750 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:31,756 INFO L290 TraceCheckUtils]: 0: Hoare triple {73541#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {73463#true} is VALID [2022-04-08 08:35:31,756 INFO L290 TraceCheckUtils]: 1: Hoare triple {73463#true} assume true; {73463#true} is VALID [2022-04-08 08:35:31,757 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {73463#true} {73463#true} #1270#return; {73463#true} is VALID [2022-04-08 08:35:31,801 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:35:31,802 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:31,808 INFO L290 TraceCheckUtils]: 0: Hoare triple {73542#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {73463#true} is VALID [2022-04-08 08:35:31,808 INFO L290 TraceCheckUtils]: 1: Hoare triple {73463#true} assume true; {73463#true} is VALID [2022-04-08 08:35:31,808 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {73463#true} {73463#true} #1216#return; {73463#true} is VALID [2022-04-08 08:35:31,818 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:35:31,826 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:31,835 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:35:31,835 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:31,841 INFO L290 TraceCheckUtils]: 0: Hoare triple {73463#true} ~cond := #in~cond; {73463#true} is VALID [2022-04-08 08:35:31,841 INFO L290 TraceCheckUtils]: 1: Hoare triple {73463#true} assume !(0 == ~cond); {73463#true} is VALID [2022-04-08 08:35:31,841 INFO L290 TraceCheckUtils]: 2: Hoare triple {73463#true} assume true; {73463#true} is VALID [2022-04-08 08:35:31,841 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {73463#true} {73463#true} #1254#return; {73463#true} is VALID [2022-04-08 08:35:31,841 INFO L290 TraceCheckUtils]: 0: Hoare triple {73543#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {73463#true} is VALID [2022-04-08 08:35:31,841 INFO L272 TraceCheckUtils]: 1: Hoare triple {73463#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {73463#true} is VALID [2022-04-08 08:35:31,841 INFO L290 TraceCheckUtils]: 2: Hoare triple {73463#true} ~cond := #in~cond; {73463#true} is VALID [2022-04-08 08:35:31,841 INFO L290 TraceCheckUtils]: 3: Hoare triple {73463#true} assume !(0 == ~cond); {73463#true} is VALID [2022-04-08 08:35:31,842 INFO L290 TraceCheckUtils]: 4: Hoare triple {73463#true} assume true; {73463#true} is VALID [2022-04-08 08:35:31,842 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {73463#true} {73463#true} #1254#return; {73463#true} is VALID [2022-04-08 08:35:31,842 INFO L290 TraceCheckUtils]: 6: Hoare triple {73463#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {73463#true} is VALID [2022-04-08 08:35:31,842 INFO L290 TraceCheckUtils]: 7: Hoare triple {73463#true} assume true; {73463#true} is VALID [2022-04-08 08:35:31,842 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {73463#true} {73463#true} #1218#return; {73463#true} is VALID [2022-04-08 08:35:31,854 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:35:31,867 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:31,878 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:35:31,882 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:31,895 INFO L290 TraceCheckUtils]: 0: Hoare triple {73548#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {73463#true} is VALID [2022-04-08 08:35:31,895 INFO L290 TraceCheckUtils]: 1: Hoare triple {73463#true} assume 0 == ~__BLAST_NONDET~5; {73463#true} is VALID [2022-04-08 08:35:31,895 INFO L290 TraceCheckUtils]: 2: Hoare triple {73463#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {73463#true} is VALID [2022-04-08 08:35:31,896 INFO L290 TraceCheckUtils]: 3: Hoare triple {73463#true} assume true; {73463#true} is VALID [2022-04-08 08:35:31,896 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {73463#true} {73463#true} #1176#return; {73463#true} is VALID [2022-04-08 08:35:31,896 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 08:35:31,897 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:31,902 INFO L290 TraceCheckUtils]: 0: Hoare triple {73543#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {73463#true} is VALID [2022-04-08 08:35:31,902 INFO L290 TraceCheckUtils]: 1: Hoare triple {73463#true} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {73463#true} is VALID [2022-04-08 08:35:31,902 INFO L290 TraceCheckUtils]: 2: Hoare triple {73463#true} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {73463#true} is VALID [2022-04-08 08:35:31,903 INFO L290 TraceCheckUtils]: 3: Hoare triple {73463#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {73463#true} is VALID [2022-04-08 08:35:31,903 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {73463#true} {73463#true} #1178#return; {73463#true} is VALID [2022-04-08 08:35:31,903 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-08 08:35:31,904 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:31,909 INFO L290 TraceCheckUtils]: 0: Hoare triple {73463#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {73463#true} is VALID [2022-04-08 08:35:31,910 INFO L290 TraceCheckUtils]: 1: Hoare triple {73463#true} assume 0 == ~__BLAST_NONDET~2; {73463#true} is VALID [2022-04-08 08:35:31,910 INFO L290 TraceCheckUtils]: 2: Hoare triple {73463#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {73463#true} is VALID [2022-04-08 08:35:31,910 INFO L290 TraceCheckUtils]: 3: Hoare triple {73463#true} assume true; {73463#true} is VALID [2022-04-08 08:35:31,910 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {73463#true} {73463#true} #1180#return; {73463#true} is VALID [2022-04-08 08:35:31,910 INFO L290 TraceCheckUtils]: 0: Hoare triple {73548#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {73463#true} is VALID [2022-04-08 08:35:31,911 INFO L272 TraceCheckUtils]: 1: Hoare triple {73463#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {73548#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:35:31,911 INFO L290 TraceCheckUtils]: 2: Hoare triple {73548#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {73463#true} is VALID [2022-04-08 08:35:31,911 INFO L290 TraceCheckUtils]: 3: Hoare triple {73463#true} assume 0 == ~__BLAST_NONDET~5; {73463#true} is VALID [2022-04-08 08:35:31,911 INFO L290 TraceCheckUtils]: 4: Hoare triple {73463#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {73463#true} is VALID [2022-04-08 08:35:31,911 INFO L290 TraceCheckUtils]: 5: Hoare triple {73463#true} assume true; {73463#true} is VALID [2022-04-08 08:35:31,911 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {73463#true} {73463#true} #1176#return; {73463#true} is VALID [2022-04-08 08:35:31,911 INFO L290 TraceCheckUtils]: 7: Hoare triple {73463#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {73463#true} is VALID [2022-04-08 08:35:31,911 INFO L290 TraceCheckUtils]: 8: Hoare triple {73463#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {73463#true} is VALID [2022-04-08 08:35:31,912 INFO L272 TraceCheckUtils]: 9: Hoare triple {73463#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {73543#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:35:31,912 INFO L290 TraceCheckUtils]: 10: Hoare triple {73543#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {73463#true} is VALID [2022-04-08 08:35:31,912 INFO L290 TraceCheckUtils]: 11: Hoare triple {73463#true} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {73463#true} is VALID [2022-04-08 08:35:31,912 INFO L290 TraceCheckUtils]: 12: Hoare triple {73463#true} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {73463#true} is VALID [2022-04-08 08:35:31,912 INFO L290 TraceCheckUtils]: 13: Hoare triple {73463#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {73463#true} is VALID [2022-04-08 08:35:31,912 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {73463#true} {73463#true} #1178#return; {73463#true} is VALID [2022-04-08 08:35:31,912 INFO L290 TraceCheckUtils]: 15: Hoare triple {73463#true} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {73463#true} is VALID [2022-04-08 08:35:31,912 INFO L272 TraceCheckUtils]: 16: Hoare triple {73463#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {73463#true} is VALID [2022-04-08 08:35:31,912 INFO L290 TraceCheckUtils]: 17: Hoare triple {73463#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {73463#true} is VALID [2022-04-08 08:35:31,912 INFO L290 TraceCheckUtils]: 18: Hoare triple {73463#true} assume 0 == ~__BLAST_NONDET~2; {73463#true} is VALID [2022-04-08 08:35:31,912 INFO L290 TraceCheckUtils]: 19: Hoare triple {73463#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {73463#true} is VALID [2022-04-08 08:35:31,912 INFO L290 TraceCheckUtils]: 20: Hoare triple {73463#true} assume true; {73463#true} is VALID [2022-04-08 08:35:31,912 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {73463#true} {73463#true} #1180#return; {73463#true} is VALID [2022-04-08 08:35:31,913 INFO L290 TraceCheckUtils]: 22: Hoare triple {73463#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {73463#true} is VALID [2022-04-08 08:35:31,913 INFO L290 TraceCheckUtils]: 23: Hoare triple {73463#true} assume true; {73463#true} is VALID [2022-04-08 08:35:31,913 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {73463#true} {73463#true} #1220#return; {73463#true} is VALID [2022-04-08 08:35:31,925 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-08 08:35:31,926 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:31,931 INFO L290 TraceCheckUtils]: 0: Hoare triple {73564#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {73463#true} is VALID [2022-04-08 08:35:31,931 INFO L290 TraceCheckUtils]: 1: Hoare triple {73463#true} assume true; {73463#true} is VALID [2022-04-08 08:35:31,931 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {73463#true} {73463#true} #1222#return; {73463#true} is VALID [2022-04-08 08:35:31,931 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-08 08:35:31,932 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:31,937 INFO L290 TraceCheckUtils]: 0: Hoare triple {73543#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {73463#true} is VALID [2022-04-08 08:35:31,937 INFO L290 TraceCheckUtils]: 1: Hoare triple {73463#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {73463#true} is VALID [2022-04-08 08:35:31,937 INFO L290 TraceCheckUtils]: 2: Hoare triple {73463#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {73463#true} is VALID [2022-04-08 08:35:31,937 INFO L290 TraceCheckUtils]: 3: Hoare triple {73463#true} assume #res.base == dest.base && #res.offset == dest.offset; {73463#true} is VALID [2022-04-08 08:35:31,937 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {73463#true} {73463#true} #1186#return; {73463#true} is VALID [2022-04-08 08:35:31,945 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 73 [2022-04-08 08:35:31,953 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:31,986 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 08:35:31,992 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:31,996 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:35:31,997 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:32,002 INFO L290 TraceCheckUtils]: 0: Hoare triple {73579#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {73463#true} is VALID [2022-04-08 08:35:32,002 INFO L290 TraceCheckUtils]: 1: Hoare triple {73463#true} assume true; {73463#true} is VALID [2022-04-08 08:35:32,002 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {73463#true} {73463#true} #1174#return; {73463#true} is VALID [2022-04-08 08:35:32,002 INFO L290 TraceCheckUtils]: 0: Hoare triple {73579#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {73463#true} is VALID [2022-04-08 08:35:32,002 INFO L272 TraceCheckUtils]: 1: Hoare triple {73463#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {73579#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:35:32,002 INFO L290 TraceCheckUtils]: 2: Hoare triple {73579#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {73463#true} is VALID [2022-04-08 08:35:32,003 INFO L290 TraceCheckUtils]: 3: Hoare triple {73463#true} assume true; {73463#true} is VALID [2022-04-08 08:35:32,003 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {73463#true} {73463#true} #1174#return; {73463#true} is VALID [2022-04-08 08:35:32,003 INFO L290 TraceCheckUtils]: 5: Hoare triple {73463#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {73463#true} is VALID [2022-04-08 08:35:32,003 INFO L290 TraceCheckUtils]: 6: Hoare triple {73463#true} assume true; {73463#true} is VALID [2022-04-08 08:35:32,003 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {73463#true} {73463#true} #1210#return; {73463#true} is VALID [2022-04-08 08:35:32,011 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 08:35:32,011 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:32,015 INFO L290 TraceCheckUtils]: 0: Hoare triple {73583#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {73463#true} is VALID [2022-04-08 08:35:32,015 INFO L290 TraceCheckUtils]: 1: Hoare triple {73463#true} assume true; {73463#true} is VALID [2022-04-08 08:35:32,015 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {73463#true} {73463#true} #1212#return; {73463#true} is VALID [2022-04-08 08:35:32,016 INFO L290 TraceCheckUtils]: 0: Hoare triple {73565#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {73463#true} is VALID [2022-04-08 08:35:32,016 INFO L290 TraceCheckUtils]: 1: Hoare triple {73463#true} assume 0 != ~compRegistered~0; {73463#true} is VALID [2022-04-08 08:35:32,016 INFO L272 TraceCheckUtils]: 2: Hoare triple {73463#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {73579#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:35:32,016 INFO L290 TraceCheckUtils]: 3: Hoare triple {73579#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {73463#true} is VALID [2022-04-08 08:35:32,017 INFO L272 TraceCheckUtils]: 4: Hoare triple {73463#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {73579#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:35:32,017 INFO L290 TraceCheckUtils]: 5: Hoare triple {73579#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {73463#true} is VALID [2022-04-08 08:35:32,017 INFO L290 TraceCheckUtils]: 6: Hoare triple {73463#true} assume true; {73463#true} is VALID [2022-04-08 08:35:32,017 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {73463#true} {73463#true} #1174#return; {73463#true} is VALID [2022-04-08 08:35:32,017 INFO L290 TraceCheckUtils]: 8: Hoare triple {73463#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {73463#true} is VALID [2022-04-08 08:35:32,017 INFO L290 TraceCheckUtils]: 9: Hoare triple {73463#true} assume true; {73463#true} is VALID [2022-04-08 08:35:32,017 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {73463#true} {73463#true} #1210#return; {73463#true} is VALID [2022-04-08 08:35:32,017 INFO L290 TraceCheckUtils]: 11: Hoare triple {73463#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {73463#true} is VALID [2022-04-08 08:35:32,017 INFO L290 TraceCheckUtils]: 12: Hoare triple {73463#true} assume -1073741802 == ~compRetStatus~0; {73463#true} is VALID [2022-04-08 08:35:32,018 INFO L272 TraceCheckUtils]: 13: Hoare triple {73463#true} call stubMoreProcessingRequired(); {73583#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:35:32,018 INFO L290 TraceCheckUtils]: 14: Hoare triple {73583#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {73463#true} is VALID [2022-04-08 08:35:32,018 INFO L290 TraceCheckUtils]: 15: Hoare triple {73463#true} assume true; {73463#true} is VALID [2022-04-08 08:35:32,018 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {73463#true} {73463#true} #1212#return; {73463#true} is VALID [2022-04-08 08:35:32,018 INFO L290 TraceCheckUtils]: 17: Hoare triple {73463#true} assume !(0 == ~__BLAST_NONDET~11); {73463#true} is VALID [2022-04-08 08:35:32,018 INFO L290 TraceCheckUtils]: 18: Hoare triple {73463#true} assume !(1 == ~__BLAST_NONDET~11); {73463#true} is VALID [2022-04-08 08:35:32,018 INFO L290 TraceCheckUtils]: 19: Hoare triple {73463#true} ~returnVal2~0 := 259; {73577#(<= 259 IofCallDriver_~returnVal2~0)} is VALID [2022-04-08 08:35:32,018 INFO L290 TraceCheckUtils]: 20: Hoare triple {73577#(<= 259 IofCallDriver_~returnVal2~0)} assume !(~s~0 == ~NP~0); {73577#(<= 259 IofCallDriver_~returnVal2~0)} is VALID [2022-04-08 08:35:32,019 INFO L290 TraceCheckUtils]: 21: Hoare triple {73577#(<= 259 IofCallDriver_~returnVal2~0)} assume ~s~0 == ~MPR1~0; {73577#(<= 259 IofCallDriver_~returnVal2~0)} is VALID [2022-04-08 08:35:32,019 INFO L290 TraceCheckUtils]: 22: Hoare triple {73577#(<= 259 IofCallDriver_~returnVal2~0)} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := ~returnVal2~0; {73577#(<= 259 IofCallDriver_~returnVal2~0)} is VALID [2022-04-08 08:35:32,019 INFO L290 TraceCheckUtils]: 23: Hoare triple {73577#(<= 259 IofCallDriver_~returnVal2~0)} #res := ~returnVal2~0; {73578#(<= 259 |IofCallDriver_#res|)} is VALID [2022-04-08 08:35:32,019 INFO L290 TraceCheckUtils]: 24: Hoare triple {73578#(<= 259 |IofCallDriver_#res|)} assume true; {73578#(<= 259 |IofCallDriver_#res|)} is VALID [2022-04-08 08:35:32,020 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {73578#(<= 259 |IofCallDriver_#res|)} {73463#true} #1192#return; {73539#(<= 259 |KbFilter_PnP_#t~ret109|)} is VALID [2022-04-08 08:35:32,021 INFO L272 TraceCheckUtils]: 0: Hoare triple {73463#true} call ULTIMATE.init(); {73541#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:35:32,021 INFO L290 TraceCheckUtils]: 1: Hoare triple {73541#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {73463#true} is VALID [2022-04-08 08:35:32,021 INFO L290 TraceCheckUtils]: 2: Hoare triple {73463#true} assume true; {73463#true} is VALID [2022-04-08 08:35:32,021 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {73463#true} {73463#true} #1270#return; {73463#true} is VALID [2022-04-08 08:35:32,021 INFO L272 TraceCheckUtils]: 4: Hoare triple {73463#true} call #t~ret213 := main(); {73463#true} is VALID [2022-04-08 08:35:32,021 INFO L290 TraceCheckUtils]: 5: Hoare triple {73463#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {73463#true} is VALID [2022-04-08 08:35:32,022 INFO L272 TraceCheckUtils]: 6: Hoare triple {73463#true} call _BLAST_init(); {73542#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:35:32,022 INFO L290 TraceCheckUtils]: 7: Hoare triple {73542#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {73463#true} is VALID [2022-04-08 08:35:32,022 INFO L290 TraceCheckUtils]: 8: Hoare triple {73463#true} assume true; {73463#true} is VALID [2022-04-08 08:35:32,022 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {73463#true} {73463#true} #1216#return; {73463#true} is VALID [2022-04-08 08:35:32,023 INFO L272 TraceCheckUtils]: 10: Hoare triple {73463#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {73543#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:35:32,023 INFO L290 TraceCheckUtils]: 11: Hoare triple {73543#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {73463#true} is VALID [2022-04-08 08:35:32,023 INFO L272 TraceCheckUtils]: 12: Hoare triple {73463#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {73463#true} is VALID [2022-04-08 08:35:32,023 INFO L290 TraceCheckUtils]: 13: Hoare triple {73463#true} ~cond := #in~cond; {73463#true} is VALID [2022-04-08 08:35:32,023 INFO L290 TraceCheckUtils]: 14: Hoare triple {73463#true} assume !(0 == ~cond); {73463#true} is VALID [2022-04-08 08:35:32,023 INFO L290 TraceCheckUtils]: 15: Hoare triple {73463#true} assume true; {73463#true} is VALID [2022-04-08 08:35:32,023 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {73463#true} {73463#true} #1254#return; {73463#true} is VALID [2022-04-08 08:35:32,023 INFO L290 TraceCheckUtils]: 17: Hoare triple {73463#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {73463#true} is VALID [2022-04-08 08:35:32,023 INFO L290 TraceCheckUtils]: 18: Hoare triple {73463#true} assume true; {73463#true} is VALID [2022-04-08 08:35:32,023 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {73463#true} {73463#true} #1218#return; {73463#true} is VALID [2022-04-08 08:35:32,023 INFO L290 TraceCheckUtils]: 20: Hoare triple {73463#true} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {73463#true} is VALID [2022-04-08 08:35:32,024 INFO L290 TraceCheckUtils]: 21: Hoare triple {73463#true} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {73463#true} is VALID [2022-04-08 08:35:32,024 INFO L290 TraceCheckUtils]: 22: Hoare triple {73463#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {73463#true} is VALID [2022-04-08 08:35:32,025 INFO L272 TraceCheckUtils]: 23: Hoare triple {73463#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {73548#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:35:32,025 INFO L290 TraceCheckUtils]: 24: Hoare triple {73548#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {73463#true} is VALID [2022-04-08 08:35:32,026 INFO L272 TraceCheckUtils]: 25: Hoare triple {73463#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {73548#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:35:32,026 INFO L290 TraceCheckUtils]: 26: Hoare triple {73548#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {73463#true} is VALID [2022-04-08 08:35:32,026 INFO L290 TraceCheckUtils]: 27: Hoare triple {73463#true} assume 0 == ~__BLAST_NONDET~5; {73463#true} is VALID [2022-04-08 08:35:32,026 INFO L290 TraceCheckUtils]: 28: Hoare triple {73463#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {73463#true} is VALID [2022-04-08 08:35:32,026 INFO L290 TraceCheckUtils]: 29: Hoare triple {73463#true} assume true; {73463#true} is VALID [2022-04-08 08:35:32,026 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {73463#true} {73463#true} #1176#return; {73463#true} is VALID [2022-04-08 08:35:32,026 INFO L290 TraceCheckUtils]: 31: Hoare triple {73463#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {73463#true} is VALID [2022-04-08 08:35:32,026 INFO L290 TraceCheckUtils]: 32: Hoare triple {73463#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {73463#true} is VALID [2022-04-08 08:35:32,026 INFO L272 TraceCheckUtils]: 33: Hoare triple {73463#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {73543#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:35:32,027 INFO L290 TraceCheckUtils]: 34: Hoare triple {73543#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {73463#true} is VALID [2022-04-08 08:35:32,027 INFO L290 TraceCheckUtils]: 35: Hoare triple {73463#true} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {73463#true} is VALID [2022-04-08 08:35:32,027 INFO L290 TraceCheckUtils]: 36: Hoare triple {73463#true} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {73463#true} is VALID [2022-04-08 08:35:32,027 INFO L290 TraceCheckUtils]: 37: Hoare triple {73463#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {73463#true} is VALID [2022-04-08 08:35:32,027 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {73463#true} {73463#true} #1178#return; {73463#true} is VALID [2022-04-08 08:35:32,027 INFO L290 TraceCheckUtils]: 39: Hoare triple {73463#true} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {73463#true} is VALID [2022-04-08 08:35:32,027 INFO L272 TraceCheckUtils]: 40: Hoare triple {73463#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {73463#true} is VALID [2022-04-08 08:35:32,027 INFO L290 TraceCheckUtils]: 41: Hoare triple {73463#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {73463#true} is VALID [2022-04-08 08:35:32,027 INFO L290 TraceCheckUtils]: 42: Hoare triple {73463#true} assume 0 == ~__BLAST_NONDET~2; {73463#true} is VALID [2022-04-08 08:35:32,027 INFO L290 TraceCheckUtils]: 43: Hoare triple {73463#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {73463#true} is VALID [2022-04-08 08:35:32,027 INFO L290 TraceCheckUtils]: 44: Hoare triple {73463#true} assume true; {73463#true} is VALID [2022-04-08 08:35:32,027 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {73463#true} {73463#true} #1180#return; {73463#true} is VALID [2022-04-08 08:35:32,027 INFO L290 TraceCheckUtils]: 46: Hoare triple {73463#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {73463#true} is VALID [2022-04-08 08:35:32,027 INFO L290 TraceCheckUtils]: 47: Hoare triple {73463#true} assume true; {73463#true} is VALID [2022-04-08 08:35:32,027 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {73463#true} {73463#true} #1220#return; {73463#true} is VALID [2022-04-08 08:35:32,027 INFO L290 TraceCheckUtils]: 49: Hoare triple {73463#true} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {73463#true} is VALID [2022-04-08 08:35:32,028 INFO L272 TraceCheckUtils]: 50: Hoare triple {73463#true} call stub_driver_init(); {73564#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:35:32,028 INFO L290 TraceCheckUtils]: 51: Hoare triple {73564#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {73463#true} is VALID [2022-04-08 08:35:32,028 INFO L290 TraceCheckUtils]: 52: Hoare triple {73463#true} assume true; {73463#true} is VALID [2022-04-08 08:35:32,029 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {73463#true} {73463#true} #1222#return; {73463#true} is VALID [2022-04-08 08:35:32,029 INFO L290 TraceCheckUtils]: 54: Hoare triple {73463#true} assume !!(~status~5 >= 0); {73463#true} is VALID [2022-04-08 08:35:32,029 INFO L290 TraceCheckUtils]: 55: Hoare triple {73463#true} assume !(0 == ~__BLAST_NONDET~0); {73463#true} is VALID [2022-04-08 08:35:32,029 INFO L290 TraceCheckUtils]: 56: Hoare triple {73463#true} assume !(1 == ~__BLAST_NONDET~0); {73463#true} is VALID [2022-04-08 08:35:32,029 INFO L290 TraceCheckUtils]: 57: Hoare triple {73463#true} assume !(2 == ~__BLAST_NONDET~0); {73463#true} is VALID [2022-04-08 08:35:32,029 INFO L290 TraceCheckUtils]: 58: Hoare triple {73463#true} assume 3 == ~__BLAST_NONDET~0; {73463#true} is VALID [2022-04-08 08:35:32,029 INFO L272 TraceCheckUtils]: 59: Hoare triple {73463#true} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {73463#true} is VALID [2022-04-08 08:35:32,029 INFO L290 TraceCheckUtils]: 60: Hoare triple {73463#true} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~devExt~3.base, ~devExt~3.offset;havoc ~irpStack~3.base, ~irpStack~3.offset;havoc ~status~3;call ~#event~1.base, ~#event~1.offset := #Ultimate.allocOnStack(16);havoc ~irpSp~0.base, ~irpSp~0.offset;havoc ~nextIrpSp~0.base, ~nextIrpSp~0.offset;havoc ~irpSp___0~0.base, ~irpSp___0~0.offset;~status~3 := 0;call #t~mem79.base, #t~mem79.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~3.base, ~devExt~3.offset := #t~mem79.base, #t~mem79.offset;havoc #t~mem79.base, #t~mem79.offset;call #t~mem80.base, #t~mem80.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~3.base, ~irpStack~3.offset := #t~mem80.base, #t~mem80.offset;havoc #t~mem80.base, #t~mem80.offset;call #t~mem81 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {73463#true} is VALID [2022-04-08 08:35:32,029 INFO L290 TraceCheckUtils]: 61: Hoare triple {73463#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {73463#true} is VALID [2022-04-08 08:35:32,029 INFO L290 TraceCheckUtils]: 62: Hoare triple {73463#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp~0.base, ~irpSp~0.offset := #t~mem102.base, #t~mem102.offset;havoc #t~mem102.base, #t~mem102.offset;call #t~mem103.base, #t~mem103.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 36;havoc #t~mem103.base, #t~mem103.offset; {73463#true} is VALID [2022-04-08 08:35:32,030 INFO L272 TraceCheckUtils]: 63: Hoare triple {73463#true} call #t~memmove~res104.base, #t~memmove~res104.offset := #Ultimate.C_memmove(~nextIrpSp~0.base, ~nextIrpSp~0.offset, ~irpSp~0.base, ~irpSp~0.offset, 28); {73543#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:35:32,030 INFO L290 TraceCheckUtils]: 64: Hoare triple {73543#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {73463#true} is VALID [2022-04-08 08:35:32,030 INFO L290 TraceCheckUtils]: 65: Hoare triple {73463#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {73463#true} is VALID [2022-04-08 08:35:32,030 INFO L290 TraceCheckUtils]: 66: Hoare triple {73463#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {73463#true} is VALID [2022-04-08 08:35:32,030 INFO L290 TraceCheckUtils]: 67: Hoare triple {73463#true} assume #res.base == dest.base && #res.offset == dest.offset; {73463#true} is VALID [2022-04-08 08:35:32,030 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {73463#true} {73463#true} #1186#return; {73463#true} is VALID [2022-04-08 08:35:32,030 INFO L290 TraceCheckUtils]: 69: Hoare triple {73463#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {73463#true} is VALID [2022-04-08 08:35:32,030 INFO L290 TraceCheckUtils]: 70: Hoare triple {73463#true} assume !(~s~0 != ~NP~0); {73463#true} is VALID [2022-04-08 08:35:32,030 INFO L290 TraceCheckUtils]: 71: Hoare triple {73463#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {73463#true} is VALID [2022-04-08 08:35:32,030 INFO L290 TraceCheckUtils]: 72: Hoare triple {73463#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 36;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 28 + ~irpSp___0~0.offset, 4);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 32 + ~irpSp___0~0.offset, 4);call write~int(0, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(64, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call #t~mem106 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem106 % 256, 128), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem106;call #t~mem107 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem107 % 256, 32), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem107;call #t~mem108.base, #t~mem108.offset := read~$Pointer$(~devExt~3.base, 8 + ~devExt~3.offset, 4); {73463#true} is VALID [2022-04-08 08:35:32,031 INFO L272 TraceCheckUtils]: 73: Hoare triple {73463#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {73565#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:35:32,031 INFO L290 TraceCheckUtils]: 74: Hoare triple {73565#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {73463#true} is VALID [2022-04-08 08:35:32,031 INFO L290 TraceCheckUtils]: 75: Hoare triple {73463#true} assume 0 != ~compRegistered~0; {73463#true} is VALID [2022-04-08 08:35:32,032 INFO L272 TraceCheckUtils]: 76: Hoare triple {73463#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {73579#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:35:32,032 INFO L290 TraceCheckUtils]: 77: Hoare triple {73579#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {73463#true} is VALID [2022-04-08 08:35:32,032 INFO L272 TraceCheckUtils]: 78: Hoare triple {73463#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {73579#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:35:32,032 INFO L290 TraceCheckUtils]: 79: Hoare triple {73579#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {73463#true} is VALID [2022-04-08 08:35:32,032 INFO L290 TraceCheckUtils]: 80: Hoare triple {73463#true} assume true; {73463#true} is VALID [2022-04-08 08:35:32,033 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {73463#true} {73463#true} #1174#return; {73463#true} is VALID [2022-04-08 08:35:32,033 INFO L290 TraceCheckUtils]: 82: Hoare triple {73463#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {73463#true} is VALID [2022-04-08 08:35:32,033 INFO L290 TraceCheckUtils]: 83: Hoare triple {73463#true} assume true; {73463#true} is VALID [2022-04-08 08:35:32,033 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {73463#true} {73463#true} #1210#return; {73463#true} is VALID [2022-04-08 08:35:32,033 INFO L290 TraceCheckUtils]: 85: Hoare triple {73463#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {73463#true} is VALID [2022-04-08 08:35:32,033 INFO L290 TraceCheckUtils]: 86: Hoare triple {73463#true} assume -1073741802 == ~compRetStatus~0; {73463#true} is VALID [2022-04-08 08:35:32,033 INFO L272 TraceCheckUtils]: 87: Hoare triple {73463#true} call stubMoreProcessingRequired(); {73583#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:35:32,033 INFO L290 TraceCheckUtils]: 88: Hoare triple {73583#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {73463#true} is VALID [2022-04-08 08:35:32,033 INFO L290 TraceCheckUtils]: 89: Hoare triple {73463#true} assume true; {73463#true} is VALID [2022-04-08 08:35:32,033 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {73463#true} {73463#true} #1212#return; {73463#true} is VALID [2022-04-08 08:35:32,034 INFO L290 TraceCheckUtils]: 91: Hoare triple {73463#true} assume !(0 == ~__BLAST_NONDET~11); {73463#true} is VALID [2022-04-08 08:35:32,034 INFO L290 TraceCheckUtils]: 92: Hoare triple {73463#true} assume !(1 == ~__BLAST_NONDET~11); {73463#true} is VALID [2022-04-08 08:35:32,034 INFO L290 TraceCheckUtils]: 93: Hoare triple {73463#true} ~returnVal2~0 := 259; {73577#(<= 259 IofCallDriver_~returnVal2~0)} is VALID [2022-04-08 08:35:32,034 INFO L290 TraceCheckUtils]: 94: Hoare triple {73577#(<= 259 IofCallDriver_~returnVal2~0)} assume !(~s~0 == ~NP~0); {73577#(<= 259 IofCallDriver_~returnVal2~0)} is VALID [2022-04-08 08:35:32,034 INFO L290 TraceCheckUtils]: 95: Hoare triple {73577#(<= 259 IofCallDriver_~returnVal2~0)} assume ~s~0 == ~MPR1~0; {73577#(<= 259 IofCallDriver_~returnVal2~0)} is VALID [2022-04-08 08:35:32,035 INFO L290 TraceCheckUtils]: 96: Hoare triple {73577#(<= 259 IofCallDriver_~returnVal2~0)} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := ~returnVal2~0; {73577#(<= 259 IofCallDriver_~returnVal2~0)} is VALID [2022-04-08 08:35:32,035 INFO L290 TraceCheckUtils]: 97: Hoare triple {73577#(<= 259 IofCallDriver_~returnVal2~0)} #res := ~returnVal2~0; {73578#(<= 259 |IofCallDriver_#res|)} is VALID [2022-04-08 08:35:32,035 INFO L290 TraceCheckUtils]: 98: Hoare triple {73578#(<= 259 |IofCallDriver_#res|)} assume true; {73578#(<= 259 |IofCallDriver_#res|)} is VALID [2022-04-08 08:35:32,036 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {73578#(<= 259 |IofCallDriver_#res|)} {73463#true} #1192#return; {73539#(<= 259 |KbFilter_PnP_#t~ret109|)} is VALID [2022-04-08 08:35:32,036 INFO L290 TraceCheckUtils]: 100: Hoare triple {73539#(<= 259 |KbFilter_PnP_#t~ret109|)} assume -2147483648 <= #t~ret109 && #t~ret109 <= 2147483647;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {73540#(<= 259 KbFilter_PnP_~status~3)} is VALID [2022-04-08 08:35:32,037 INFO L290 TraceCheckUtils]: 101: Hoare triple {73540#(<= 259 KbFilter_PnP_~status~3)} assume !(259 == ~status~3); {73540#(<= 259 KbFilter_PnP_~status~3)} is VALID [2022-04-08 08:35:32,037 INFO L290 TraceCheckUtils]: 102: Hoare triple {73540#(<= 259 KbFilter_PnP_~status~3)} assume !(~status~3 >= 0); {73464#false} is VALID [2022-04-08 08:35:32,037 INFO L290 TraceCheckUtils]: 103: Hoare triple {73464#false} call write~int(~status~3, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~3;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4); {73464#false} is VALID [2022-04-08 08:35:32,037 INFO L272 TraceCheckUtils]: 104: Hoare triple {73464#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {73464#false} is VALID [2022-04-08 08:35:32,037 INFO L290 TraceCheckUtils]: 105: Hoare triple {73464#false} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {73464#false} is VALID [2022-04-08 08:35:32,037 INFO L290 TraceCheckUtils]: 106: Hoare triple {73464#false} assume !(~s~0 == ~NP~0); {73464#false} is VALID [2022-04-08 08:35:32,037 INFO L272 TraceCheckUtils]: 107: Hoare triple {73464#false} call errorFn(); {73464#false} is VALID [2022-04-08 08:35:32,037 INFO L290 TraceCheckUtils]: 108: Hoare triple {73464#false} assume !false; {73464#false} is VALID [2022-04-08 08:35:32,038 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 08:35:32,038 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:35:32,038 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [325574844] [2022-04-08 08:35:32,038 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [325574844] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:35:32,038 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:35:32,038 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 08:35:32,038 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:35:32,038 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [555277498] [2022-04-08 08:35:32,038 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [555277498] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:35:32,038 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:35:32,038 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 08:35:32,038 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [731207929] [2022-04-08 08:35:32,038 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:35:32,039 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.5) internal successors, (77), 5 states have internal predecessors, (77), 2 states have call successors, (18), 10 states have call predecessors, (18), 2 states have return successors, (14), 2 states have call predecessors, (14), 1 states have call successors, (14) Word has length 109 [2022-04-08 08:35:32,039 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:35:32,039 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 5.5) internal successors, (77), 5 states have internal predecessors, (77), 2 states have call successors, (18), 10 states have call predecessors, (18), 2 states have return successors, (14), 2 states have call predecessors, (14), 1 states have call successors, (14) [2022-04-08 08:35:32,153 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:35:32,153 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 08:35:32,153 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:35:32,153 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 08:35:32,153 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=142, Unknown=0, NotChecked=0, Total=182 [2022-04-08 08:35:32,154 INFO L87 Difference]: Start difference. First operand 327 states and 383 transitions. Second operand has 14 states, 14 states have (on average 5.5) internal successors, (77), 5 states have internal predecessors, (77), 2 states have call successors, (18), 10 states have call predecessors, (18), 2 states have return successors, (14), 2 states have call predecessors, (14), 1 states have call successors, (14) [2022-04-08 08:35:34,285 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:35:42,964 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:35:42,964 INFO L93 Difference]: Finished difference Result 425 states and 503 transitions. [2022-04-08 08:35:42,964 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 08:35:42,964 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.5) internal successors, (77), 5 states have internal predecessors, (77), 2 states have call successors, (18), 10 states have call predecessors, (18), 2 states have return successors, (14), 2 states have call predecessors, (14), 1 states have call successors, (14) Word has length 109 [2022-04-08 08:35:42,964 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:35:42,964 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.5) internal successors, (77), 5 states have internal predecessors, (77), 2 states have call successors, (18), 10 states have call predecessors, (18), 2 states have return successors, (14), 2 states have call predecessors, (14), 1 states have call successors, (14) [2022-04-08 08:35:42,966 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 234 transitions. [2022-04-08 08:35:42,966 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.5) internal successors, (77), 5 states have internal predecessors, (77), 2 states have call successors, (18), 10 states have call predecessors, (18), 2 states have return successors, (14), 2 states have call predecessors, (14), 1 states have call successors, (14) [2022-04-08 08:35:42,967 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 234 transitions. [2022-04-08 08:35:42,967 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 234 transitions. [2022-04-08 08:35:43,236 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 234 edges. 234 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:35:43,247 INFO L225 Difference]: With dead ends: 425 [2022-04-08 08:35:43,247 INFO L226 Difference]: Without dead ends: 396 [2022-04-08 08:35:43,247 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 42 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=84, Invalid=296, Unknown=0, NotChecked=0, Total=380 [2022-04-08 08:35:43,248 INFO L913 BasicCegarLoop]: 147 mSDtfsCounter, 328 mSDsluCounter, 301 mSDsCounter, 0 mSdLazyCounter, 789 mSolverCounterSat, 173 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 333 SdHoareTripleChecker+Valid, 448 SdHoareTripleChecker+Invalid, 963 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 173 IncrementalHoareTripleChecker+Valid, 789 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.9s IncrementalHoareTripleChecker+Time [2022-04-08 08:35:43,248 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [333 Valid, 448 Invalid, 963 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [173 Valid, 789 Invalid, 1 Unknown, 0 Unchecked, 4.9s Time] [2022-04-08 08:35:43,248 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 396 states. [2022-04-08 08:35:43,964 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 396 to 337. [2022-04-08 08:35:43,964 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:35:43,965 INFO L82 GeneralOperation]: Start isEquivalent. First operand 396 states. Second operand has 337 states, 262 states have (on average 1.2099236641221374) internal successors, (317), 266 states have internal predecessors, (317), 36 states have call successors, (36), 34 states have call predecessors, (36), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) [2022-04-08 08:35:43,965 INFO L74 IsIncluded]: Start isIncluded. First operand 396 states. Second operand has 337 states, 262 states have (on average 1.2099236641221374) internal successors, (317), 266 states have internal predecessors, (317), 36 states have call successors, (36), 34 states have call predecessors, (36), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) [2022-04-08 08:35:43,965 INFO L87 Difference]: Start difference. First operand 396 states. Second operand has 337 states, 262 states have (on average 1.2099236641221374) internal successors, (317), 266 states have internal predecessors, (317), 36 states have call successors, (36), 34 states have call predecessors, (36), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) [2022-04-08 08:35:43,971 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:35:43,971 INFO L93 Difference]: Finished difference Result 396 states and 467 transitions. [2022-04-08 08:35:43,971 INFO L276 IsEmpty]: Start isEmpty. Operand 396 states and 467 transitions. [2022-04-08 08:35:43,971 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:35:43,971 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:35:43,971 INFO L74 IsIncluded]: Start isIncluded. First operand has 337 states, 262 states have (on average 1.2099236641221374) internal successors, (317), 266 states have internal predecessors, (317), 36 states have call successors, (36), 34 states have call predecessors, (36), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) Second operand 396 states. [2022-04-08 08:35:43,972 INFO L87 Difference]: Start difference. First operand has 337 states, 262 states have (on average 1.2099236641221374) internal successors, (317), 266 states have internal predecessors, (317), 36 states have call successors, (36), 34 states have call predecessors, (36), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) Second operand 396 states. [2022-04-08 08:35:43,977 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:35:43,977 INFO L93 Difference]: Finished difference Result 396 states and 467 transitions. [2022-04-08 08:35:43,977 INFO L276 IsEmpty]: Start isEmpty. Operand 396 states and 467 transitions. [2022-04-08 08:35:43,977 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:35:43,977 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:35:43,977 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:35:43,977 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:35:43,978 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 337 states, 262 states have (on average 1.2099236641221374) internal successors, (317), 266 states have internal predecessors, (317), 36 states have call successors, (36), 34 states have call predecessors, (36), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) [2022-04-08 08:35:43,983 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 337 states to 337 states and 393 transitions. [2022-04-08 08:35:43,983 INFO L78 Accepts]: Start accepts. Automaton has 337 states and 393 transitions. Word has length 109 [2022-04-08 08:35:43,983 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:35:43,983 INFO L478 AbstractCegarLoop]: Abstraction has 337 states and 393 transitions. [2022-04-08 08:35:43,983 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 5.5) internal successors, (77), 5 states have internal predecessors, (77), 2 states have call successors, (18), 10 states have call predecessors, (18), 2 states have return successors, (14), 2 states have call predecessors, (14), 1 states have call successors, (14) [2022-04-08 08:35:43,983 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 337 states and 393 transitions. [2022-04-08 08:35:45,053 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 393 edges. 393 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:35:45,053 INFO L276 IsEmpty]: Start isEmpty. Operand 337 states and 393 transitions. [2022-04-08 08:35:45,054 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-08 08:35:45,054 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:35:45,054 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:35:45,054 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable30 [2022-04-08 08:35:45,054 INFO L403 AbstractCegarLoop]: === Iteration 32 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:35:45,055 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:35:45,055 INFO L85 PathProgramCache]: Analyzing trace with hash 1216749988, now seen corresponding path program 1 times [2022-04-08 08:35:45,055 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:35:45,055 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [410052288] [2022-04-08 08:35:45,057 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 4 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 08:35:45,057 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 08:35:45,057 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 08:35:45,057 INFO L85 PathProgramCache]: Analyzing trace with hash 1216749988, now seen corresponding path program 2 times [2022-04-08 08:35:45,057 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:35:45,057 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1576808858] [2022-04-08 08:35:45,057 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:35:45,059 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:35:45,150 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:45,284 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:35:45,286 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:45,291 INFO L290 TraceCheckUtils]: 0: Hoare triple {75994#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {75916#true} is VALID [2022-04-08 08:35:45,292 INFO L290 TraceCheckUtils]: 1: Hoare triple {75916#true} assume true; {75916#true} is VALID [2022-04-08 08:35:45,292 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {75916#true} {75916#true} #1270#return; {75916#true} is VALID [2022-04-08 08:35:45,316 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:35:45,318 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:45,343 INFO L290 TraceCheckUtils]: 0: Hoare triple {75995#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {75996#(and (<= 6 ~MPR3~0) (= (+ (- 1) ~NP~0) 0))} is VALID [2022-04-08 08:35:45,343 INFO L290 TraceCheckUtils]: 1: Hoare triple {75996#(and (<= 6 ~MPR3~0) (= (+ (- 1) ~NP~0) 0))} assume true; {75996#(and (<= 6 ~MPR3~0) (= (+ (- 1) ~NP~0) 0))} is VALID [2022-04-08 08:35:45,343 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {75996#(and (<= 6 ~MPR3~0) (= (+ (- 1) ~NP~0) 0))} {75916#true} #1216#return; {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 08:35:45,351 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:35:45,362 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:45,370 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:35:45,370 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:45,374 INFO L290 TraceCheckUtils]: 0: Hoare triple {75916#true} ~cond := #in~cond; {75916#true} is VALID [2022-04-08 08:35:45,374 INFO L290 TraceCheckUtils]: 1: Hoare triple {75916#true} assume !(0 == ~cond); {75916#true} is VALID [2022-04-08 08:35:45,374 INFO L290 TraceCheckUtils]: 2: Hoare triple {75916#true} assume true; {75916#true} is VALID [2022-04-08 08:35:45,374 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {75916#true} {75916#true} #1254#return; {75916#true} is VALID [2022-04-08 08:35:45,374 INFO L290 TraceCheckUtils]: 0: Hoare triple {75997#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {75916#true} is VALID [2022-04-08 08:35:45,375 INFO L272 TraceCheckUtils]: 1: Hoare triple {75916#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {75916#true} is VALID [2022-04-08 08:35:45,375 INFO L290 TraceCheckUtils]: 2: Hoare triple {75916#true} ~cond := #in~cond; {75916#true} is VALID [2022-04-08 08:35:45,375 INFO L290 TraceCheckUtils]: 3: Hoare triple {75916#true} assume !(0 == ~cond); {75916#true} is VALID [2022-04-08 08:35:45,375 INFO L290 TraceCheckUtils]: 4: Hoare triple {75916#true} assume true; {75916#true} is VALID [2022-04-08 08:35:45,375 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {75916#true} {75916#true} #1254#return; {75916#true} is VALID [2022-04-08 08:35:45,375 INFO L290 TraceCheckUtils]: 6: Hoare triple {75916#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {75916#true} is VALID [2022-04-08 08:35:45,375 INFO L290 TraceCheckUtils]: 7: Hoare triple {75916#true} assume true; {75916#true} is VALID [2022-04-08 08:35:45,376 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {75916#true} {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} #1218#return; {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 08:35:45,386 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:35:45,404 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:45,417 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:35:45,421 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:45,428 INFO L290 TraceCheckUtils]: 0: Hoare triple {76002#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {75916#true} is VALID [2022-04-08 08:35:45,428 INFO L290 TraceCheckUtils]: 1: Hoare triple {75916#true} assume 0 == ~__BLAST_NONDET~5; {75916#true} is VALID [2022-04-08 08:35:45,428 INFO L290 TraceCheckUtils]: 2: Hoare triple {75916#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {75916#true} is VALID [2022-04-08 08:35:45,428 INFO L290 TraceCheckUtils]: 3: Hoare triple {75916#true} assume true; {75916#true} is VALID [2022-04-08 08:35:45,428 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {75916#true} {75916#true} #1176#return; {75916#true} is VALID [2022-04-08 08:35:45,428 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 08:35:45,430 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:45,437 INFO L290 TraceCheckUtils]: 0: Hoare triple {75997#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {75916#true} is VALID [2022-04-08 08:35:45,437 INFO L290 TraceCheckUtils]: 1: Hoare triple {75916#true} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {75916#true} is VALID [2022-04-08 08:35:45,437 INFO L290 TraceCheckUtils]: 2: Hoare triple {75916#true} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {75916#true} is VALID [2022-04-08 08:35:45,437 INFO L290 TraceCheckUtils]: 3: Hoare triple {75916#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {75916#true} is VALID [2022-04-08 08:35:45,437 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {75916#true} {75916#true} #1178#return; {75916#true} is VALID [2022-04-08 08:35:45,437 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-08 08:35:45,439 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:45,444 INFO L290 TraceCheckUtils]: 0: Hoare triple {75916#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {75916#true} is VALID [2022-04-08 08:35:45,444 INFO L290 TraceCheckUtils]: 1: Hoare triple {75916#true} assume 0 == ~__BLAST_NONDET~2; {75916#true} is VALID [2022-04-08 08:35:45,445 INFO L290 TraceCheckUtils]: 2: Hoare triple {75916#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {75916#true} is VALID [2022-04-08 08:35:45,445 INFO L290 TraceCheckUtils]: 3: Hoare triple {75916#true} assume true; {75916#true} is VALID [2022-04-08 08:35:45,445 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {75916#true} {75916#true} #1180#return; {75916#true} is VALID [2022-04-08 08:35:45,445 INFO L290 TraceCheckUtils]: 0: Hoare triple {76002#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {75916#true} is VALID [2022-04-08 08:35:45,446 INFO L272 TraceCheckUtils]: 1: Hoare triple {75916#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {76002#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:35:45,446 INFO L290 TraceCheckUtils]: 2: Hoare triple {76002#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {75916#true} is VALID [2022-04-08 08:35:45,446 INFO L290 TraceCheckUtils]: 3: Hoare triple {75916#true} assume 0 == ~__BLAST_NONDET~5; {75916#true} is VALID [2022-04-08 08:35:45,446 INFO L290 TraceCheckUtils]: 4: Hoare triple {75916#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {75916#true} is VALID [2022-04-08 08:35:45,446 INFO L290 TraceCheckUtils]: 5: Hoare triple {75916#true} assume true; {75916#true} is VALID [2022-04-08 08:35:45,447 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {75916#true} {75916#true} #1176#return; {75916#true} is VALID [2022-04-08 08:35:45,447 INFO L290 TraceCheckUtils]: 7: Hoare triple {75916#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {75916#true} is VALID [2022-04-08 08:35:45,447 INFO L290 TraceCheckUtils]: 8: Hoare triple {75916#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {75916#true} is VALID [2022-04-08 08:35:45,447 INFO L272 TraceCheckUtils]: 9: Hoare triple {75916#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {75997#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:35:45,447 INFO L290 TraceCheckUtils]: 10: Hoare triple {75997#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {75916#true} is VALID [2022-04-08 08:35:45,448 INFO L290 TraceCheckUtils]: 11: Hoare triple {75916#true} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {75916#true} is VALID [2022-04-08 08:35:45,448 INFO L290 TraceCheckUtils]: 12: Hoare triple {75916#true} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {75916#true} is VALID [2022-04-08 08:35:45,448 INFO L290 TraceCheckUtils]: 13: Hoare triple {75916#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {75916#true} is VALID [2022-04-08 08:35:45,448 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {75916#true} {75916#true} #1178#return; {75916#true} is VALID [2022-04-08 08:35:45,448 INFO L290 TraceCheckUtils]: 15: Hoare triple {75916#true} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {75916#true} is VALID [2022-04-08 08:35:45,448 INFO L272 TraceCheckUtils]: 16: Hoare triple {75916#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {75916#true} is VALID [2022-04-08 08:35:45,448 INFO L290 TraceCheckUtils]: 17: Hoare triple {75916#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {75916#true} is VALID [2022-04-08 08:35:45,448 INFO L290 TraceCheckUtils]: 18: Hoare triple {75916#true} assume 0 == ~__BLAST_NONDET~2; {75916#true} is VALID [2022-04-08 08:35:45,448 INFO L290 TraceCheckUtils]: 19: Hoare triple {75916#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {75916#true} is VALID [2022-04-08 08:35:45,448 INFO L290 TraceCheckUtils]: 20: Hoare triple {75916#true} assume true; {75916#true} is VALID [2022-04-08 08:35:45,448 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {75916#true} {75916#true} #1180#return; {75916#true} is VALID [2022-04-08 08:35:45,448 INFO L290 TraceCheckUtils]: 22: Hoare triple {75916#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {75916#true} is VALID [2022-04-08 08:35:45,449 INFO L290 TraceCheckUtils]: 23: Hoare triple {75916#true} assume true; {75916#true} is VALID [2022-04-08 08:35:45,449 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {75916#true} {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} #1220#return; {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 08:35:45,465 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-08 08:35:45,467 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:45,473 INFO L290 TraceCheckUtils]: 0: Hoare triple {76018#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {75916#true} is VALID [2022-04-08 08:35:45,473 INFO L290 TraceCheckUtils]: 1: Hoare triple {75916#true} assume true; {75916#true} is VALID [2022-04-08 08:35:45,474 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {75916#true} {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} #1222#return; {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 08:35:45,474 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-08 08:35:45,476 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:45,483 INFO L290 TraceCheckUtils]: 0: Hoare triple {75997#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {75916#true} is VALID [2022-04-08 08:35:45,483 INFO L290 TraceCheckUtils]: 1: Hoare triple {75916#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {75916#true} is VALID [2022-04-08 08:35:45,483 INFO L290 TraceCheckUtils]: 2: Hoare triple {75916#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {75916#true} is VALID [2022-04-08 08:35:45,483 INFO L290 TraceCheckUtils]: 3: Hoare triple {75916#true} assume #res.base == dest.base && #res.offset == dest.offset; {75916#true} is VALID [2022-04-08 08:35:45,484 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {75916#true} {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} #1186#return; {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 08:35:45,494 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 73 [2022-04-08 08:35:45,499 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:45,532 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 08:35:45,534 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:45,538 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:35:45,539 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:45,543 INFO L290 TraceCheckUtils]: 0: Hoare triple {76032#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {75916#true} is VALID [2022-04-08 08:35:45,543 INFO L290 TraceCheckUtils]: 1: Hoare triple {75916#true} assume true; {75916#true} is VALID [2022-04-08 08:35:45,543 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {75916#true} {75916#true} #1174#return; {75916#true} is VALID [2022-04-08 08:35:45,543 INFO L290 TraceCheckUtils]: 0: Hoare triple {76032#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {75916#true} is VALID [2022-04-08 08:35:45,544 INFO L272 TraceCheckUtils]: 1: Hoare triple {75916#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {76032#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:35:45,544 INFO L290 TraceCheckUtils]: 2: Hoare triple {76032#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {75916#true} is VALID [2022-04-08 08:35:45,544 INFO L290 TraceCheckUtils]: 3: Hoare triple {75916#true} assume true; {75916#true} is VALID [2022-04-08 08:35:45,544 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {75916#true} {75916#true} #1174#return; {75916#true} is VALID [2022-04-08 08:35:45,544 INFO L290 TraceCheckUtils]: 5: Hoare triple {75916#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {75916#true} is VALID [2022-04-08 08:35:45,544 INFO L290 TraceCheckUtils]: 6: Hoare triple {75916#true} assume true; {75916#true} is VALID [2022-04-08 08:35:45,544 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {75916#true} {75916#true} #1210#return; {75916#true} is VALID [2022-04-08 08:35:45,553 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 08:35:45,554 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:45,557 INFO L290 TraceCheckUtils]: 0: Hoare triple {76036#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {75916#true} is VALID [2022-04-08 08:35:45,557 INFO L290 TraceCheckUtils]: 1: Hoare triple {75916#true} assume true; {75916#true} is VALID [2022-04-08 08:35:45,558 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {75916#true} {75916#true} #1212#return; {75916#true} is VALID [2022-04-08 08:35:45,558 INFO L290 TraceCheckUtils]: 0: Hoare triple {76019#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {75916#true} is VALID [2022-04-08 08:35:45,558 INFO L290 TraceCheckUtils]: 1: Hoare triple {75916#true} assume 0 != ~compRegistered~0; {75916#true} is VALID [2022-04-08 08:35:45,559 INFO L272 TraceCheckUtils]: 2: Hoare triple {75916#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {76032#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:35:45,559 INFO L290 TraceCheckUtils]: 3: Hoare triple {76032#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {75916#true} is VALID [2022-04-08 08:35:45,559 INFO L272 TraceCheckUtils]: 4: Hoare triple {75916#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {76032#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:35:45,559 INFO L290 TraceCheckUtils]: 5: Hoare triple {76032#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {75916#true} is VALID [2022-04-08 08:35:45,559 INFO L290 TraceCheckUtils]: 6: Hoare triple {75916#true} assume true; {75916#true} is VALID [2022-04-08 08:35:45,559 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {75916#true} {75916#true} #1174#return; {75916#true} is VALID [2022-04-08 08:35:45,559 INFO L290 TraceCheckUtils]: 8: Hoare triple {75916#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {75916#true} is VALID [2022-04-08 08:35:45,559 INFO L290 TraceCheckUtils]: 9: Hoare triple {75916#true} assume true; {75916#true} is VALID [2022-04-08 08:35:45,560 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {75916#true} {75916#true} #1210#return; {75916#true} is VALID [2022-04-08 08:35:45,560 INFO L290 TraceCheckUtils]: 11: Hoare triple {75916#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {75916#true} is VALID [2022-04-08 08:35:45,560 INFO L290 TraceCheckUtils]: 12: Hoare triple {75916#true} assume -1073741802 == ~compRetStatus~0; {75916#true} is VALID [2022-04-08 08:35:45,560 INFO L272 TraceCheckUtils]: 13: Hoare triple {75916#true} call stubMoreProcessingRequired(); {76036#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:35:45,560 INFO L290 TraceCheckUtils]: 14: Hoare triple {76036#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {75916#true} is VALID [2022-04-08 08:35:45,560 INFO L290 TraceCheckUtils]: 15: Hoare triple {75916#true} assume true; {75916#true} is VALID [2022-04-08 08:35:45,560 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {75916#true} {75916#true} #1212#return; {75916#true} is VALID [2022-04-08 08:35:45,560 INFO L290 TraceCheckUtils]: 17: Hoare triple {75916#true} assume !(0 == ~__BLAST_NONDET~11); {75916#true} is VALID [2022-04-08 08:35:45,560 INFO L290 TraceCheckUtils]: 18: Hoare triple {75916#true} assume 1 == ~__BLAST_NONDET~11; {75916#true} is VALID [2022-04-08 08:35:45,560 INFO L290 TraceCheckUtils]: 19: Hoare triple {75916#true} ~returnVal2~0 := -1073741823; {75916#true} is VALID [2022-04-08 08:35:45,560 INFO L290 TraceCheckUtils]: 20: Hoare triple {75916#true} assume !(~s~0 == ~NP~0); {75916#true} is VALID [2022-04-08 08:35:45,560 INFO L290 TraceCheckUtils]: 21: Hoare triple {75916#true} assume ~s~0 == ~MPR1~0; {75916#true} is VALID [2022-04-08 08:35:45,561 INFO L290 TraceCheckUtils]: 22: Hoare triple {75916#true} assume !(259 == ~returnVal2~0);~s~0 := ~NP~0;~lowerDriverReturn~0 := ~returnVal2~0; {76031#(or (= ~s~0 1) (= ~s~0 ~NP~0))} is VALID [2022-04-08 08:35:45,561 INFO L290 TraceCheckUtils]: 23: Hoare triple {76031#(or (= ~s~0 1) (= ~s~0 ~NP~0))} #res := ~returnVal2~0; {76031#(or (= ~s~0 1) (= ~s~0 ~NP~0))} is VALID [2022-04-08 08:35:45,561 INFO L290 TraceCheckUtils]: 24: Hoare triple {76031#(or (= ~s~0 1) (= ~s~0 ~NP~0))} assume true; {76031#(or (= ~s~0 1) (= ~s~0 ~NP~0))} is VALID [2022-04-08 08:35:45,562 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {76031#(or (= ~s~0 1) (= ~s~0 ~NP~0))} {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} #1192#return; {75993#(and (= ~s~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 08:35:45,563 INFO L272 TraceCheckUtils]: 0: Hoare triple {75916#true} call ULTIMATE.init(); {75994#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:35:45,564 INFO L290 TraceCheckUtils]: 1: Hoare triple {75994#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {75916#true} is VALID [2022-04-08 08:35:45,564 INFO L290 TraceCheckUtils]: 2: Hoare triple {75916#true} assume true; {75916#true} is VALID [2022-04-08 08:35:45,564 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {75916#true} {75916#true} #1270#return; {75916#true} is VALID [2022-04-08 08:35:45,564 INFO L272 TraceCheckUtils]: 4: Hoare triple {75916#true} call #t~ret213 := main(); {75916#true} is VALID [2022-04-08 08:35:45,564 INFO L290 TraceCheckUtils]: 5: Hoare triple {75916#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {75916#true} is VALID [2022-04-08 08:35:45,565 INFO L272 TraceCheckUtils]: 6: Hoare triple {75916#true} call _BLAST_init(); {75995#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:35:45,565 INFO L290 TraceCheckUtils]: 7: Hoare triple {75995#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {75996#(and (<= 6 ~MPR3~0) (= (+ (- 1) ~NP~0) 0))} is VALID [2022-04-08 08:35:45,566 INFO L290 TraceCheckUtils]: 8: Hoare triple {75996#(and (<= 6 ~MPR3~0) (= (+ (- 1) ~NP~0) 0))} assume true; {75996#(and (<= 6 ~MPR3~0) (= (+ (- 1) ~NP~0) 0))} is VALID [2022-04-08 08:35:45,566 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {75996#(and (<= 6 ~MPR3~0) (= (+ (- 1) ~NP~0) 0))} {75916#true} #1216#return; {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 08:35:45,567 INFO L272 TraceCheckUtils]: 10: Hoare triple {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {75997#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:35:45,567 INFO L290 TraceCheckUtils]: 11: Hoare triple {75997#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {75916#true} is VALID [2022-04-08 08:35:45,567 INFO L272 TraceCheckUtils]: 12: Hoare triple {75916#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {75916#true} is VALID [2022-04-08 08:35:45,567 INFO L290 TraceCheckUtils]: 13: Hoare triple {75916#true} ~cond := #in~cond; {75916#true} is VALID [2022-04-08 08:35:45,567 INFO L290 TraceCheckUtils]: 14: Hoare triple {75916#true} assume !(0 == ~cond); {75916#true} is VALID [2022-04-08 08:35:45,567 INFO L290 TraceCheckUtils]: 15: Hoare triple {75916#true} assume true; {75916#true} is VALID [2022-04-08 08:35:45,567 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {75916#true} {75916#true} #1254#return; {75916#true} is VALID [2022-04-08 08:35:45,567 INFO L290 TraceCheckUtils]: 17: Hoare triple {75916#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {75916#true} is VALID [2022-04-08 08:35:45,567 INFO L290 TraceCheckUtils]: 18: Hoare triple {75916#true} assume true; {75916#true} is VALID [2022-04-08 08:35:45,568 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {75916#true} {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} #1218#return; {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 08:35:45,569 INFO L290 TraceCheckUtils]: 20: Hoare triple {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 08:35:45,569 INFO L290 TraceCheckUtils]: 21: Hoare triple {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 08:35:45,570 INFO L290 TraceCheckUtils]: 22: Hoare triple {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 08:35:45,571 INFO L272 TraceCheckUtils]: 23: Hoare triple {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {76002#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:35:45,571 INFO L290 TraceCheckUtils]: 24: Hoare triple {76002#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {75916#true} is VALID [2022-04-08 08:35:45,572 INFO L272 TraceCheckUtils]: 25: Hoare triple {75916#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {76002#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:35:45,572 INFO L290 TraceCheckUtils]: 26: Hoare triple {76002#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {75916#true} is VALID [2022-04-08 08:35:45,572 INFO L290 TraceCheckUtils]: 27: Hoare triple {75916#true} assume 0 == ~__BLAST_NONDET~5; {75916#true} is VALID [2022-04-08 08:35:45,572 INFO L290 TraceCheckUtils]: 28: Hoare triple {75916#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {75916#true} is VALID [2022-04-08 08:35:45,572 INFO L290 TraceCheckUtils]: 29: Hoare triple {75916#true} assume true; {75916#true} is VALID [2022-04-08 08:35:45,572 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {75916#true} {75916#true} #1176#return; {75916#true} is VALID [2022-04-08 08:35:45,572 INFO L290 TraceCheckUtils]: 31: Hoare triple {75916#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {75916#true} is VALID [2022-04-08 08:35:45,572 INFO L290 TraceCheckUtils]: 32: Hoare triple {75916#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {75916#true} is VALID [2022-04-08 08:35:45,573 INFO L272 TraceCheckUtils]: 33: Hoare triple {75916#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {75997#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:35:45,573 INFO L290 TraceCheckUtils]: 34: Hoare triple {75997#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {75916#true} is VALID [2022-04-08 08:35:45,573 INFO L290 TraceCheckUtils]: 35: Hoare triple {75916#true} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {75916#true} is VALID [2022-04-08 08:35:45,573 INFO L290 TraceCheckUtils]: 36: Hoare triple {75916#true} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {75916#true} is VALID [2022-04-08 08:35:45,573 INFO L290 TraceCheckUtils]: 37: Hoare triple {75916#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {75916#true} is VALID [2022-04-08 08:35:45,573 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {75916#true} {75916#true} #1178#return; {75916#true} is VALID [2022-04-08 08:35:45,573 INFO L290 TraceCheckUtils]: 39: Hoare triple {75916#true} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {75916#true} is VALID [2022-04-08 08:35:45,573 INFO L272 TraceCheckUtils]: 40: Hoare triple {75916#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {75916#true} is VALID [2022-04-08 08:35:45,573 INFO L290 TraceCheckUtils]: 41: Hoare triple {75916#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {75916#true} is VALID [2022-04-08 08:35:45,573 INFO L290 TraceCheckUtils]: 42: Hoare triple {75916#true} assume 0 == ~__BLAST_NONDET~2; {75916#true} is VALID [2022-04-08 08:35:45,573 INFO L290 TraceCheckUtils]: 43: Hoare triple {75916#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {75916#true} is VALID [2022-04-08 08:35:45,573 INFO L290 TraceCheckUtils]: 44: Hoare triple {75916#true} assume true; {75916#true} is VALID [2022-04-08 08:35:45,573 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {75916#true} {75916#true} #1180#return; {75916#true} is VALID [2022-04-08 08:35:45,573 INFO L290 TraceCheckUtils]: 46: Hoare triple {75916#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {75916#true} is VALID [2022-04-08 08:35:45,574 INFO L290 TraceCheckUtils]: 47: Hoare triple {75916#true} assume true; {75916#true} is VALID [2022-04-08 08:35:45,574 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {75916#true} {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} #1220#return; {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 08:35:45,575 INFO L290 TraceCheckUtils]: 49: Hoare triple {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 08:35:45,575 INFO L272 TraceCheckUtils]: 50: Hoare triple {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} call stub_driver_init(); {76018#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:35:45,575 INFO L290 TraceCheckUtils]: 51: Hoare triple {76018#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {75916#true} is VALID [2022-04-08 08:35:45,575 INFO L290 TraceCheckUtils]: 52: Hoare triple {75916#true} assume true; {75916#true} is VALID [2022-04-08 08:35:45,576 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {75916#true} {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} #1222#return; {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 08:35:45,576 INFO L290 TraceCheckUtils]: 54: Hoare triple {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} assume !!(~status~5 >= 0); {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 08:35:45,576 INFO L290 TraceCheckUtils]: 55: Hoare triple {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} assume !(0 == ~__BLAST_NONDET~0); {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 08:35:45,577 INFO L290 TraceCheckUtils]: 56: Hoare triple {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} assume !(1 == ~__BLAST_NONDET~0); {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 08:35:45,577 INFO L290 TraceCheckUtils]: 57: Hoare triple {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} assume !(2 == ~__BLAST_NONDET~0); {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 08:35:45,577 INFO L290 TraceCheckUtils]: 58: Hoare triple {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} assume 3 == ~__BLAST_NONDET~0; {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 08:35:45,580 INFO L272 TraceCheckUtils]: 59: Hoare triple {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 08:35:45,580 INFO L290 TraceCheckUtils]: 60: Hoare triple {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~devExt~3.base, ~devExt~3.offset;havoc ~irpStack~3.base, ~irpStack~3.offset;havoc ~status~3;call ~#event~1.base, ~#event~1.offset := #Ultimate.allocOnStack(16);havoc ~irpSp~0.base, ~irpSp~0.offset;havoc ~nextIrpSp~0.base, ~nextIrpSp~0.offset;havoc ~irpSp___0~0.base, ~irpSp___0~0.offset;~status~3 := 0;call #t~mem79.base, #t~mem79.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~3.base, ~devExt~3.offset := #t~mem79.base, #t~mem79.offset;havoc #t~mem79.base, #t~mem79.offset;call #t~mem80.base, #t~mem80.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~3.base, ~irpStack~3.offset := #t~mem80.base, #t~mem80.offset;havoc #t~mem80.base, #t~mem80.offset;call #t~mem81 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 08:35:45,581 INFO L290 TraceCheckUtils]: 61: Hoare triple {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} assume 0 == #t~mem81 % 256;havoc #t~mem81; {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 08:35:45,581 INFO L290 TraceCheckUtils]: 62: Hoare triple {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp~0.base, ~irpSp~0.offset := #t~mem102.base, #t~mem102.offset;havoc #t~mem102.base, #t~mem102.offset;call #t~mem103.base, #t~mem103.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 36;havoc #t~mem103.base, #t~mem103.offset; {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 08:35:45,582 INFO L272 TraceCheckUtils]: 63: Hoare triple {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} call #t~memmove~res104.base, #t~memmove~res104.offset := #Ultimate.C_memmove(~nextIrpSp~0.base, ~nextIrpSp~0.offset, ~irpSp~0.base, ~irpSp~0.offset, 28); {75997#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:35:45,582 INFO L290 TraceCheckUtils]: 64: Hoare triple {75997#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {75916#true} is VALID [2022-04-08 08:35:45,582 INFO L290 TraceCheckUtils]: 65: Hoare triple {75916#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {75916#true} is VALID [2022-04-08 08:35:45,582 INFO L290 TraceCheckUtils]: 66: Hoare triple {75916#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {75916#true} is VALID [2022-04-08 08:35:45,582 INFO L290 TraceCheckUtils]: 67: Hoare triple {75916#true} assume #res.base == dest.base && #res.offset == dest.offset; {75916#true} is VALID [2022-04-08 08:35:45,583 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {75916#true} {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} #1186#return; {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 08:35:45,583 INFO L290 TraceCheckUtils]: 69: Hoare triple {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 08:35:45,584 INFO L290 TraceCheckUtils]: 70: Hoare triple {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} assume !(~s~0 != ~NP~0); {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 08:35:45,584 INFO L290 TraceCheckUtils]: 71: Hoare triple {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 08:35:45,585 INFO L290 TraceCheckUtils]: 72: Hoare triple {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 36;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 28 + ~irpSp___0~0.offset, 4);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 32 + ~irpSp___0~0.offset, 4);call write~int(0, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(64, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call #t~mem106 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem106 % 256, 128), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem106;call #t~mem107 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem107 % 256, 32), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem107;call #t~mem108.base, #t~mem108.offset := read~$Pointer$(~devExt~3.base, 8 + ~devExt~3.offset, 4); {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 08:35:45,586 INFO L272 TraceCheckUtils]: 73: Hoare triple {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {76019#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:35:45,586 INFO L290 TraceCheckUtils]: 74: Hoare triple {76019#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {75916#true} is VALID [2022-04-08 08:35:45,586 INFO L290 TraceCheckUtils]: 75: Hoare triple {75916#true} assume 0 != ~compRegistered~0; {75916#true} is VALID [2022-04-08 08:35:45,587 INFO L272 TraceCheckUtils]: 76: Hoare triple {75916#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {76032#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:35:45,587 INFO L290 TraceCheckUtils]: 77: Hoare triple {76032#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {75916#true} is VALID [2022-04-08 08:35:45,588 INFO L272 TraceCheckUtils]: 78: Hoare triple {75916#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {76032#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:35:45,588 INFO L290 TraceCheckUtils]: 79: Hoare triple {76032#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {75916#true} is VALID [2022-04-08 08:35:45,588 INFO L290 TraceCheckUtils]: 80: Hoare triple {75916#true} assume true; {75916#true} is VALID [2022-04-08 08:35:45,588 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {75916#true} {75916#true} #1174#return; {75916#true} is VALID [2022-04-08 08:35:45,588 INFO L290 TraceCheckUtils]: 82: Hoare triple {75916#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {75916#true} is VALID [2022-04-08 08:35:45,588 INFO L290 TraceCheckUtils]: 83: Hoare triple {75916#true} assume true; {75916#true} is VALID [2022-04-08 08:35:45,588 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {75916#true} {75916#true} #1210#return; {75916#true} is VALID [2022-04-08 08:35:45,588 INFO L290 TraceCheckUtils]: 85: Hoare triple {75916#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {75916#true} is VALID [2022-04-08 08:35:45,588 INFO L290 TraceCheckUtils]: 86: Hoare triple {75916#true} assume -1073741802 == ~compRetStatus~0; {75916#true} is VALID [2022-04-08 08:35:45,588 INFO L272 TraceCheckUtils]: 87: Hoare triple {75916#true} call stubMoreProcessingRequired(); {76036#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:35:45,588 INFO L290 TraceCheckUtils]: 88: Hoare triple {76036#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {75916#true} is VALID [2022-04-08 08:35:45,588 INFO L290 TraceCheckUtils]: 89: Hoare triple {75916#true} assume true; {75916#true} is VALID [2022-04-08 08:35:45,588 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {75916#true} {75916#true} #1212#return; {75916#true} is VALID [2022-04-08 08:35:45,588 INFO L290 TraceCheckUtils]: 91: Hoare triple {75916#true} assume !(0 == ~__BLAST_NONDET~11); {75916#true} is VALID [2022-04-08 08:35:45,589 INFO L290 TraceCheckUtils]: 92: Hoare triple {75916#true} assume 1 == ~__BLAST_NONDET~11; {75916#true} is VALID [2022-04-08 08:35:45,589 INFO L290 TraceCheckUtils]: 93: Hoare triple {75916#true} ~returnVal2~0 := -1073741823; {75916#true} is VALID [2022-04-08 08:35:45,589 INFO L290 TraceCheckUtils]: 94: Hoare triple {75916#true} assume !(~s~0 == ~NP~0); {75916#true} is VALID [2022-04-08 08:35:45,589 INFO L290 TraceCheckUtils]: 95: Hoare triple {75916#true} assume ~s~0 == ~MPR1~0; {75916#true} is VALID [2022-04-08 08:35:45,589 INFO L290 TraceCheckUtils]: 96: Hoare triple {75916#true} assume !(259 == ~returnVal2~0);~s~0 := ~NP~0;~lowerDriverReturn~0 := ~returnVal2~0; {76031#(or (= ~s~0 1) (= ~s~0 ~NP~0))} is VALID [2022-04-08 08:35:45,589 INFO L290 TraceCheckUtils]: 97: Hoare triple {76031#(or (= ~s~0 1) (= ~s~0 ~NP~0))} #res := ~returnVal2~0; {76031#(or (= ~s~0 1) (= ~s~0 ~NP~0))} is VALID [2022-04-08 08:35:45,589 INFO L290 TraceCheckUtils]: 98: Hoare triple {76031#(or (= ~s~0 1) (= ~s~0 ~NP~0))} assume true; {76031#(or (= ~s~0 1) (= ~s~0 ~NP~0))} is VALID [2022-04-08 08:35:45,590 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {76031#(or (= ~s~0 1) (= ~s~0 ~NP~0))} {75924#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} #1192#return; {75993#(and (= ~s~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 08:35:45,591 INFO L290 TraceCheckUtils]: 100: Hoare triple {75993#(and (= ~s~0 1) (not (= ~MPR3~0 1)))} assume -2147483648 <= #t~ret109 && #t~ret109 <= 2147483647;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {75993#(and (= ~s~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 08:35:45,591 INFO L290 TraceCheckUtils]: 101: Hoare triple {75993#(and (= ~s~0 1) (not (= ~MPR3~0 1)))} assume 259 == ~status~3; {75993#(and (= ~s~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 08:35:45,592 INFO L272 TraceCheckUtils]: 102: Hoare triple {75993#(and (= ~s~0 1) (not (= ~MPR3~0 1)))} call #t~ret110 := KeWaitForSingleObject(~#event~1.base, ~#event~1.offset, 0, 0, 0, 0, 0); {75993#(and (= ~s~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 08:35:45,592 INFO L290 TraceCheckUtils]: 103: Hoare triple {75993#(and (= ~s~0 1) (not (= ~MPR3~0 1)))} ~Object.base, ~Object.offset := #in~Object.base, #in~Object.offset;~WaitReason := #in~WaitReason;~WaitMode := #in~WaitMode;~Alertable := #in~Alertable;~Timeout.base, ~Timeout.offset := #in~Timeout.base, #in~Timeout.offset;assume -2147483648 <= #t~nondet200 && #t~nondet200 <= 2147483647;~__BLAST_NONDET~13 := #t~nondet200;havoc #t~nondet200; {75993#(and (= ~s~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 08:35:45,593 INFO L290 TraceCheckUtils]: 104: Hoare triple {75993#(and (= ~s~0 1) (not (= ~MPR3~0 1)))} assume ~s~0 == ~MPR3~0; {75917#false} is VALID [2022-04-08 08:35:45,593 INFO L290 TraceCheckUtils]: 105: Hoare triple {75917#false} assume !(1 == ~setEventCalled~0); {75917#false} is VALID [2022-04-08 08:35:45,593 INFO L290 TraceCheckUtils]: 106: Hoare triple {75917#false} assume !(1 == ~customIrp~0); {75917#false} is VALID [2022-04-08 08:35:45,593 INFO L290 TraceCheckUtils]: 107: Hoare triple {75917#false} assume ~s~0 == ~MPR3~0; {75917#false} is VALID [2022-04-08 08:35:45,593 INFO L272 TraceCheckUtils]: 108: Hoare triple {75917#false} call errorFn(); {75917#false} is VALID [2022-04-08 08:35:45,593 INFO L290 TraceCheckUtils]: 109: Hoare triple {75917#false} assume !false; {75917#false} is VALID [2022-04-08 08:35:45,594 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 08:35:45,594 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:35:45,594 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1576808858] [2022-04-08 08:35:45,594 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1576808858] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:35:45,594 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:35:45,594 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 08:35:45,594 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:35:45,594 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [410052288] [2022-04-08 08:35:45,594 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [410052288] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:35:45,594 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:35:45,595 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 08:35:45,595 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1358776080] [2022-04-08 08:35:45,595 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:35:45,595 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.571428571428571) internal successors, (78), 6 states have internal predecessors, (78), 4 states have call successors, (18), 12 states have call predecessors, (18), 3 states have return successors, (14), 3 states have call predecessors, (14), 2 states have call successors, (14) Word has length 110 [2022-04-08 08:35:45,595 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:35:45,595 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 5.571428571428571) internal successors, (78), 6 states have internal predecessors, (78), 4 states have call successors, (18), 12 states have call predecessors, (18), 3 states have return successors, (14), 3 states have call predecessors, (14), 2 states have call successors, (14) [2022-04-08 08:35:45,684 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:35:45,684 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 08:35:45,684 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:35:45,684 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 08:35:45,684 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=140, Unknown=0, NotChecked=0, Total=182 [2022-04-08 08:35:45,684 INFO L87 Difference]: Start difference. First operand 337 states and 393 transitions. Second operand has 14 states, 14 states have (on average 5.571428571428571) internal successors, (78), 6 states have internal predecessors, (78), 4 states have call successors, (18), 12 states have call predecessors, (18), 3 states have return successors, (14), 3 states have call predecessors, (14), 2 states have call successors, (14) [2022-04-08 08:35:47,896 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:35:54,445 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:35:54,445 INFO L93 Difference]: Finished difference Result 426 states and 498 transitions. [2022-04-08 08:35:54,445 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-08 08:35:54,446 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.571428571428571) internal successors, (78), 6 states have internal predecessors, (78), 4 states have call successors, (18), 12 states have call predecessors, (18), 3 states have return successors, (14), 3 states have call predecessors, (14), 2 states have call successors, (14) Word has length 110 [2022-04-08 08:35:54,446 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:35:54,446 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.571428571428571) internal successors, (78), 6 states have internal predecessors, (78), 4 states have call successors, (18), 12 states have call predecessors, (18), 3 states have return successors, (14), 3 states have call predecessors, (14), 2 states have call successors, (14) [2022-04-08 08:35:54,448 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 271 transitions. [2022-04-08 08:35:54,448 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.571428571428571) internal successors, (78), 6 states have internal predecessors, (78), 4 states have call successors, (18), 12 states have call predecessors, (18), 3 states have return successors, (14), 3 states have call predecessors, (14), 2 states have call successors, (14) [2022-04-08 08:35:54,450 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 271 transitions. [2022-04-08 08:35:54,450 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 271 transitions. [2022-04-08 08:35:54,769 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 271 edges. 271 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:35:54,776 INFO L225 Difference]: With dead ends: 426 [2022-04-08 08:35:54,776 INFO L226 Difference]: Without dead ends: 379 [2022-04-08 08:35:54,776 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 131 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=258, Invalid=672, Unknown=0, NotChecked=0, Total=930 [2022-04-08 08:35:54,777 INFO L913 BasicCegarLoop]: 128 mSDtfsCounter, 659 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 322 mSolverCounterSat, 293 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 664 SdHoareTripleChecker+Valid, 256 SdHoareTripleChecker+Invalid, 616 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 293 IncrementalHoareTripleChecker+Valid, 322 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.9s IncrementalHoareTripleChecker+Time [2022-04-08 08:35:54,777 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [664 Valid, 256 Invalid, 616 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [293 Valid, 322 Invalid, 1 Unknown, 0 Unchecked, 3.9s Time] [2022-04-08 08:35:54,777 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 379 states. [2022-04-08 08:35:55,572 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 379 to 331. [2022-04-08 08:35:55,572 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:35:55,573 INFO L82 GeneralOperation]: Start isEquivalent. First operand 379 states. Second operand has 331 states, 256 states have (on average 1.18359375) internal successors, (303), 260 states have internal predecessors, (303), 36 states have call successors, (36), 34 states have call predecessors, (36), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) [2022-04-08 08:35:55,573 INFO L74 IsIncluded]: Start isIncluded. First operand 379 states. Second operand has 331 states, 256 states have (on average 1.18359375) internal successors, (303), 260 states have internal predecessors, (303), 36 states have call successors, (36), 34 states have call predecessors, (36), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) [2022-04-08 08:35:55,573 INFO L87 Difference]: Start difference. First operand 379 states. Second operand has 331 states, 256 states have (on average 1.18359375) internal successors, (303), 260 states have internal predecessors, (303), 36 states have call successors, (36), 34 states have call predecessors, (36), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) [2022-04-08 08:35:55,578 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:35:55,578 INFO L93 Difference]: Finished difference Result 379 states and 439 transitions. [2022-04-08 08:35:55,578 INFO L276 IsEmpty]: Start isEmpty. Operand 379 states and 439 transitions. [2022-04-08 08:35:55,578 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:35:55,579 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:35:55,579 INFO L74 IsIncluded]: Start isIncluded. First operand has 331 states, 256 states have (on average 1.18359375) internal successors, (303), 260 states have internal predecessors, (303), 36 states have call successors, (36), 34 states have call predecessors, (36), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) Second operand 379 states. [2022-04-08 08:35:55,579 INFO L87 Difference]: Start difference. First operand has 331 states, 256 states have (on average 1.18359375) internal successors, (303), 260 states have internal predecessors, (303), 36 states have call successors, (36), 34 states have call predecessors, (36), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) Second operand 379 states. [2022-04-08 08:35:55,584 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:35:55,584 INFO L93 Difference]: Finished difference Result 379 states and 439 transitions. [2022-04-08 08:35:55,584 INFO L276 IsEmpty]: Start isEmpty. Operand 379 states and 439 transitions. [2022-04-08 08:35:55,584 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:35:55,584 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:35:55,584 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:35:55,584 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:35:55,585 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 331 states, 256 states have (on average 1.18359375) internal successors, (303), 260 states have internal predecessors, (303), 36 states have call successors, (36), 34 states have call predecessors, (36), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) [2022-04-08 08:35:55,590 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 331 states to 331 states and 379 transitions. [2022-04-08 08:35:55,590 INFO L78 Accepts]: Start accepts. Automaton has 331 states and 379 transitions. Word has length 110 [2022-04-08 08:35:55,590 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:35:55,590 INFO L478 AbstractCegarLoop]: Abstraction has 331 states and 379 transitions. [2022-04-08 08:35:55,590 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 5.571428571428571) internal successors, (78), 6 states have internal predecessors, (78), 4 states have call successors, (18), 12 states have call predecessors, (18), 3 states have return successors, (14), 3 states have call predecessors, (14), 2 states have call successors, (14) [2022-04-08 08:35:55,590 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 331 states and 379 transitions. [2022-04-08 08:35:56,581 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 379 edges. 379 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:35:56,581 INFO L276 IsEmpty]: Start isEmpty. Operand 331 states and 379 transitions. [2022-04-08 08:35:56,582 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-08 08:35:56,582 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:35:56,582 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:35:56,582 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable31 [2022-04-08 08:35:56,582 INFO L403 AbstractCegarLoop]: === Iteration 33 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:35:56,582 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:35:56,582 INFO L85 PathProgramCache]: Analyzing trace with hash -1464166070, now seen corresponding path program 1 times [2022-04-08 08:35:56,582 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:35:56,582 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1223720488] [2022-04-08 08:35:56,584 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 4 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 08:35:56,584 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 08:35:56,584 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 08:35:56,584 INFO L85 PathProgramCache]: Analyzing trace with hash -1464166070, now seen corresponding path program 2 times [2022-04-08 08:35:56,584 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:35:56,584 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1727837003] [2022-04-08 08:35:56,584 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:35:56,584 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:35:56,669 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:56,758 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:35:56,759 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:56,765 INFO L290 TraceCheckUtils]: 0: Hoare triple {78429#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {78351#true} is VALID [2022-04-08 08:35:56,765 INFO L290 TraceCheckUtils]: 1: Hoare triple {78351#true} assume true; {78351#true} is VALID [2022-04-08 08:35:56,765 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {78351#true} {78351#true} #1270#return; {78351#true} is VALID [2022-04-08 08:35:56,787 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:35:56,788 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:56,792 INFO L290 TraceCheckUtils]: 0: Hoare triple {78430#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {78351#true} is VALID [2022-04-08 08:35:56,792 INFO L290 TraceCheckUtils]: 1: Hoare triple {78351#true} assume true; {78351#true} is VALID [2022-04-08 08:35:56,792 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {78351#true} {78351#true} #1216#return; {78351#true} is VALID [2022-04-08 08:35:56,799 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:35:56,804 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:56,810 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:35:56,810 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:56,814 INFO L290 TraceCheckUtils]: 0: Hoare triple {78351#true} ~cond := #in~cond; {78351#true} is VALID [2022-04-08 08:35:56,814 INFO L290 TraceCheckUtils]: 1: Hoare triple {78351#true} assume !(0 == ~cond); {78351#true} is VALID [2022-04-08 08:35:56,814 INFO L290 TraceCheckUtils]: 2: Hoare triple {78351#true} assume true; {78351#true} is VALID [2022-04-08 08:35:56,814 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {78351#true} {78351#true} #1254#return; {78351#true} is VALID [2022-04-08 08:35:56,814 INFO L290 TraceCheckUtils]: 0: Hoare triple {78431#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {78351#true} is VALID [2022-04-08 08:35:56,814 INFO L272 TraceCheckUtils]: 1: Hoare triple {78351#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {78351#true} is VALID [2022-04-08 08:35:56,814 INFO L290 TraceCheckUtils]: 2: Hoare triple {78351#true} ~cond := #in~cond; {78351#true} is VALID [2022-04-08 08:35:56,814 INFO L290 TraceCheckUtils]: 3: Hoare triple {78351#true} assume !(0 == ~cond); {78351#true} is VALID [2022-04-08 08:35:56,814 INFO L290 TraceCheckUtils]: 4: Hoare triple {78351#true} assume true; {78351#true} is VALID [2022-04-08 08:35:56,814 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {78351#true} {78351#true} #1254#return; {78351#true} is VALID [2022-04-08 08:35:56,814 INFO L290 TraceCheckUtils]: 6: Hoare triple {78351#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {78351#true} is VALID [2022-04-08 08:35:56,814 INFO L290 TraceCheckUtils]: 7: Hoare triple {78351#true} assume true; {78351#true} is VALID [2022-04-08 08:35:56,814 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {78351#true} {78351#true} #1218#return; {78351#true} is VALID [2022-04-08 08:35:56,824 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:35:56,835 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:56,842 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:35:56,850 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:56,855 INFO L290 TraceCheckUtils]: 0: Hoare triple {78436#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {78351#true} is VALID [2022-04-08 08:35:56,855 INFO L290 TraceCheckUtils]: 1: Hoare triple {78351#true} assume 0 == ~__BLAST_NONDET~5; {78351#true} is VALID [2022-04-08 08:35:56,855 INFO L290 TraceCheckUtils]: 2: Hoare triple {78351#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {78351#true} is VALID [2022-04-08 08:35:56,855 INFO L290 TraceCheckUtils]: 3: Hoare triple {78351#true} assume true; {78351#true} is VALID [2022-04-08 08:35:56,856 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {78351#true} {78351#true} #1176#return; {78351#true} is VALID [2022-04-08 08:35:56,856 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 08:35:56,857 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:56,861 INFO L290 TraceCheckUtils]: 0: Hoare triple {78431#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {78351#true} is VALID [2022-04-08 08:35:56,861 INFO L290 TraceCheckUtils]: 1: Hoare triple {78351#true} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {78351#true} is VALID [2022-04-08 08:35:56,861 INFO L290 TraceCheckUtils]: 2: Hoare triple {78351#true} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {78351#true} is VALID [2022-04-08 08:35:56,861 INFO L290 TraceCheckUtils]: 3: Hoare triple {78351#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {78351#true} is VALID [2022-04-08 08:35:56,861 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {78351#true} {78351#true} #1178#return; {78351#true} is VALID [2022-04-08 08:35:56,861 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-08 08:35:56,862 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:56,866 INFO L290 TraceCheckUtils]: 0: Hoare triple {78351#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {78351#true} is VALID [2022-04-08 08:35:56,866 INFO L290 TraceCheckUtils]: 1: Hoare triple {78351#true} assume 0 == ~__BLAST_NONDET~2; {78351#true} is VALID [2022-04-08 08:35:56,866 INFO L290 TraceCheckUtils]: 2: Hoare triple {78351#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {78351#true} is VALID [2022-04-08 08:35:56,866 INFO L290 TraceCheckUtils]: 3: Hoare triple {78351#true} assume true; {78351#true} is VALID [2022-04-08 08:35:56,866 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {78351#true} {78351#true} #1180#return; {78351#true} is VALID [2022-04-08 08:35:56,866 INFO L290 TraceCheckUtils]: 0: Hoare triple {78436#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {78351#true} is VALID [2022-04-08 08:35:56,868 INFO L272 TraceCheckUtils]: 1: Hoare triple {78351#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {78436#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:35:56,868 INFO L290 TraceCheckUtils]: 2: Hoare triple {78436#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {78351#true} is VALID [2022-04-08 08:35:56,868 INFO L290 TraceCheckUtils]: 3: Hoare triple {78351#true} assume 0 == ~__BLAST_NONDET~5; {78351#true} is VALID [2022-04-08 08:35:56,868 INFO L290 TraceCheckUtils]: 4: Hoare triple {78351#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {78351#true} is VALID [2022-04-08 08:35:56,868 INFO L290 TraceCheckUtils]: 5: Hoare triple {78351#true} assume true; {78351#true} is VALID [2022-04-08 08:35:56,868 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {78351#true} {78351#true} #1176#return; {78351#true} is VALID [2022-04-08 08:35:56,868 INFO L290 TraceCheckUtils]: 7: Hoare triple {78351#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {78351#true} is VALID [2022-04-08 08:35:56,868 INFO L290 TraceCheckUtils]: 8: Hoare triple {78351#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {78351#true} is VALID [2022-04-08 08:35:56,869 INFO L272 TraceCheckUtils]: 9: Hoare triple {78351#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {78431#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:35:56,869 INFO L290 TraceCheckUtils]: 10: Hoare triple {78431#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {78351#true} is VALID [2022-04-08 08:35:56,869 INFO L290 TraceCheckUtils]: 11: Hoare triple {78351#true} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {78351#true} is VALID [2022-04-08 08:35:56,869 INFO L290 TraceCheckUtils]: 12: Hoare triple {78351#true} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {78351#true} is VALID [2022-04-08 08:35:56,869 INFO L290 TraceCheckUtils]: 13: Hoare triple {78351#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {78351#true} is VALID [2022-04-08 08:35:56,869 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {78351#true} {78351#true} #1178#return; {78351#true} is VALID [2022-04-08 08:35:56,869 INFO L290 TraceCheckUtils]: 15: Hoare triple {78351#true} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {78351#true} is VALID [2022-04-08 08:35:56,869 INFO L272 TraceCheckUtils]: 16: Hoare triple {78351#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {78351#true} is VALID [2022-04-08 08:35:56,869 INFO L290 TraceCheckUtils]: 17: Hoare triple {78351#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {78351#true} is VALID [2022-04-08 08:35:56,869 INFO L290 TraceCheckUtils]: 18: Hoare triple {78351#true} assume 0 == ~__BLAST_NONDET~2; {78351#true} is VALID [2022-04-08 08:35:56,869 INFO L290 TraceCheckUtils]: 19: Hoare triple {78351#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {78351#true} is VALID [2022-04-08 08:35:56,869 INFO L290 TraceCheckUtils]: 20: Hoare triple {78351#true} assume true; {78351#true} is VALID [2022-04-08 08:35:56,869 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {78351#true} {78351#true} #1180#return; {78351#true} is VALID [2022-04-08 08:35:56,869 INFO L290 TraceCheckUtils]: 22: Hoare triple {78351#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {78351#true} is VALID [2022-04-08 08:35:56,869 INFO L290 TraceCheckUtils]: 23: Hoare triple {78351#true} assume true; {78351#true} is VALID [2022-04-08 08:35:56,869 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {78351#true} {78351#true} #1220#return; {78351#true} is VALID [2022-04-08 08:35:56,883 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-08 08:35:56,883 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:56,888 INFO L290 TraceCheckUtils]: 0: Hoare triple {78452#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {78351#true} is VALID [2022-04-08 08:35:56,888 INFO L290 TraceCheckUtils]: 1: Hoare triple {78351#true} assume true; {78351#true} is VALID [2022-04-08 08:35:56,888 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {78351#true} {78351#true} #1222#return; {78351#true} is VALID [2022-04-08 08:35:56,888 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-08 08:35:56,889 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:56,893 INFO L290 TraceCheckUtils]: 0: Hoare triple {78431#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {78351#true} is VALID [2022-04-08 08:35:56,893 INFO L290 TraceCheckUtils]: 1: Hoare triple {78351#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {78351#true} is VALID [2022-04-08 08:35:56,893 INFO L290 TraceCheckUtils]: 2: Hoare triple {78351#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {78351#true} is VALID [2022-04-08 08:35:56,894 INFO L290 TraceCheckUtils]: 3: Hoare triple {78351#true} assume #res.base == dest.base && #res.offset == dest.offset; {78351#true} is VALID [2022-04-08 08:35:56,894 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {78351#true} {78351#true} #1186#return; {78351#true} is VALID [2022-04-08 08:35:56,903 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 73 [2022-04-08 08:35:56,907 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:56,948 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 08:35:56,955 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:56,960 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:35:56,961 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:56,965 INFO L290 TraceCheckUtils]: 0: Hoare triple {78467#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {78351#true} is VALID [2022-04-08 08:35:56,965 INFO L290 TraceCheckUtils]: 1: Hoare triple {78351#true} assume true; {78351#true} is VALID [2022-04-08 08:35:56,965 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {78351#true} {78351#true} #1174#return; {78351#true} is VALID [2022-04-08 08:35:56,965 INFO L290 TraceCheckUtils]: 0: Hoare triple {78467#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {78351#true} is VALID [2022-04-08 08:35:56,966 INFO L272 TraceCheckUtils]: 1: Hoare triple {78351#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {78467#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:35:56,966 INFO L290 TraceCheckUtils]: 2: Hoare triple {78467#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {78351#true} is VALID [2022-04-08 08:35:56,966 INFO L290 TraceCheckUtils]: 3: Hoare triple {78351#true} assume true; {78351#true} is VALID [2022-04-08 08:35:56,966 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {78351#true} {78351#true} #1174#return; {78351#true} is VALID [2022-04-08 08:35:56,966 INFO L290 TraceCheckUtils]: 5: Hoare triple {78351#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {78351#true} is VALID [2022-04-08 08:35:56,966 INFO L290 TraceCheckUtils]: 6: Hoare triple {78351#true} assume true; {78351#true} is VALID [2022-04-08 08:35:56,966 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {78351#true} {78351#true} #1210#return; {78351#true} is VALID [2022-04-08 08:35:56,981 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 08:35:56,983 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:35:56,992 INFO L290 TraceCheckUtils]: 0: Hoare triple {78471#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {78351#true} is VALID [2022-04-08 08:35:56,992 INFO L290 TraceCheckUtils]: 1: Hoare triple {78351#true} assume true; {78351#true} is VALID [2022-04-08 08:35:56,992 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {78351#true} {78351#true} #1212#return; {78351#true} is VALID [2022-04-08 08:35:56,992 INFO L290 TraceCheckUtils]: 0: Hoare triple {78453#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {78351#true} is VALID [2022-04-08 08:35:56,992 INFO L290 TraceCheckUtils]: 1: Hoare triple {78351#true} assume 0 != ~compRegistered~0; {78351#true} is VALID [2022-04-08 08:35:56,993 INFO L272 TraceCheckUtils]: 2: Hoare triple {78351#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {78467#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:35:56,993 INFO L290 TraceCheckUtils]: 3: Hoare triple {78467#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {78351#true} is VALID [2022-04-08 08:35:56,993 INFO L272 TraceCheckUtils]: 4: Hoare triple {78351#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {78467#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:35:56,993 INFO L290 TraceCheckUtils]: 5: Hoare triple {78467#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {78351#true} is VALID [2022-04-08 08:35:56,993 INFO L290 TraceCheckUtils]: 6: Hoare triple {78351#true} assume true; {78351#true} is VALID [2022-04-08 08:35:56,994 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {78351#true} {78351#true} #1174#return; {78351#true} is VALID [2022-04-08 08:35:56,994 INFO L290 TraceCheckUtils]: 8: Hoare triple {78351#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {78351#true} is VALID [2022-04-08 08:35:56,994 INFO L290 TraceCheckUtils]: 9: Hoare triple {78351#true} assume true; {78351#true} is VALID [2022-04-08 08:35:56,994 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {78351#true} {78351#true} #1210#return; {78351#true} is VALID [2022-04-08 08:35:56,994 INFO L290 TraceCheckUtils]: 11: Hoare triple {78351#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {78351#true} is VALID [2022-04-08 08:35:56,994 INFO L290 TraceCheckUtils]: 12: Hoare triple {78351#true} assume -1073741802 == ~compRetStatus~0; {78351#true} is VALID [2022-04-08 08:35:56,997 INFO L272 TraceCheckUtils]: 13: Hoare triple {78351#true} call stubMoreProcessingRequired(); {78471#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:35:56,997 INFO L290 TraceCheckUtils]: 14: Hoare triple {78471#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {78351#true} is VALID [2022-04-08 08:35:56,997 INFO L290 TraceCheckUtils]: 15: Hoare triple {78351#true} assume true; {78351#true} is VALID [2022-04-08 08:35:56,997 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {78351#true} {78351#true} #1212#return; {78351#true} is VALID [2022-04-08 08:35:56,997 INFO L290 TraceCheckUtils]: 17: Hoare triple {78351#true} assume !(0 == ~__BLAST_NONDET~11); {78351#true} is VALID [2022-04-08 08:35:56,997 INFO L290 TraceCheckUtils]: 18: Hoare triple {78351#true} assume !(1 == ~__BLAST_NONDET~11); {78351#true} is VALID [2022-04-08 08:35:56,998 INFO L290 TraceCheckUtils]: 19: Hoare triple {78351#true} ~returnVal2~0 := 259; {78465#(and (<= IofCallDriver_~returnVal2~0 259) (<= 259 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:35:56,998 INFO L290 TraceCheckUtils]: 20: Hoare triple {78465#(and (<= IofCallDriver_~returnVal2~0 259) (<= 259 IofCallDriver_~returnVal2~0))} assume !(~s~0 == ~NP~0); {78465#(and (<= IofCallDriver_~returnVal2~0 259) (<= 259 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:35:56,998 INFO L290 TraceCheckUtils]: 21: Hoare triple {78465#(and (<= IofCallDriver_~returnVal2~0 259) (<= 259 IofCallDriver_~returnVal2~0))} assume ~s~0 == ~MPR1~0; {78465#(and (<= IofCallDriver_~returnVal2~0 259) (<= 259 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:35:56,999 INFO L290 TraceCheckUtils]: 22: Hoare triple {78465#(and (<= IofCallDriver_~returnVal2~0 259) (<= 259 IofCallDriver_~returnVal2~0))} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := ~returnVal2~0; {78465#(and (<= IofCallDriver_~returnVal2~0 259) (<= 259 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:35:56,999 INFO L290 TraceCheckUtils]: 23: Hoare triple {78465#(and (<= IofCallDriver_~returnVal2~0 259) (<= 259 IofCallDriver_~returnVal2~0))} #res := ~returnVal2~0; {78466#(and (<= 259 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 259))} is VALID [2022-04-08 08:35:56,999 INFO L290 TraceCheckUtils]: 24: Hoare triple {78466#(and (<= 259 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 259))} assume true; {78466#(and (<= 259 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 259))} is VALID [2022-04-08 08:35:57,000 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {78466#(and (<= 259 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 259))} {78351#true} #1192#return; {78427#(and (<= 259 |KbFilter_PnP_#t~ret109|) (<= |KbFilter_PnP_#t~ret109| 259))} is VALID [2022-04-08 08:35:57,001 INFO L272 TraceCheckUtils]: 0: Hoare triple {78351#true} call ULTIMATE.init(); {78429#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:35:57,001 INFO L290 TraceCheckUtils]: 1: Hoare triple {78429#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {78351#true} is VALID [2022-04-08 08:35:57,001 INFO L290 TraceCheckUtils]: 2: Hoare triple {78351#true} assume true; {78351#true} is VALID [2022-04-08 08:35:57,001 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {78351#true} {78351#true} #1270#return; {78351#true} is VALID [2022-04-08 08:35:57,001 INFO L272 TraceCheckUtils]: 4: Hoare triple {78351#true} call #t~ret213 := main(); {78351#true} is VALID [2022-04-08 08:35:57,001 INFO L290 TraceCheckUtils]: 5: Hoare triple {78351#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {78351#true} is VALID [2022-04-08 08:35:57,002 INFO L272 TraceCheckUtils]: 6: Hoare triple {78351#true} call _BLAST_init(); {78430#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:35:57,002 INFO L290 TraceCheckUtils]: 7: Hoare triple {78430#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {78351#true} is VALID [2022-04-08 08:35:57,002 INFO L290 TraceCheckUtils]: 8: Hoare triple {78351#true} assume true; {78351#true} is VALID [2022-04-08 08:35:57,002 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {78351#true} {78351#true} #1216#return; {78351#true} is VALID [2022-04-08 08:35:57,003 INFO L272 TraceCheckUtils]: 10: Hoare triple {78351#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {78431#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:35:57,003 INFO L290 TraceCheckUtils]: 11: Hoare triple {78431#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {78351#true} is VALID [2022-04-08 08:35:57,003 INFO L272 TraceCheckUtils]: 12: Hoare triple {78351#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {78351#true} is VALID [2022-04-08 08:35:57,003 INFO L290 TraceCheckUtils]: 13: Hoare triple {78351#true} ~cond := #in~cond; {78351#true} is VALID [2022-04-08 08:35:57,003 INFO L290 TraceCheckUtils]: 14: Hoare triple {78351#true} assume !(0 == ~cond); {78351#true} is VALID [2022-04-08 08:35:57,003 INFO L290 TraceCheckUtils]: 15: Hoare triple {78351#true} assume true; {78351#true} is VALID [2022-04-08 08:35:57,003 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {78351#true} {78351#true} #1254#return; {78351#true} is VALID [2022-04-08 08:35:57,004 INFO L290 TraceCheckUtils]: 17: Hoare triple {78351#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {78351#true} is VALID [2022-04-08 08:35:57,004 INFO L290 TraceCheckUtils]: 18: Hoare triple {78351#true} assume true; {78351#true} is VALID [2022-04-08 08:35:57,004 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {78351#true} {78351#true} #1218#return; {78351#true} is VALID [2022-04-08 08:35:57,004 INFO L290 TraceCheckUtils]: 20: Hoare triple {78351#true} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {78351#true} is VALID [2022-04-08 08:35:57,004 INFO L290 TraceCheckUtils]: 21: Hoare triple {78351#true} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {78351#true} is VALID [2022-04-08 08:35:57,004 INFO L290 TraceCheckUtils]: 22: Hoare triple {78351#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {78351#true} is VALID [2022-04-08 08:35:57,005 INFO L272 TraceCheckUtils]: 23: Hoare triple {78351#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {78436#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:35:57,005 INFO L290 TraceCheckUtils]: 24: Hoare triple {78436#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {78351#true} is VALID [2022-04-08 08:35:57,006 INFO L272 TraceCheckUtils]: 25: Hoare triple {78351#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {78436#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:35:57,006 INFO L290 TraceCheckUtils]: 26: Hoare triple {78436#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {78351#true} is VALID [2022-04-08 08:35:57,006 INFO L290 TraceCheckUtils]: 27: Hoare triple {78351#true} assume 0 == ~__BLAST_NONDET~5; {78351#true} is VALID [2022-04-08 08:35:57,006 INFO L290 TraceCheckUtils]: 28: Hoare triple {78351#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {78351#true} is VALID [2022-04-08 08:35:57,006 INFO L290 TraceCheckUtils]: 29: Hoare triple {78351#true} assume true; {78351#true} is VALID [2022-04-08 08:35:57,006 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {78351#true} {78351#true} #1176#return; {78351#true} is VALID [2022-04-08 08:35:57,006 INFO L290 TraceCheckUtils]: 31: Hoare triple {78351#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {78351#true} is VALID [2022-04-08 08:35:57,006 INFO L290 TraceCheckUtils]: 32: Hoare triple {78351#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {78351#true} is VALID [2022-04-08 08:35:57,007 INFO L272 TraceCheckUtils]: 33: Hoare triple {78351#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {78431#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:35:57,007 INFO L290 TraceCheckUtils]: 34: Hoare triple {78431#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {78351#true} is VALID [2022-04-08 08:35:57,007 INFO L290 TraceCheckUtils]: 35: Hoare triple {78351#true} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {78351#true} is VALID [2022-04-08 08:35:57,007 INFO L290 TraceCheckUtils]: 36: Hoare triple {78351#true} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {78351#true} is VALID [2022-04-08 08:35:57,007 INFO L290 TraceCheckUtils]: 37: Hoare triple {78351#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {78351#true} is VALID [2022-04-08 08:35:57,007 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {78351#true} {78351#true} #1178#return; {78351#true} is VALID [2022-04-08 08:35:57,007 INFO L290 TraceCheckUtils]: 39: Hoare triple {78351#true} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {78351#true} is VALID [2022-04-08 08:35:57,007 INFO L272 TraceCheckUtils]: 40: Hoare triple {78351#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {78351#true} is VALID [2022-04-08 08:35:57,007 INFO L290 TraceCheckUtils]: 41: Hoare triple {78351#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {78351#true} is VALID [2022-04-08 08:35:57,007 INFO L290 TraceCheckUtils]: 42: Hoare triple {78351#true} assume 0 == ~__BLAST_NONDET~2; {78351#true} is VALID [2022-04-08 08:35:57,007 INFO L290 TraceCheckUtils]: 43: Hoare triple {78351#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {78351#true} is VALID [2022-04-08 08:35:57,007 INFO L290 TraceCheckUtils]: 44: Hoare triple {78351#true} assume true; {78351#true} is VALID [2022-04-08 08:35:57,007 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {78351#true} {78351#true} #1180#return; {78351#true} is VALID [2022-04-08 08:35:57,007 INFO L290 TraceCheckUtils]: 46: Hoare triple {78351#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {78351#true} is VALID [2022-04-08 08:35:57,007 INFO L290 TraceCheckUtils]: 47: Hoare triple {78351#true} assume true; {78351#true} is VALID [2022-04-08 08:35:57,007 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {78351#true} {78351#true} #1220#return; {78351#true} is VALID [2022-04-08 08:35:57,007 INFO L290 TraceCheckUtils]: 49: Hoare triple {78351#true} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {78351#true} is VALID [2022-04-08 08:35:57,008 INFO L272 TraceCheckUtils]: 50: Hoare triple {78351#true} call stub_driver_init(); {78452#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:35:57,008 INFO L290 TraceCheckUtils]: 51: Hoare triple {78452#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {78351#true} is VALID [2022-04-08 08:35:57,008 INFO L290 TraceCheckUtils]: 52: Hoare triple {78351#true} assume true; {78351#true} is VALID [2022-04-08 08:35:57,008 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {78351#true} {78351#true} #1222#return; {78351#true} is VALID [2022-04-08 08:35:57,008 INFO L290 TraceCheckUtils]: 54: Hoare triple {78351#true} assume !!(~status~5 >= 0); {78351#true} is VALID [2022-04-08 08:35:57,008 INFO L290 TraceCheckUtils]: 55: Hoare triple {78351#true} assume !(0 == ~__BLAST_NONDET~0); {78351#true} is VALID [2022-04-08 08:35:57,008 INFO L290 TraceCheckUtils]: 56: Hoare triple {78351#true} assume !(1 == ~__BLAST_NONDET~0); {78351#true} is VALID [2022-04-08 08:35:57,008 INFO L290 TraceCheckUtils]: 57: Hoare triple {78351#true} assume !(2 == ~__BLAST_NONDET~0); {78351#true} is VALID [2022-04-08 08:35:57,008 INFO L290 TraceCheckUtils]: 58: Hoare triple {78351#true} assume 3 == ~__BLAST_NONDET~0; {78351#true} is VALID [2022-04-08 08:35:57,008 INFO L272 TraceCheckUtils]: 59: Hoare triple {78351#true} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {78351#true} is VALID [2022-04-08 08:35:57,008 INFO L290 TraceCheckUtils]: 60: Hoare triple {78351#true} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~devExt~3.base, ~devExt~3.offset;havoc ~irpStack~3.base, ~irpStack~3.offset;havoc ~status~3;call ~#event~1.base, ~#event~1.offset := #Ultimate.allocOnStack(16);havoc ~irpSp~0.base, ~irpSp~0.offset;havoc ~nextIrpSp~0.base, ~nextIrpSp~0.offset;havoc ~irpSp___0~0.base, ~irpSp___0~0.offset;~status~3 := 0;call #t~mem79.base, #t~mem79.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~3.base, ~devExt~3.offset := #t~mem79.base, #t~mem79.offset;havoc #t~mem79.base, #t~mem79.offset;call #t~mem80.base, #t~mem80.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~3.base, ~irpStack~3.offset := #t~mem80.base, #t~mem80.offset;havoc #t~mem80.base, #t~mem80.offset;call #t~mem81 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {78351#true} is VALID [2022-04-08 08:35:57,009 INFO L290 TraceCheckUtils]: 61: Hoare triple {78351#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {78351#true} is VALID [2022-04-08 08:35:57,009 INFO L290 TraceCheckUtils]: 62: Hoare triple {78351#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp~0.base, ~irpSp~0.offset := #t~mem102.base, #t~mem102.offset;havoc #t~mem102.base, #t~mem102.offset;call #t~mem103.base, #t~mem103.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 36;havoc #t~mem103.base, #t~mem103.offset; {78351#true} is VALID [2022-04-08 08:35:57,009 INFO L272 TraceCheckUtils]: 63: Hoare triple {78351#true} call #t~memmove~res104.base, #t~memmove~res104.offset := #Ultimate.C_memmove(~nextIrpSp~0.base, ~nextIrpSp~0.offset, ~irpSp~0.base, ~irpSp~0.offset, 28); {78431#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:35:57,009 INFO L290 TraceCheckUtils]: 64: Hoare triple {78431#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {78351#true} is VALID [2022-04-08 08:35:57,009 INFO L290 TraceCheckUtils]: 65: Hoare triple {78351#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {78351#true} is VALID [2022-04-08 08:35:57,010 INFO L290 TraceCheckUtils]: 66: Hoare triple {78351#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {78351#true} is VALID [2022-04-08 08:35:57,010 INFO L290 TraceCheckUtils]: 67: Hoare triple {78351#true} assume #res.base == dest.base && #res.offset == dest.offset; {78351#true} is VALID [2022-04-08 08:35:57,010 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {78351#true} {78351#true} #1186#return; {78351#true} is VALID [2022-04-08 08:35:57,010 INFO L290 TraceCheckUtils]: 69: Hoare triple {78351#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {78351#true} is VALID [2022-04-08 08:35:57,012 INFO L290 TraceCheckUtils]: 70: Hoare triple {78351#true} assume !(~s~0 != ~NP~0); {78351#true} is VALID [2022-04-08 08:35:57,012 INFO L290 TraceCheckUtils]: 71: Hoare triple {78351#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {78351#true} is VALID [2022-04-08 08:35:57,012 INFO L290 TraceCheckUtils]: 72: Hoare triple {78351#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 36;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 28 + ~irpSp___0~0.offset, 4);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 32 + ~irpSp___0~0.offset, 4);call write~int(0, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(64, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call #t~mem106 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem106 % 256, 128), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem106;call #t~mem107 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem107 % 256, 32), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem107;call #t~mem108.base, #t~mem108.offset := read~$Pointer$(~devExt~3.base, 8 + ~devExt~3.offset, 4); {78351#true} is VALID [2022-04-08 08:35:57,013 INFO L272 TraceCheckUtils]: 73: Hoare triple {78351#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {78453#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:35:57,013 INFO L290 TraceCheckUtils]: 74: Hoare triple {78453#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {78351#true} is VALID [2022-04-08 08:35:57,013 INFO L290 TraceCheckUtils]: 75: Hoare triple {78351#true} assume 0 != ~compRegistered~0; {78351#true} is VALID [2022-04-08 08:35:57,014 INFO L272 TraceCheckUtils]: 76: Hoare triple {78351#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {78467#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:35:57,014 INFO L290 TraceCheckUtils]: 77: Hoare triple {78467#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {78351#true} is VALID [2022-04-08 08:35:57,014 INFO L272 TraceCheckUtils]: 78: Hoare triple {78351#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {78467#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:35:57,014 INFO L290 TraceCheckUtils]: 79: Hoare triple {78467#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {78351#true} is VALID [2022-04-08 08:35:57,014 INFO L290 TraceCheckUtils]: 80: Hoare triple {78351#true} assume true; {78351#true} is VALID [2022-04-08 08:35:57,015 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {78351#true} {78351#true} #1174#return; {78351#true} is VALID [2022-04-08 08:35:57,015 INFO L290 TraceCheckUtils]: 82: Hoare triple {78351#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {78351#true} is VALID [2022-04-08 08:35:57,015 INFO L290 TraceCheckUtils]: 83: Hoare triple {78351#true} assume true; {78351#true} is VALID [2022-04-08 08:35:57,015 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {78351#true} {78351#true} #1210#return; {78351#true} is VALID [2022-04-08 08:35:57,015 INFO L290 TraceCheckUtils]: 85: Hoare triple {78351#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {78351#true} is VALID [2022-04-08 08:35:57,015 INFO L290 TraceCheckUtils]: 86: Hoare triple {78351#true} assume -1073741802 == ~compRetStatus~0; {78351#true} is VALID [2022-04-08 08:35:57,015 INFO L272 TraceCheckUtils]: 87: Hoare triple {78351#true} call stubMoreProcessingRequired(); {78471#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:35:57,015 INFO L290 TraceCheckUtils]: 88: Hoare triple {78471#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {78351#true} is VALID [2022-04-08 08:35:57,015 INFO L290 TraceCheckUtils]: 89: Hoare triple {78351#true} assume true; {78351#true} is VALID [2022-04-08 08:35:57,015 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {78351#true} {78351#true} #1212#return; {78351#true} is VALID [2022-04-08 08:35:57,015 INFO L290 TraceCheckUtils]: 91: Hoare triple {78351#true} assume !(0 == ~__BLAST_NONDET~11); {78351#true} is VALID [2022-04-08 08:35:57,015 INFO L290 TraceCheckUtils]: 92: Hoare triple {78351#true} assume !(1 == ~__BLAST_NONDET~11); {78351#true} is VALID [2022-04-08 08:35:57,016 INFO L290 TraceCheckUtils]: 93: Hoare triple {78351#true} ~returnVal2~0 := 259; {78465#(and (<= IofCallDriver_~returnVal2~0 259) (<= 259 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:35:57,016 INFO L290 TraceCheckUtils]: 94: Hoare triple {78465#(and (<= IofCallDriver_~returnVal2~0 259) (<= 259 IofCallDriver_~returnVal2~0))} assume !(~s~0 == ~NP~0); {78465#(and (<= IofCallDriver_~returnVal2~0 259) (<= 259 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:35:57,016 INFO L290 TraceCheckUtils]: 95: Hoare triple {78465#(and (<= IofCallDriver_~returnVal2~0 259) (<= 259 IofCallDriver_~returnVal2~0))} assume ~s~0 == ~MPR1~0; {78465#(and (<= IofCallDriver_~returnVal2~0 259) (<= 259 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:35:57,017 INFO L290 TraceCheckUtils]: 96: Hoare triple {78465#(and (<= IofCallDriver_~returnVal2~0 259) (<= 259 IofCallDriver_~returnVal2~0))} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := ~returnVal2~0; {78465#(and (<= IofCallDriver_~returnVal2~0 259) (<= 259 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:35:57,017 INFO L290 TraceCheckUtils]: 97: Hoare triple {78465#(and (<= IofCallDriver_~returnVal2~0 259) (<= 259 IofCallDriver_~returnVal2~0))} #res := ~returnVal2~0; {78466#(and (<= 259 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 259))} is VALID [2022-04-08 08:35:57,017 INFO L290 TraceCheckUtils]: 98: Hoare triple {78466#(and (<= 259 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 259))} assume true; {78466#(and (<= 259 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 259))} is VALID [2022-04-08 08:35:57,018 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {78466#(and (<= 259 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 259))} {78351#true} #1192#return; {78427#(and (<= 259 |KbFilter_PnP_#t~ret109|) (<= |KbFilter_PnP_#t~ret109| 259))} is VALID [2022-04-08 08:35:57,018 INFO L290 TraceCheckUtils]: 100: Hoare triple {78427#(and (<= 259 |KbFilter_PnP_#t~ret109|) (<= |KbFilter_PnP_#t~ret109| 259))} assume -2147483648 <= #t~ret109 && #t~ret109 <= 2147483647;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {78428#(and (< 258 KbFilter_PnP_~status~3) (<= KbFilter_PnP_~status~3 259))} is VALID [2022-04-08 08:35:57,019 INFO L290 TraceCheckUtils]: 101: Hoare triple {78428#(and (< 258 KbFilter_PnP_~status~3) (<= KbFilter_PnP_~status~3 259))} assume !(259 == ~status~3); {78352#false} is VALID [2022-04-08 08:35:57,019 INFO L290 TraceCheckUtils]: 102: Hoare triple {78352#false} assume ~status~3 >= 0; {78352#false} is VALID [2022-04-08 08:35:57,019 INFO L290 TraceCheckUtils]: 103: Hoare triple {78352#false} assume !(~myStatus~0 >= 0); {78352#false} is VALID [2022-04-08 08:35:57,019 INFO L290 TraceCheckUtils]: 104: Hoare triple {78352#false} call write~int(~status~3, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~3;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4); {78352#false} is VALID [2022-04-08 08:35:57,019 INFO L272 TraceCheckUtils]: 105: Hoare triple {78352#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {78352#false} is VALID [2022-04-08 08:35:57,019 INFO L290 TraceCheckUtils]: 106: Hoare triple {78352#false} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {78352#false} is VALID [2022-04-08 08:35:57,019 INFO L290 TraceCheckUtils]: 107: Hoare triple {78352#false} assume !(~s~0 == ~NP~0); {78352#false} is VALID [2022-04-08 08:35:57,019 INFO L272 TraceCheckUtils]: 108: Hoare triple {78352#false} call errorFn(); {78352#false} is VALID [2022-04-08 08:35:57,019 INFO L290 TraceCheckUtils]: 109: Hoare triple {78352#false} assume !false; {78352#false} is VALID [2022-04-08 08:35:57,029 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 08:35:57,029 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:35:57,029 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1727837003] [2022-04-08 08:35:57,029 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1727837003] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:35:57,029 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:35:57,029 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 08:35:57,029 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:35:57,029 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1223720488] [2022-04-08 08:35:57,029 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1223720488] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:35:57,029 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:35:57,029 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 08:35:57,029 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [723433320] [2022-04-08 08:35:57,029 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:35:57,030 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.571428571428571) internal successors, (78), 5 states have internal predecessors, (78), 2 states have call successors, (18), 10 states have call predecessors, (18), 2 states have return successors, (14), 2 states have call predecessors, (14), 1 states have call successors, (14) Word has length 110 [2022-04-08 08:35:57,030 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:35:57,030 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 5.571428571428571) internal successors, (78), 5 states have internal predecessors, (78), 2 states have call successors, (18), 10 states have call predecessors, (18), 2 states have return successors, (14), 2 states have call predecessors, (14), 1 states have call successors, (14) [2022-04-08 08:35:57,110 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:35:57,110 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 08:35:57,110 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:35:57,110 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 08:35:57,110 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=142, Unknown=0, NotChecked=0, Total=182 [2022-04-08 08:35:57,111 INFO L87 Difference]: Start difference. First operand 331 states and 379 transitions. Second operand has 14 states, 14 states have (on average 5.571428571428571) internal successors, (78), 5 states have internal predecessors, (78), 2 states have call successors, (18), 10 states have call predecessors, (18), 2 states have return successors, (14), 2 states have call predecessors, (14), 1 states have call successors, (14) [2022-04-08 08:35:59,223 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:36:07,285 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:36:07,286 INFO L93 Difference]: Finished difference Result 439 states and 509 transitions. [2022-04-08 08:36:07,286 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 08:36:07,286 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.571428571428571) internal successors, (78), 5 states have internal predecessors, (78), 2 states have call successors, (18), 10 states have call predecessors, (18), 2 states have return successors, (14), 2 states have call predecessors, (14), 1 states have call successors, (14) Word has length 110 [2022-04-08 08:36:07,286 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:36:07,286 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.571428571428571) internal successors, (78), 5 states have internal predecessors, (78), 2 states have call successors, (18), 10 states have call predecessors, (18), 2 states have return successors, (14), 2 states have call predecessors, (14), 1 states have call successors, (14) [2022-04-08 08:36:07,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 255 transitions. [2022-04-08 08:36:07,288 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.571428571428571) internal successors, (78), 5 states have internal predecessors, (78), 2 states have call successors, (18), 10 states have call predecessors, (18), 2 states have return successors, (14), 2 states have call predecessors, (14), 1 states have call successors, (14) [2022-04-08 08:36:07,289 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 255 transitions. [2022-04-08 08:36:07,289 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 255 transitions. [2022-04-08 08:36:07,538 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 255 edges. 255 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:36:07,544 INFO L225 Difference]: With dead ends: 439 [2022-04-08 08:36:07,544 INFO L226 Difference]: Without dead ends: 370 [2022-04-08 08:36:07,544 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 43 GetRequests, 25 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=84, Invalid=296, Unknown=0, NotChecked=0, Total=380 [2022-04-08 08:36:07,545 INFO L913 BasicCegarLoop]: 147 mSDtfsCounter, 327 mSDsluCounter, 301 mSDsCounter, 0 mSdLazyCounter, 776 mSolverCounterSat, 172 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 332 SdHoareTripleChecker+Valid, 448 SdHoareTripleChecker+Invalid, 949 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 172 IncrementalHoareTripleChecker+Valid, 776 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.2s IncrementalHoareTripleChecker+Time [2022-04-08 08:36:07,545 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [332 Valid, 448 Invalid, 949 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [172 Valid, 776 Invalid, 1 Unknown, 0 Unchecked, 4.2s Time] [2022-04-08 08:36:07,545 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 370 states. [2022-04-08 08:36:08,296 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 370 to 321. [2022-04-08 08:36:08,296 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:36:08,297 INFO L82 GeneralOperation]: Start isEquivalent. First operand 370 states. Second operand has 321 states, 248 states have (on average 1.1653225806451613) internal successors, (289), 252 states have internal predecessors, (289), 36 states have call successors, (36), 34 states have call predecessors, (36), 36 states have return successors, (38), 34 states have call predecessors, (38), 32 states have call successors, (38) [2022-04-08 08:36:08,297 INFO L74 IsIncluded]: Start isIncluded. First operand 370 states. Second operand has 321 states, 248 states have (on average 1.1653225806451613) internal successors, (289), 252 states have internal predecessors, (289), 36 states have call successors, (36), 34 states have call predecessors, (36), 36 states have return successors, (38), 34 states have call predecessors, (38), 32 states have call successors, (38) [2022-04-08 08:36:08,297 INFO L87 Difference]: Start difference. First operand 370 states. Second operand has 321 states, 248 states have (on average 1.1653225806451613) internal successors, (289), 252 states have internal predecessors, (289), 36 states have call successors, (36), 34 states have call predecessors, (36), 36 states have return successors, (38), 34 states have call predecessors, (38), 32 states have call successors, (38) [2022-04-08 08:36:08,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:36:08,302 INFO L93 Difference]: Finished difference Result 370 states and 425 transitions. [2022-04-08 08:36:08,302 INFO L276 IsEmpty]: Start isEmpty. Operand 370 states and 425 transitions. [2022-04-08 08:36:08,302 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:36:08,302 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:36:08,302 INFO L74 IsIncluded]: Start isIncluded. First operand has 321 states, 248 states have (on average 1.1653225806451613) internal successors, (289), 252 states have internal predecessors, (289), 36 states have call successors, (36), 34 states have call predecessors, (36), 36 states have return successors, (38), 34 states have call predecessors, (38), 32 states have call successors, (38) Second operand 370 states. [2022-04-08 08:36:08,303 INFO L87 Difference]: Start difference. First operand has 321 states, 248 states have (on average 1.1653225806451613) internal successors, (289), 252 states have internal predecessors, (289), 36 states have call successors, (36), 34 states have call predecessors, (36), 36 states have return successors, (38), 34 states have call predecessors, (38), 32 states have call successors, (38) Second operand 370 states. [2022-04-08 08:36:08,307 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:36:08,307 INFO L93 Difference]: Finished difference Result 370 states and 425 transitions. [2022-04-08 08:36:08,307 INFO L276 IsEmpty]: Start isEmpty. Operand 370 states and 425 transitions. [2022-04-08 08:36:08,308 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:36:08,308 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:36:08,308 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:36:08,308 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:36:08,308 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 321 states, 248 states have (on average 1.1653225806451613) internal successors, (289), 252 states have internal predecessors, (289), 36 states have call successors, (36), 34 states have call predecessors, (36), 36 states have return successors, (38), 34 states have call predecessors, (38), 32 states have call successors, (38) [2022-04-08 08:36:08,313 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 321 states to 321 states and 363 transitions. [2022-04-08 08:36:08,313 INFO L78 Accepts]: Start accepts. Automaton has 321 states and 363 transitions. Word has length 110 [2022-04-08 08:36:08,313 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:36:08,313 INFO L478 AbstractCegarLoop]: Abstraction has 321 states and 363 transitions. [2022-04-08 08:36:08,313 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 5.571428571428571) internal successors, (78), 5 states have internal predecessors, (78), 2 states have call successors, (18), 10 states have call predecessors, (18), 2 states have return successors, (14), 2 states have call predecessors, (14), 1 states have call successors, (14) [2022-04-08 08:36:08,313 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 321 states and 363 transitions. [2022-04-08 08:36:09,220 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 363 edges. 363 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:36:09,221 INFO L276 IsEmpty]: Start isEmpty. Operand 321 states and 363 transitions. [2022-04-08 08:36:09,221 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-08 08:36:09,221 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:36:09,221 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:36:09,221 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable32 [2022-04-08 08:36:09,222 INFO L403 AbstractCegarLoop]: === Iteration 34 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:36:09,222 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:36:09,222 INFO L85 PathProgramCache]: Analyzing trace with hash -1354625370, now seen corresponding path program 1 times [2022-04-08 08:36:09,222 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:36:09,222 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [824899223] [2022-04-08 08:36:09,223 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 4 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 08:36:09,223 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 08:36:09,223 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 08:36:09,224 INFO L85 PathProgramCache]: Analyzing trace with hash -1354625370, now seen corresponding path program 2 times [2022-04-08 08:36:09,224 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:36:09,224 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2020533278] [2022-04-08 08:36:09,224 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:36:09,224 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:36:09,296 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:09,393 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:36:09,394 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:09,399 INFO L290 TraceCheckUtils]: 0: Hoare triple {80825#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {80748#true} is VALID [2022-04-08 08:36:09,400 INFO L290 TraceCheckUtils]: 1: Hoare triple {80748#true} assume true; {80748#true} is VALID [2022-04-08 08:36:09,400 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {80748#true} {80748#true} #1270#return; {80748#true} is VALID [2022-04-08 08:36:09,422 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:36:09,423 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:09,428 INFO L290 TraceCheckUtils]: 0: Hoare triple {80826#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {80748#true} is VALID [2022-04-08 08:36:09,428 INFO L290 TraceCheckUtils]: 1: Hoare triple {80748#true} assume true; {80748#true} is VALID [2022-04-08 08:36:09,428 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {80748#true} {80748#true} #1216#return; {80748#true} is VALID [2022-04-08 08:36:09,435 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:36:09,441 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:09,447 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:36:09,447 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:09,454 INFO L290 TraceCheckUtils]: 0: Hoare triple {80748#true} ~cond := #in~cond; {80748#true} is VALID [2022-04-08 08:36:09,455 INFO L290 TraceCheckUtils]: 1: Hoare triple {80748#true} assume !(0 == ~cond); {80748#true} is VALID [2022-04-08 08:36:09,455 INFO L290 TraceCheckUtils]: 2: Hoare triple {80748#true} assume true; {80748#true} is VALID [2022-04-08 08:36:09,455 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {80748#true} {80748#true} #1254#return; {80748#true} is VALID [2022-04-08 08:36:09,455 INFO L290 TraceCheckUtils]: 0: Hoare triple {80827#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {80748#true} is VALID [2022-04-08 08:36:09,455 INFO L272 TraceCheckUtils]: 1: Hoare triple {80748#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {80748#true} is VALID [2022-04-08 08:36:09,455 INFO L290 TraceCheckUtils]: 2: Hoare triple {80748#true} ~cond := #in~cond; {80748#true} is VALID [2022-04-08 08:36:09,455 INFO L290 TraceCheckUtils]: 3: Hoare triple {80748#true} assume !(0 == ~cond); {80748#true} is VALID [2022-04-08 08:36:09,455 INFO L290 TraceCheckUtils]: 4: Hoare triple {80748#true} assume true; {80748#true} is VALID [2022-04-08 08:36:09,455 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {80748#true} {80748#true} #1254#return; {80748#true} is VALID [2022-04-08 08:36:09,455 INFO L290 TraceCheckUtils]: 6: Hoare triple {80748#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {80748#true} is VALID [2022-04-08 08:36:09,455 INFO L290 TraceCheckUtils]: 7: Hoare triple {80748#true} assume true; {80748#true} is VALID [2022-04-08 08:36:09,455 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {80748#true} {80748#true} #1218#return; {80748#true} is VALID [2022-04-08 08:36:09,464 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:36:09,476 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:09,484 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:36:09,487 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:09,493 INFO L290 TraceCheckUtils]: 0: Hoare triple {80832#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {80748#true} is VALID [2022-04-08 08:36:09,493 INFO L290 TraceCheckUtils]: 1: Hoare triple {80748#true} assume 0 == ~__BLAST_NONDET~5; {80748#true} is VALID [2022-04-08 08:36:09,493 INFO L290 TraceCheckUtils]: 2: Hoare triple {80748#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {80748#true} is VALID [2022-04-08 08:36:09,493 INFO L290 TraceCheckUtils]: 3: Hoare triple {80748#true} assume true; {80748#true} is VALID [2022-04-08 08:36:09,493 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {80748#true} {80748#true} #1176#return; {80748#true} is VALID [2022-04-08 08:36:09,493 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 08:36:09,495 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:09,499 INFO L290 TraceCheckUtils]: 0: Hoare triple {80827#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {80748#true} is VALID [2022-04-08 08:36:09,499 INFO L290 TraceCheckUtils]: 1: Hoare triple {80748#true} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {80748#true} is VALID [2022-04-08 08:36:09,499 INFO L290 TraceCheckUtils]: 2: Hoare triple {80748#true} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {80748#true} is VALID [2022-04-08 08:36:09,499 INFO L290 TraceCheckUtils]: 3: Hoare triple {80748#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {80748#true} is VALID [2022-04-08 08:36:09,499 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {80748#true} {80748#true} #1178#return; {80748#true} is VALID [2022-04-08 08:36:09,499 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-08 08:36:09,500 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:09,504 INFO L290 TraceCheckUtils]: 0: Hoare triple {80748#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {80748#true} is VALID [2022-04-08 08:36:09,504 INFO L290 TraceCheckUtils]: 1: Hoare triple {80748#true} assume 0 == ~__BLAST_NONDET~2; {80748#true} is VALID [2022-04-08 08:36:09,504 INFO L290 TraceCheckUtils]: 2: Hoare triple {80748#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {80748#true} is VALID [2022-04-08 08:36:09,505 INFO L290 TraceCheckUtils]: 3: Hoare triple {80748#true} assume true; {80748#true} is VALID [2022-04-08 08:36:09,505 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {80748#true} {80748#true} #1180#return; {80748#true} is VALID [2022-04-08 08:36:09,505 INFO L290 TraceCheckUtils]: 0: Hoare triple {80832#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {80748#true} is VALID [2022-04-08 08:36:09,508 INFO L272 TraceCheckUtils]: 1: Hoare triple {80748#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {80832#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:36:09,508 INFO L290 TraceCheckUtils]: 2: Hoare triple {80832#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {80748#true} is VALID [2022-04-08 08:36:09,508 INFO L290 TraceCheckUtils]: 3: Hoare triple {80748#true} assume 0 == ~__BLAST_NONDET~5; {80748#true} is VALID [2022-04-08 08:36:09,508 INFO L290 TraceCheckUtils]: 4: Hoare triple {80748#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {80748#true} is VALID [2022-04-08 08:36:09,508 INFO L290 TraceCheckUtils]: 5: Hoare triple {80748#true} assume true; {80748#true} is VALID [2022-04-08 08:36:09,509 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {80748#true} {80748#true} #1176#return; {80748#true} is VALID [2022-04-08 08:36:09,509 INFO L290 TraceCheckUtils]: 7: Hoare triple {80748#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {80748#true} is VALID [2022-04-08 08:36:09,509 INFO L290 TraceCheckUtils]: 8: Hoare triple {80748#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {80748#true} is VALID [2022-04-08 08:36:09,509 INFO L272 TraceCheckUtils]: 9: Hoare triple {80748#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {80827#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:36:09,509 INFO L290 TraceCheckUtils]: 10: Hoare triple {80827#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {80748#true} is VALID [2022-04-08 08:36:09,509 INFO L290 TraceCheckUtils]: 11: Hoare triple {80748#true} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {80748#true} is VALID [2022-04-08 08:36:09,509 INFO L290 TraceCheckUtils]: 12: Hoare triple {80748#true} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {80748#true} is VALID [2022-04-08 08:36:09,510 INFO L290 TraceCheckUtils]: 13: Hoare triple {80748#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {80748#true} is VALID [2022-04-08 08:36:09,510 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {80748#true} {80748#true} #1178#return; {80748#true} is VALID [2022-04-08 08:36:09,510 INFO L290 TraceCheckUtils]: 15: Hoare triple {80748#true} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {80748#true} is VALID [2022-04-08 08:36:09,510 INFO L272 TraceCheckUtils]: 16: Hoare triple {80748#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {80748#true} is VALID [2022-04-08 08:36:09,510 INFO L290 TraceCheckUtils]: 17: Hoare triple {80748#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {80748#true} is VALID [2022-04-08 08:36:09,510 INFO L290 TraceCheckUtils]: 18: Hoare triple {80748#true} assume 0 == ~__BLAST_NONDET~2; {80748#true} is VALID [2022-04-08 08:36:09,510 INFO L290 TraceCheckUtils]: 19: Hoare triple {80748#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {80748#true} is VALID [2022-04-08 08:36:09,510 INFO L290 TraceCheckUtils]: 20: Hoare triple {80748#true} assume true; {80748#true} is VALID [2022-04-08 08:36:09,510 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {80748#true} {80748#true} #1180#return; {80748#true} is VALID [2022-04-08 08:36:09,510 INFO L290 TraceCheckUtils]: 22: Hoare triple {80748#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {80748#true} is VALID [2022-04-08 08:36:09,510 INFO L290 TraceCheckUtils]: 23: Hoare triple {80748#true} assume true; {80748#true} is VALID [2022-04-08 08:36:09,510 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {80748#true} {80748#true} #1220#return; {80748#true} is VALID [2022-04-08 08:36:09,523 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-08 08:36:09,524 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:09,528 INFO L290 TraceCheckUtils]: 0: Hoare triple {80848#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {80748#true} is VALID [2022-04-08 08:36:09,528 INFO L290 TraceCheckUtils]: 1: Hoare triple {80748#true} assume true; {80748#true} is VALID [2022-04-08 08:36:09,528 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {80748#true} {80748#true} #1222#return; {80748#true} is VALID [2022-04-08 08:36:09,528 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-08 08:36:09,529 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:09,533 INFO L290 TraceCheckUtils]: 0: Hoare triple {80827#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {80748#true} is VALID [2022-04-08 08:36:09,533 INFO L290 TraceCheckUtils]: 1: Hoare triple {80748#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {80748#true} is VALID [2022-04-08 08:36:09,533 INFO L290 TraceCheckUtils]: 2: Hoare triple {80748#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {80748#true} is VALID [2022-04-08 08:36:09,533 INFO L290 TraceCheckUtils]: 3: Hoare triple {80748#true} assume #res.base == dest.base && #res.offset == dest.offset; {80748#true} is VALID [2022-04-08 08:36:09,533 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {80748#true} {80748#true} #1186#return; {80748#true} is VALID [2022-04-08 08:36:09,541 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 73 [2022-04-08 08:36:09,545 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:09,563 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 08:36:09,566 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:09,581 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:36:09,582 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:09,588 INFO L290 TraceCheckUtils]: 0: Hoare triple {80861#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,589 INFO L290 TraceCheckUtils]: 1: Hoare triple {80824#(= ~setEventCalled~0 1)} assume true; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,589 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {80824#(= ~setEventCalled~0 1)} {80748#true} #1174#return; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,589 INFO L290 TraceCheckUtils]: 0: Hoare triple {80861#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {80748#true} is VALID [2022-04-08 08:36:09,590 INFO L272 TraceCheckUtils]: 1: Hoare triple {80748#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {80861#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:36:09,590 INFO L290 TraceCheckUtils]: 2: Hoare triple {80861#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,590 INFO L290 TraceCheckUtils]: 3: Hoare triple {80824#(= ~setEventCalled~0 1)} assume true; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,591 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {80824#(= ~setEventCalled~0 1)} {80748#true} #1174#return; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,591 INFO L290 TraceCheckUtils]: 5: Hoare triple {80824#(= ~setEventCalled~0 1)} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,592 INFO L290 TraceCheckUtils]: 6: Hoare triple {80824#(= ~setEventCalled~0 1)} assume true; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,592 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {80824#(= ~setEventCalled~0 1)} {80748#true} #1210#return; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,599 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 08:36:09,600 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:09,604 INFO L290 TraceCheckUtils]: 0: Hoare triple {80865#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {80748#true} is VALID [2022-04-08 08:36:09,604 INFO L290 TraceCheckUtils]: 1: Hoare triple {80748#true} assume true; {80748#true} is VALID [2022-04-08 08:36:09,604 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {80748#true} {80824#(= ~setEventCalled~0 1)} #1212#return; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,604 INFO L290 TraceCheckUtils]: 0: Hoare triple {80849#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {80748#true} is VALID [2022-04-08 08:36:09,604 INFO L290 TraceCheckUtils]: 1: Hoare triple {80748#true} assume 0 != ~compRegistered~0; {80748#true} is VALID [2022-04-08 08:36:09,605 INFO L272 TraceCheckUtils]: 2: Hoare triple {80748#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {80861#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:36:09,605 INFO L290 TraceCheckUtils]: 3: Hoare triple {80861#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {80748#true} is VALID [2022-04-08 08:36:09,606 INFO L272 TraceCheckUtils]: 4: Hoare triple {80748#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {80861#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:36:09,606 INFO L290 TraceCheckUtils]: 5: Hoare triple {80861#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,606 INFO L290 TraceCheckUtils]: 6: Hoare triple {80824#(= ~setEventCalled~0 1)} assume true; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,607 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {80824#(= ~setEventCalled~0 1)} {80748#true} #1174#return; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,607 INFO L290 TraceCheckUtils]: 8: Hoare triple {80824#(= ~setEventCalled~0 1)} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,607 INFO L290 TraceCheckUtils]: 9: Hoare triple {80824#(= ~setEventCalled~0 1)} assume true; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,608 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {80824#(= ~setEventCalled~0 1)} {80748#true} #1210#return; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,608 INFO L290 TraceCheckUtils]: 11: Hoare triple {80824#(= ~setEventCalled~0 1)} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,608 INFO L290 TraceCheckUtils]: 12: Hoare triple {80824#(= ~setEventCalled~0 1)} assume -1073741802 == ~compRetStatus~0; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,609 INFO L272 TraceCheckUtils]: 13: Hoare triple {80824#(= ~setEventCalled~0 1)} call stubMoreProcessingRequired(); {80865#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:36:09,609 INFO L290 TraceCheckUtils]: 14: Hoare triple {80865#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {80748#true} is VALID [2022-04-08 08:36:09,609 INFO L290 TraceCheckUtils]: 15: Hoare triple {80748#true} assume true; {80748#true} is VALID [2022-04-08 08:36:09,609 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {80748#true} {80824#(= ~setEventCalled~0 1)} #1212#return; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,609 INFO L290 TraceCheckUtils]: 17: Hoare triple {80824#(= ~setEventCalled~0 1)} assume !(0 == ~__BLAST_NONDET~11); {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,610 INFO L290 TraceCheckUtils]: 18: Hoare triple {80824#(= ~setEventCalled~0 1)} assume !(1 == ~__BLAST_NONDET~11); {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,610 INFO L290 TraceCheckUtils]: 19: Hoare triple {80824#(= ~setEventCalled~0 1)} ~returnVal2~0 := 259; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,610 INFO L290 TraceCheckUtils]: 20: Hoare triple {80824#(= ~setEventCalled~0 1)} assume !(~s~0 == ~NP~0); {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,610 INFO L290 TraceCheckUtils]: 21: Hoare triple {80824#(= ~setEventCalled~0 1)} assume ~s~0 == ~MPR1~0; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,611 INFO L290 TraceCheckUtils]: 22: Hoare triple {80824#(= ~setEventCalled~0 1)} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := ~returnVal2~0; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,611 INFO L290 TraceCheckUtils]: 23: Hoare triple {80824#(= ~setEventCalled~0 1)} #res := ~returnVal2~0; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,611 INFO L290 TraceCheckUtils]: 24: Hoare triple {80824#(= ~setEventCalled~0 1)} assume true; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,612 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {80824#(= ~setEventCalled~0 1)} {80748#true} #1192#return; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,613 INFO L272 TraceCheckUtils]: 0: Hoare triple {80748#true} call ULTIMATE.init(); {80825#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:36:09,613 INFO L290 TraceCheckUtils]: 1: Hoare triple {80825#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {80748#true} is VALID [2022-04-08 08:36:09,613 INFO L290 TraceCheckUtils]: 2: Hoare triple {80748#true} assume true; {80748#true} is VALID [2022-04-08 08:36:09,613 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {80748#true} {80748#true} #1270#return; {80748#true} is VALID [2022-04-08 08:36:09,613 INFO L272 TraceCheckUtils]: 4: Hoare triple {80748#true} call #t~ret213 := main(); {80748#true} is VALID [2022-04-08 08:36:09,613 INFO L290 TraceCheckUtils]: 5: Hoare triple {80748#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {80748#true} is VALID [2022-04-08 08:36:09,614 INFO L272 TraceCheckUtils]: 6: Hoare triple {80748#true} call _BLAST_init(); {80826#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:36:09,614 INFO L290 TraceCheckUtils]: 7: Hoare triple {80826#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {80748#true} is VALID [2022-04-08 08:36:09,614 INFO L290 TraceCheckUtils]: 8: Hoare triple {80748#true} assume true; {80748#true} is VALID [2022-04-08 08:36:09,614 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {80748#true} {80748#true} #1216#return; {80748#true} is VALID [2022-04-08 08:36:09,615 INFO L272 TraceCheckUtils]: 10: Hoare triple {80748#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {80827#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:36:09,615 INFO L290 TraceCheckUtils]: 11: Hoare triple {80827#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {80748#true} is VALID [2022-04-08 08:36:09,615 INFO L272 TraceCheckUtils]: 12: Hoare triple {80748#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {80748#true} is VALID [2022-04-08 08:36:09,615 INFO L290 TraceCheckUtils]: 13: Hoare triple {80748#true} ~cond := #in~cond; {80748#true} is VALID [2022-04-08 08:36:09,615 INFO L290 TraceCheckUtils]: 14: Hoare triple {80748#true} assume !(0 == ~cond); {80748#true} is VALID [2022-04-08 08:36:09,615 INFO L290 TraceCheckUtils]: 15: Hoare triple {80748#true} assume true; {80748#true} is VALID [2022-04-08 08:36:09,615 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {80748#true} {80748#true} #1254#return; {80748#true} is VALID [2022-04-08 08:36:09,615 INFO L290 TraceCheckUtils]: 17: Hoare triple {80748#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {80748#true} is VALID [2022-04-08 08:36:09,615 INFO L290 TraceCheckUtils]: 18: Hoare triple {80748#true} assume true; {80748#true} is VALID [2022-04-08 08:36:09,615 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {80748#true} {80748#true} #1218#return; {80748#true} is VALID [2022-04-08 08:36:09,615 INFO L290 TraceCheckUtils]: 20: Hoare triple {80748#true} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {80748#true} is VALID [2022-04-08 08:36:09,616 INFO L290 TraceCheckUtils]: 21: Hoare triple {80748#true} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {80748#true} is VALID [2022-04-08 08:36:09,616 INFO L290 TraceCheckUtils]: 22: Hoare triple {80748#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {80748#true} is VALID [2022-04-08 08:36:09,616 INFO L272 TraceCheckUtils]: 23: Hoare triple {80748#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {80832#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:36:09,616 INFO L290 TraceCheckUtils]: 24: Hoare triple {80832#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {80748#true} is VALID [2022-04-08 08:36:09,618 INFO L272 TraceCheckUtils]: 25: Hoare triple {80748#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {80832#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:36:09,618 INFO L290 TraceCheckUtils]: 26: Hoare triple {80832#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {80748#true} is VALID [2022-04-08 08:36:09,618 INFO L290 TraceCheckUtils]: 27: Hoare triple {80748#true} assume 0 == ~__BLAST_NONDET~5; {80748#true} is VALID [2022-04-08 08:36:09,618 INFO L290 TraceCheckUtils]: 28: Hoare triple {80748#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {80748#true} is VALID [2022-04-08 08:36:09,618 INFO L290 TraceCheckUtils]: 29: Hoare triple {80748#true} assume true; {80748#true} is VALID [2022-04-08 08:36:09,618 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {80748#true} {80748#true} #1176#return; {80748#true} is VALID [2022-04-08 08:36:09,618 INFO L290 TraceCheckUtils]: 31: Hoare triple {80748#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {80748#true} is VALID [2022-04-08 08:36:09,618 INFO L290 TraceCheckUtils]: 32: Hoare triple {80748#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {80748#true} is VALID [2022-04-08 08:36:09,619 INFO L272 TraceCheckUtils]: 33: Hoare triple {80748#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {80827#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:36:09,619 INFO L290 TraceCheckUtils]: 34: Hoare triple {80827#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {80748#true} is VALID [2022-04-08 08:36:09,619 INFO L290 TraceCheckUtils]: 35: Hoare triple {80748#true} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {80748#true} is VALID [2022-04-08 08:36:09,619 INFO L290 TraceCheckUtils]: 36: Hoare triple {80748#true} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {80748#true} is VALID [2022-04-08 08:36:09,619 INFO L290 TraceCheckUtils]: 37: Hoare triple {80748#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {80748#true} is VALID [2022-04-08 08:36:09,619 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {80748#true} {80748#true} #1178#return; {80748#true} is VALID [2022-04-08 08:36:09,619 INFO L290 TraceCheckUtils]: 39: Hoare triple {80748#true} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {80748#true} is VALID [2022-04-08 08:36:09,619 INFO L272 TraceCheckUtils]: 40: Hoare triple {80748#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {80748#true} is VALID [2022-04-08 08:36:09,619 INFO L290 TraceCheckUtils]: 41: Hoare triple {80748#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {80748#true} is VALID [2022-04-08 08:36:09,619 INFO L290 TraceCheckUtils]: 42: Hoare triple {80748#true} assume 0 == ~__BLAST_NONDET~2; {80748#true} is VALID [2022-04-08 08:36:09,619 INFO L290 TraceCheckUtils]: 43: Hoare triple {80748#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {80748#true} is VALID [2022-04-08 08:36:09,619 INFO L290 TraceCheckUtils]: 44: Hoare triple {80748#true} assume true; {80748#true} is VALID [2022-04-08 08:36:09,619 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {80748#true} {80748#true} #1180#return; {80748#true} is VALID [2022-04-08 08:36:09,619 INFO L290 TraceCheckUtils]: 46: Hoare triple {80748#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {80748#true} is VALID [2022-04-08 08:36:09,619 INFO L290 TraceCheckUtils]: 47: Hoare triple {80748#true} assume true; {80748#true} is VALID [2022-04-08 08:36:09,619 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {80748#true} {80748#true} #1220#return; {80748#true} is VALID [2022-04-08 08:36:09,619 INFO L290 TraceCheckUtils]: 49: Hoare triple {80748#true} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {80748#true} is VALID [2022-04-08 08:36:09,620 INFO L272 TraceCheckUtils]: 50: Hoare triple {80748#true} call stub_driver_init(); {80848#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:36:09,620 INFO L290 TraceCheckUtils]: 51: Hoare triple {80848#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {80748#true} is VALID [2022-04-08 08:36:09,620 INFO L290 TraceCheckUtils]: 52: Hoare triple {80748#true} assume true; {80748#true} is VALID [2022-04-08 08:36:09,620 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {80748#true} {80748#true} #1222#return; {80748#true} is VALID [2022-04-08 08:36:09,620 INFO L290 TraceCheckUtils]: 54: Hoare triple {80748#true} assume !!(~status~5 >= 0); {80748#true} is VALID [2022-04-08 08:36:09,620 INFO L290 TraceCheckUtils]: 55: Hoare triple {80748#true} assume !(0 == ~__BLAST_NONDET~0); {80748#true} is VALID [2022-04-08 08:36:09,620 INFO L290 TraceCheckUtils]: 56: Hoare triple {80748#true} assume !(1 == ~__BLAST_NONDET~0); {80748#true} is VALID [2022-04-08 08:36:09,620 INFO L290 TraceCheckUtils]: 57: Hoare triple {80748#true} assume !(2 == ~__BLAST_NONDET~0); {80748#true} is VALID [2022-04-08 08:36:09,620 INFO L290 TraceCheckUtils]: 58: Hoare triple {80748#true} assume 3 == ~__BLAST_NONDET~0; {80748#true} is VALID [2022-04-08 08:36:09,620 INFO L272 TraceCheckUtils]: 59: Hoare triple {80748#true} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {80748#true} is VALID [2022-04-08 08:36:09,621 INFO L290 TraceCheckUtils]: 60: Hoare triple {80748#true} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~devExt~3.base, ~devExt~3.offset;havoc ~irpStack~3.base, ~irpStack~3.offset;havoc ~status~3;call ~#event~1.base, ~#event~1.offset := #Ultimate.allocOnStack(16);havoc ~irpSp~0.base, ~irpSp~0.offset;havoc ~nextIrpSp~0.base, ~nextIrpSp~0.offset;havoc ~irpSp___0~0.base, ~irpSp___0~0.offset;~status~3 := 0;call #t~mem79.base, #t~mem79.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~3.base, ~devExt~3.offset := #t~mem79.base, #t~mem79.offset;havoc #t~mem79.base, #t~mem79.offset;call #t~mem80.base, #t~mem80.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~3.base, ~irpStack~3.offset := #t~mem80.base, #t~mem80.offset;havoc #t~mem80.base, #t~mem80.offset;call #t~mem81 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {80748#true} is VALID [2022-04-08 08:36:09,621 INFO L290 TraceCheckUtils]: 61: Hoare triple {80748#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {80748#true} is VALID [2022-04-08 08:36:09,621 INFO L290 TraceCheckUtils]: 62: Hoare triple {80748#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp~0.base, ~irpSp~0.offset := #t~mem102.base, #t~mem102.offset;havoc #t~mem102.base, #t~mem102.offset;call #t~mem103.base, #t~mem103.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 36;havoc #t~mem103.base, #t~mem103.offset; {80748#true} is VALID [2022-04-08 08:36:09,621 INFO L272 TraceCheckUtils]: 63: Hoare triple {80748#true} call #t~memmove~res104.base, #t~memmove~res104.offset := #Ultimate.C_memmove(~nextIrpSp~0.base, ~nextIrpSp~0.offset, ~irpSp~0.base, ~irpSp~0.offset, 28); {80827#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:36:09,621 INFO L290 TraceCheckUtils]: 64: Hoare triple {80827#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {80748#true} is VALID [2022-04-08 08:36:09,621 INFO L290 TraceCheckUtils]: 65: Hoare triple {80748#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {80748#true} is VALID [2022-04-08 08:36:09,621 INFO L290 TraceCheckUtils]: 66: Hoare triple {80748#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {80748#true} is VALID [2022-04-08 08:36:09,622 INFO L290 TraceCheckUtils]: 67: Hoare triple {80748#true} assume #res.base == dest.base && #res.offset == dest.offset; {80748#true} is VALID [2022-04-08 08:36:09,622 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {80748#true} {80748#true} #1186#return; {80748#true} is VALID [2022-04-08 08:36:09,622 INFO L290 TraceCheckUtils]: 69: Hoare triple {80748#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {80748#true} is VALID [2022-04-08 08:36:09,622 INFO L290 TraceCheckUtils]: 70: Hoare triple {80748#true} assume !(~s~0 != ~NP~0); {80748#true} is VALID [2022-04-08 08:36:09,622 INFO L290 TraceCheckUtils]: 71: Hoare triple {80748#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {80748#true} is VALID [2022-04-08 08:36:09,622 INFO L290 TraceCheckUtils]: 72: Hoare triple {80748#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 36;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 28 + ~irpSp___0~0.offset, 4);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 32 + ~irpSp___0~0.offset, 4);call write~int(0, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(64, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call #t~mem106 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem106 % 256, 128), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem106;call #t~mem107 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem107 % 256, 32), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem107;call #t~mem108.base, #t~mem108.offset := read~$Pointer$(~devExt~3.base, 8 + ~devExt~3.offset, 4); {80748#true} is VALID [2022-04-08 08:36:09,622 INFO L272 TraceCheckUtils]: 73: Hoare triple {80748#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {80849#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:36:09,622 INFO L290 TraceCheckUtils]: 74: Hoare triple {80849#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {80748#true} is VALID [2022-04-08 08:36:09,623 INFO L290 TraceCheckUtils]: 75: Hoare triple {80748#true} assume 0 != ~compRegistered~0; {80748#true} is VALID [2022-04-08 08:36:09,623 INFO L272 TraceCheckUtils]: 76: Hoare triple {80748#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {80861#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:36:09,623 INFO L290 TraceCheckUtils]: 77: Hoare triple {80861#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {80748#true} is VALID [2022-04-08 08:36:09,624 INFO L272 TraceCheckUtils]: 78: Hoare triple {80748#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {80861#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:36:09,624 INFO L290 TraceCheckUtils]: 79: Hoare triple {80861#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,624 INFO L290 TraceCheckUtils]: 80: Hoare triple {80824#(= ~setEventCalled~0 1)} assume true; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,625 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {80824#(= ~setEventCalled~0 1)} {80748#true} #1174#return; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,625 INFO L290 TraceCheckUtils]: 82: Hoare triple {80824#(= ~setEventCalled~0 1)} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,625 INFO L290 TraceCheckUtils]: 83: Hoare triple {80824#(= ~setEventCalled~0 1)} assume true; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,626 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {80824#(= ~setEventCalled~0 1)} {80748#true} #1210#return; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,626 INFO L290 TraceCheckUtils]: 85: Hoare triple {80824#(= ~setEventCalled~0 1)} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,627 INFO L290 TraceCheckUtils]: 86: Hoare triple {80824#(= ~setEventCalled~0 1)} assume -1073741802 == ~compRetStatus~0; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,627 INFO L272 TraceCheckUtils]: 87: Hoare triple {80824#(= ~setEventCalled~0 1)} call stubMoreProcessingRequired(); {80865#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:36:09,627 INFO L290 TraceCheckUtils]: 88: Hoare triple {80865#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {80748#true} is VALID [2022-04-08 08:36:09,627 INFO L290 TraceCheckUtils]: 89: Hoare triple {80748#true} assume true; {80748#true} is VALID [2022-04-08 08:36:09,627 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {80748#true} {80824#(= ~setEventCalled~0 1)} #1212#return; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,628 INFO L290 TraceCheckUtils]: 91: Hoare triple {80824#(= ~setEventCalled~0 1)} assume !(0 == ~__BLAST_NONDET~11); {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,628 INFO L290 TraceCheckUtils]: 92: Hoare triple {80824#(= ~setEventCalled~0 1)} assume !(1 == ~__BLAST_NONDET~11); {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,628 INFO L290 TraceCheckUtils]: 93: Hoare triple {80824#(= ~setEventCalled~0 1)} ~returnVal2~0 := 259; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,628 INFO L290 TraceCheckUtils]: 94: Hoare triple {80824#(= ~setEventCalled~0 1)} assume !(~s~0 == ~NP~0); {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,629 INFO L290 TraceCheckUtils]: 95: Hoare triple {80824#(= ~setEventCalled~0 1)} assume ~s~0 == ~MPR1~0; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,629 INFO L290 TraceCheckUtils]: 96: Hoare triple {80824#(= ~setEventCalled~0 1)} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := ~returnVal2~0; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,629 INFO L290 TraceCheckUtils]: 97: Hoare triple {80824#(= ~setEventCalled~0 1)} #res := ~returnVal2~0; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,629 INFO L290 TraceCheckUtils]: 98: Hoare triple {80824#(= ~setEventCalled~0 1)} assume true; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,630 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {80824#(= ~setEventCalled~0 1)} {80748#true} #1192#return; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,630 INFO L290 TraceCheckUtils]: 100: Hoare triple {80824#(= ~setEventCalled~0 1)} assume -2147483648 <= #t~ret109 && #t~ret109 <= 2147483647;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,631 INFO L290 TraceCheckUtils]: 101: Hoare triple {80824#(= ~setEventCalled~0 1)} assume 259 == ~status~3; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,631 INFO L272 TraceCheckUtils]: 102: Hoare triple {80824#(= ~setEventCalled~0 1)} call #t~ret110 := KeWaitForSingleObject(~#event~1.base, ~#event~1.offset, 0, 0, 0, 0, 0); {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,631 INFO L290 TraceCheckUtils]: 103: Hoare triple {80824#(= ~setEventCalled~0 1)} ~Object.base, ~Object.offset := #in~Object.base, #in~Object.offset;~WaitReason := #in~WaitReason;~WaitMode := #in~WaitMode;~Alertable := #in~Alertable;~Timeout.base, ~Timeout.offset := #in~Timeout.base, #in~Timeout.offset;assume -2147483648 <= #t~nondet200 && #t~nondet200 <= 2147483647;~__BLAST_NONDET~13 := #t~nondet200;havoc #t~nondet200; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,632 INFO L290 TraceCheckUtils]: 104: Hoare triple {80824#(= ~setEventCalled~0 1)} assume ~s~0 == ~MPR3~0; {80824#(= ~setEventCalled~0 1)} is VALID [2022-04-08 08:36:09,632 INFO L290 TraceCheckUtils]: 105: Hoare triple {80824#(= ~setEventCalled~0 1)} assume !(1 == ~setEventCalled~0); {80749#false} is VALID [2022-04-08 08:36:09,632 INFO L290 TraceCheckUtils]: 106: Hoare triple {80749#false} assume !(1 == ~customIrp~0); {80749#false} is VALID [2022-04-08 08:36:09,632 INFO L290 TraceCheckUtils]: 107: Hoare triple {80749#false} assume ~s~0 == ~MPR3~0; {80749#false} is VALID [2022-04-08 08:36:09,632 INFO L272 TraceCheckUtils]: 108: Hoare triple {80749#false} call errorFn(); {80749#false} is VALID [2022-04-08 08:36:09,632 INFO L290 TraceCheckUtils]: 109: Hoare triple {80749#false} assume !false; {80749#false} is VALID [2022-04-08 08:36:09,632 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 08:36:09,632 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:36:09,632 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2020533278] [2022-04-08 08:36:09,632 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2020533278] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:36:09,633 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:36:09,633 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 08:36:09,633 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:36:09,633 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [824899223] [2022-04-08 08:36:09,633 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [824899223] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:36:09,633 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:36:09,633 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 08:36:09,633 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [799398898] [2022-04-08 08:36:09,633 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:36:09,633 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 7.090909090909091) internal successors, (78), 3 states have internal predecessors, (78), 3 states have call successors, (18), 11 states have call predecessors, (18), 2 states have return successors, (14), 2 states have call predecessors, (14), 2 states have call successors, (14) Word has length 110 [2022-04-08 08:36:09,633 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:36:09,634 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 7.090909090909091) internal successors, (78), 3 states have internal predecessors, (78), 3 states have call successors, (18), 11 states have call predecessors, (18), 2 states have return successors, (14), 2 states have call predecessors, (14), 2 states have call successors, (14) [2022-04-08 08:36:09,710 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:36:09,710 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 08:36:09,710 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:36:09,710 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 08:36:09,710 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=76, Unknown=0, NotChecked=0, Total=110 [2022-04-08 08:36:09,710 INFO L87 Difference]: Start difference. First operand 321 states and 363 transitions. Second operand has 11 states, 11 states have (on average 7.090909090909091) internal successors, (78), 3 states have internal predecessors, (78), 3 states have call successors, (18), 11 states have call predecessors, (18), 2 states have return successors, (14), 2 states have call predecessors, (14), 2 states have call successors, (14) [2022-04-08 08:36:11,811 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:36:16,487 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:36:16,487 INFO L93 Difference]: Finished difference Result 452 states and 515 transitions. [2022-04-08 08:36:16,487 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 08:36:16,487 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 7.090909090909091) internal successors, (78), 3 states have internal predecessors, (78), 3 states have call successors, (18), 11 states have call predecessors, (18), 2 states have return successors, (14), 2 states have call predecessors, (14), 2 states have call successors, (14) Word has length 110 [2022-04-08 08:36:16,488 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:36:16,488 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 7.090909090909091) internal successors, (78), 3 states have internal predecessors, (78), 3 states have call successors, (18), 11 states have call predecessors, (18), 2 states have return successors, (14), 2 states have call predecessors, (14), 2 states have call successors, (14) [2022-04-08 08:36:16,489 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 256 transitions. [2022-04-08 08:36:16,489 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 7.090909090909091) internal successors, (78), 3 states have internal predecessors, (78), 3 states have call successors, (18), 11 states have call predecessors, (18), 2 states have return successors, (14), 2 states have call predecessors, (14), 2 states have call successors, (14) [2022-04-08 08:36:16,490 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 256 transitions. [2022-04-08 08:36:16,491 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 256 transitions. [2022-04-08 08:36:16,746 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 256 edges. 256 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:36:16,753 INFO L225 Difference]: With dead ends: 452 [2022-04-08 08:36:16,753 INFO L226 Difference]: Without dead ends: 386 [2022-04-08 08:36:16,754 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 43 GetRequests, 24 SyntacticMatches, 3 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=97, Invalid=209, Unknown=0, NotChecked=0, Total=306 [2022-04-08 08:36:16,754 INFO L913 BasicCegarLoop]: 135 mSDtfsCounter, 299 mSDsluCounter, 191 mSDsCounter, 0 mSdLazyCounter, 364 mSolverCounterSat, 157 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 302 SdHoareTripleChecker+Valid, 326 SdHoareTripleChecker+Invalid, 522 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 157 IncrementalHoareTripleChecker+Valid, 364 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.4s IncrementalHoareTripleChecker+Time [2022-04-08 08:36:16,754 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [302 Valid, 326 Invalid, 522 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [157 Valid, 364 Invalid, 1 Unknown, 0 Unchecked, 3.4s Time] [2022-04-08 08:36:16,754 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 386 states. [2022-04-08 08:36:17,550 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 386 to 338. [2022-04-08 08:36:17,550 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:36:17,550 INFO L82 GeneralOperation]: Start isEquivalent. First operand 386 states. Second operand has 338 states, 262 states have (on average 1.1450381679389312) internal successors, (300), 266 states have internal predecessors, (300), 36 states have call successors, (36), 35 states have call predecessors, (36), 39 states have return successors, (41), 36 states have call predecessors, (41), 33 states have call successors, (41) [2022-04-08 08:36:17,550 INFO L74 IsIncluded]: Start isIncluded. First operand 386 states. Second operand has 338 states, 262 states have (on average 1.1450381679389312) internal successors, (300), 266 states have internal predecessors, (300), 36 states have call successors, (36), 35 states have call predecessors, (36), 39 states have return successors, (41), 36 states have call predecessors, (41), 33 states have call successors, (41) [2022-04-08 08:36:17,551 INFO L87 Difference]: Start difference. First operand 386 states. Second operand has 338 states, 262 states have (on average 1.1450381679389312) internal successors, (300), 266 states have internal predecessors, (300), 36 states have call successors, (36), 35 states have call predecessors, (36), 39 states have return successors, (41), 36 states have call predecessors, (41), 33 states have call successors, (41) [2022-04-08 08:36:17,556 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:36:17,556 INFO L93 Difference]: Finished difference Result 386 states and 434 transitions. [2022-04-08 08:36:17,556 INFO L276 IsEmpty]: Start isEmpty. Operand 386 states and 434 transitions. [2022-04-08 08:36:17,556 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:36:17,556 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:36:17,557 INFO L74 IsIncluded]: Start isIncluded. First operand has 338 states, 262 states have (on average 1.1450381679389312) internal successors, (300), 266 states have internal predecessors, (300), 36 states have call successors, (36), 35 states have call predecessors, (36), 39 states have return successors, (41), 36 states have call predecessors, (41), 33 states have call successors, (41) Second operand 386 states. [2022-04-08 08:36:17,557 INFO L87 Difference]: Start difference. First operand has 338 states, 262 states have (on average 1.1450381679389312) internal successors, (300), 266 states have internal predecessors, (300), 36 states have call successors, (36), 35 states have call predecessors, (36), 39 states have return successors, (41), 36 states have call predecessors, (41), 33 states have call successors, (41) Second operand 386 states. [2022-04-08 08:36:17,562 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:36:17,562 INFO L93 Difference]: Finished difference Result 386 states and 434 transitions. [2022-04-08 08:36:17,562 INFO L276 IsEmpty]: Start isEmpty. Operand 386 states and 434 transitions. [2022-04-08 08:36:17,563 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:36:17,563 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:36:17,563 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:36:17,563 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:36:17,563 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 338 states, 262 states have (on average 1.1450381679389312) internal successors, (300), 266 states have internal predecessors, (300), 36 states have call successors, (36), 35 states have call predecessors, (36), 39 states have return successors, (41), 36 states have call predecessors, (41), 33 states have call successors, (41) [2022-04-08 08:36:17,568 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 338 states to 338 states and 377 transitions. [2022-04-08 08:36:17,568 INFO L78 Accepts]: Start accepts. Automaton has 338 states and 377 transitions. Word has length 110 [2022-04-08 08:36:17,569 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:36:17,569 INFO L478 AbstractCegarLoop]: Abstraction has 338 states and 377 transitions. [2022-04-08 08:36:17,569 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 7.090909090909091) internal successors, (78), 3 states have internal predecessors, (78), 3 states have call successors, (18), 11 states have call predecessors, (18), 2 states have return successors, (14), 2 states have call predecessors, (14), 2 states have call successors, (14) [2022-04-08 08:36:17,569 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 338 states and 377 transitions. [2022-04-08 08:36:18,495 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 377 edges. 377 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:36:18,495 INFO L276 IsEmpty]: Start isEmpty. Operand 338 states and 377 transitions. [2022-04-08 08:36:18,495 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 121 [2022-04-08 08:36:18,496 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:36:18,496 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:36:18,496 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable33 [2022-04-08 08:36:18,496 INFO L403 AbstractCegarLoop]: === Iteration 35 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:36:18,496 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:36:18,496 INFO L85 PathProgramCache]: Analyzing trace with hash 820803447, now seen corresponding path program 1 times [2022-04-08 08:36:18,496 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:36:18,496 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1626154661] [2022-04-08 08:36:18,498 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 4 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 08:36:18,498 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 08:36:18,498 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 08:36:18,498 INFO L85 PathProgramCache]: Analyzing trace with hash 820803447, now seen corresponding path program 2 times [2022-04-08 08:36:18,498 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:36:18,498 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [722501448] [2022-04-08 08:36:18,498 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:36:18,498 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:36:18,818 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:18,884 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:36:18,885 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:18,889 INFO L290 TraceCheckUtils]: 0: Hoare triple {83320#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {83236#true} is VALID [2022-04-08 08:36:18,890 INFO L290 TraceCheckUtils]: 1: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:18,890 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {83236#true} {83236#true} #1270#return; {83236#true} is VALID [2022-04-08 08:36:18,909 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:36:18,910 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:18,914 INFO L290 TraceCheckUtils]: 0: Hoare triple {83321#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {83236#true} is VALID [2022-04-08 08:36:18,914 INFO L290 TraceCheckUtils]: 1: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:18,914 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {83236#true} {83236#true} #1216#return; {83236#true} is VALID [2022-04-08 08:36:18,919 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:36:18,924 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:18,930 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:36:18,931 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:18,935 INFO L290 TraceCheckUtils]: 0: Hoare triple {83236#true} ~cond := #in~cond; {83236#true} is VALID [2022-04-08 08:36:18,935 INFO L290 TraceCheckUtils]: 1: Hoare triple {83236#true} assume !(0 == ~cond); {83236#true} is VALID [2022-04-08 08:36:18,935 INFO L290 TraceCheckUtils]: 2: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:18,935 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {83236#true} {83236#true} #1254#return; {83236#true} is VALID [2022-04-08 08:36:18,936 INFO L290 TraceCheckUtils]: 0: Hoare triple {83322#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {83236#true} is VALID [2022-04-08 08:36:18,936 INFO L272 TraceCheckUtils]: 1: Hoare triple {83236#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {83236#true} is VALID [2022-04-08 08:36:18,936 INFO L290 TraceCheckUtils]: 2: Hoare triple {83236#true} ~cond := #in~cond; {83236#true} is VALID [2022-04-08 08:36:18,936 INFO L290 TraceCheckUtils]: 3: Hoare triple {83236#true} assume !(0 == ~cond); {83236#true} is VALID [2022-04-08 08:36:18,936 INFO L290 TraceCheckUtils]: 4: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:18,936 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {83236#true} {83236#true} #1254#return; {83236#true} is VALID [2022-04-08 08:36:18,936 INFO L290 TraceCheckUtils]: 6: Hoare triple {83236#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {83236#true} is VALID [2022-04-08 08:36:18,936 INFO L290 TraceCheckUtils]: 7: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:18,936 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {83236#true} {83236#true} #1218#return; {83236#true} is VALID [2022-04-08 08:36:18,944 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:36:18,968 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:18,980 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:36:18,983 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:18,988 INFO L290 TraceCheckUtils]: 0: Hoare triple {83327#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {83236#true} is VALID [2022-04-08 08:36:18,988 INFO L290 TraceCheckUtils]: 1: Hoare triple {83236#true} assume 0 == ~__BLAST_NONDET~5; {83236#true} is VALID [2022-04-08 08:36:18,988 INFO L290 TraceCheckUtils]: 2: Hoare triple {83236#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {83236#true} is VALID [2022-04-08 08:36:18,988 INFO L290 TraceCheckUtils]: 3: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:18,988 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {83236#true} {83236#true} #1176#return; {83236#true} is VALID [2022-04-08 08:36:18,988 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 08:36:18,994 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:19,062 INFO L290 TraceCheckUtils]: 0: Hoare triple {83322#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {83343#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 08:36:19,065 INFO L290 TraceCheckUtils]: 1: Hoare triple {83343#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {83344#(and (or (<= (+ (* (div |#Ultimate.C_memset_#amount| 4294967296) 4294967296) 1) |#Ultimate.C_memset_#amount|) (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (or (not (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 4294967296) 1) 0)))} is VALID [2022-04-08 08:36:19,065 INFO L290 TraceCheckUtils]: 2: Hoare triple {83344#(and (or (<= (+ (* (div |#Ultimate.C_memset_#amount| 4294967296) 4294967296) 1) |#Ultimate.C_memset_#amount|) (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (or (not (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 4294967296) 1) 0)))} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {83345#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 08:36:19,066 INFO L290 TraceCheckUtils]: 3: Hoare triple {83345#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {83345#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 08:36:19,069 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {83345#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} {83236#true} #1178#return; {83237#false} is VALID [2022-04-08 08:36:19,069 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-08 08:36:19,070 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:19,075 INFO L290 TraceCheckUtils]: 0: Hoare triple {83236#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {83236#true} is VALID [2022-04-08 08:36:19,075 INFO L290 TraceCheckUtils]: 1: Hoare triple {83236#true} assume 0 == ~__BLAST_NONDET~2; {83236#true} is VALID [2022-04-08 08:36:19,075 INFO L290 TraceCheckUtils]: 2: Hoare triple {83236#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {83236#true} is VALID [2022-04-08 08:36:19,075 INFO L290 TraceCheckUtils]: 3: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:19,075 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {83236#true} {83237#false} #1180#return; {83237#false} is VALID [2022-04-08 08:36:19,075 INFO L290 TraceCheckUtils]: 0: Hoare triple {83327#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {83236#true} is VALID [2022-04-08 08:36:19,076 INFO L272 TraceCheckUtils]: 1: Hoare triple {83236#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {83327#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:36:19,076 INFO L290 TraceCheckUtils]: 2: Hoare triple {83327#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {83236#true} is VALID [2022-04-08 08:36:19,076 INFO L290 TraceCheckUtils]: 3: Hoare triple {83236#true} assume 0 == ~__BLAST_NONDET~5; {83236#true} is VALID [2022-04-08 08:36:19,076 INFO L290 TraceCheckUtils]: 4: Hoare triple {83236#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {83236#true} is VALID [2022-04-08 08:36:19,076 INFO L290 TraceCheckUtils]: 5: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:19,076 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {83236#true} {83236#true} #1176#return; {83236#true} is VALID [2022-04-08 08:36:19,076 INFO L290 TraceCheckUtils]: 7: Hoare triple {83236#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {83236#true} is VALID [2022-04-08 08:36:19,077 INFO L290 TraceCheckUtils]: 8: Hoare triple {83236#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {83236#true} is VALID [2022-04-08 08:36:19,077 INFO L272 TraceCheckUtils]: 9: Hoare triple {83236#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {83322#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:36:19,078 INFO L290 TraceCheckUtils]: 10: Hoare triple {83322#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {83343#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 08:36:19,079 INFO L290 TraceCheckUtils]: 11: Hoare triple {83343#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {83344#(and (or (<= (+ (* (div |#Ultimate.C_memset_#amount| 4294967296) 4294967296) 1) |#Ultimate.C_memset_#amount|) (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (or (not (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 4294967296) 1) 0)))} is VALID [2022-04-08 08:36:19,079 INFO L290 TraceCheckUtils]: 12: Hoare triple {83344#(and (or (<= (+ (* (div |#Ultimate.C_memset_#amount| 4294967296) 4294967296) 1) |#Ultimate.C_memset_#amount|) (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (or (not (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 4294967296) 1) 0)))} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {83345#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 08:36:19,080 INFO L290 TraceCheckUtils]: 13: Hoare triple {83345#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {83345#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 08:36:19,080 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {83345#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} {83236#true} #1178#return; {83237#false} is VALID [2022-04-08 08:36:19,081 INFO L290 TraceCheckUtils]: 15: Hoare triple {83237#false} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {83237#false} is VALID [2022-04-08 08:36:19,081 INFO L272 TraceCheckUtils]: 16: Hoare triple {83237#false} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {83236#true} is VALID [2022-04-08 08:36:19,081 INFO L290 TraceCheckUtils]: 17: Hoare triple {83236#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {83236#true} is VALID [2022-04-08 08:36:19,081 INFO L290 TraceCheckUtils]: 18: Hoare triple {83236#true} assume 0 == ~__BLAST_NONDET~2; {83236#true} is VALID [2022-04-08 08:36:19,081 INFO L290 TraceCheckUtils]: 19: Hoare triple {83236#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {83236#true} is VALID [2022-04-08 08:36:19,081 INFO L290 TraceCheckUtils]: 20: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:19,081 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {83236#true} {83237#false} #1180#return; {83237#false} is VALID [2022-04-08 08:36:19,081 INFO L290 TraceCheckUtils]: 22: Hoare triple {83237#false} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {83237#false} is VALID [2022-04-08 08:36:19,081 INFO L290 TraceCheckUtils]: 23: Hoare triple {83237#false} assume true; {83237#false} is VALID [2022-04-08 08:36:19,081 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {83237#false} {83236#true} #1220#return; {83237#false} is VALID [2022-04-08 08:36:19,097 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-08 08:36:19,098 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:19,104 INFO L290 TraceCheckUtils]: 0: Hoare triple {83346#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {83236#true} is VALID [2022-04-08 08:36:19,104 INFO L290 TraceCheckUtils]: 1: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:19,104 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {83236#true} {83237#false} #1222#return; {83237#false} is VALID [2022-04-08 08:36:19,104 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-08 08:36:19,106 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:19,110 INFO L290 TraceCheckUtils]: 0: Hoare triple {83322#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {83236#true} is VALID [2022-04-08 08:36:19,111 INFO L290 TraceCheckUtils]: 1: Hoare triple {83236#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {83236#true} is VALID [2022-04-08 08:36:19,111 INFO L290 TraceCheckUtils]: 2: Hoare triple {83236#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {83236#true} is VALID [2022-04-08 08:36:19,111 INFO L290 TraceCheckUtils]: 3: Hoare triple {83236#true} assume #res.base == dest.base && #res.offset == dest.offset; {83236#true} is VALID [2022-04-08 08:36:19,111 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {83236#true} {83237#false} #1186#return; {83237#false} is VALID [2022-04-08 08:36:19,120 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 73 [2022-04-08 08:36:19,125 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:19,138 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 08:36:19,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:19,144 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:36:19,145 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:19,149 INFO L290 TraceCheckUtils]: 0: Hoare triple {83359#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {83236#true} is VALID [2022-04-08 08:36:19,149 INFO L290 TraceCheckUtils]: 1: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:19,149 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {83236#true} {83236#true} #1174#return; {83236#true} is VALID [2022-04-08 08:36:19,149 INFO L290 TraceCheckUtils]: 0: Hoare triple {83359#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {83236#true} is VALID [2022-04-08 08:36:19,150 INFO L272 TraceCheckUtils]: 1: Hoare triple {83236#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {83359#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:36:19,150 INFO L290 TraceCheckUtils]: 2: Hoare triple {83359#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {83236#true} is VALID [2022-04-08 08:36:19,150 INFO L290 TraceCheckUtils]: 3: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:19,150 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {83236#true} {83236#true} #1174#return; {83236#true} is VALID [2022-04-08 08:36:19,150 INFO L290 TraceCheckUtils]: 5: Hoare triple {83236#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {83236#true} is VALID [2022-04-08 08:36:19,150 INFO L290 TraceCheckUtils]: 6: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:19,150 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {83236#true} {83236#true} #1210#return; {83236#true} is VALID [2022-04-08 08:36:19,158 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 08:36:19,159 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:19,163 INFO L290 TraceCheckUtils]: 0: Hoare triple {83363#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {83236#true} is VALID [2022-04-08 08:36:19,163 INFO L290 TraceCheckUtils]: 1: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:19,163 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {83236#true} {83236#true} #1212#return; {83236#true} is VALID [2022-04-08 08:36:19,163 INFO L290 TraceCheckUtils]: 0: Hoare triple {83347#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {83236#true} is VALID [2022-04-08 08:36:19,163 INFO L290 TraceCheckUtils]: 1: Hoare triple {83236#true} assume 0 != ~compRegistered~0; {83236#true} is VALID [2022-04-08 08:36:19,164 INFO L272 TraceCheckUtils]: 2: Hoare triple {83236#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {83359#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:36:19,164 INFO L290 TraceCheckUtils]: 3: Hoare triple {83359#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {83236#true} is VALID [2022-04-08 08:36:19,164 INFO L272 TraceCheckUtils]: 4: Hoare triple {83236#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {83359#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:36:19,164 INFO L290 TraceCheckUtils]: 5: Hoare triple {83359#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {83236#true} is VALID [2022-04-08 08:36:19,164 INFO L290 TraceCheckUtils]: 6: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:19,164 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {83236#true} {83236#true} #1174#return; {83236#true} is VALID [2022-04-08 08:36:19,165 INFO L290 TraceCheckUtils]: 8: Hoare triple {83236#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {83236#true} is VALID [2022-04-08 08:36:19,165 INFO L290 TraceCheckUtils]: 9: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:19,165 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {83236#true} {83236#true} #1210#return; {83236#true} is VALID [2022-04-08 08:36:19,165 INFO L290 TraceCheckUtils]: 11: Hoare triple {83236#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {83236#true} is VALID [2022-04-08 08:36:19,165 INFO L290 TraceCheckUtils]: 12: Hoare triple {83236#true} assume -1073741802 == ~compRetStatus~0; {83236#true} is VALID [2022-04-08 08:36:19,165 INFO L272 TraceCheckUtils]: 13: Hoare triple {83236#true} call stubMoreProcessingRequired(); {83363#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:36:19,165 INFO L290 TraceCheckUtils]: 14: Hoare triple {83363#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {83236#true} is VALID [2022-04-08 08:36:19,165 INFO L290 TraceCheckUtils]: 15: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:19,165 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {83236#true} {83236#true} #1212#return; {83236#true} is VALID [2022-04-08 08:36:19,165 INFO L290 TraceCheckUtils]: 17: Hoare triple {83236#true} assume !(0 == ~__BLAST_NONDET~11); {83236#true} is VALID [2022-04-08 08:36:19,165 INFO L290 TraceCheckUtils]: 18: Hoare triple {83236#true} assume !(1 == ~__BLAST_NONDET~11); {83236#true} is VALID [2022-04-08 08:36:19,165 INFO L290 TraceCheckUtils]: 19: Hoare triple {83236#true} ~returnVal2~0 := 259; {83236#true} is VALID [2022-04-08 08:36:19,165 INFO L290 TraceCheckUtils]: 20: Hoare triple {83236#true} assume !(~s~0 == ~NP~0); {83236#true} is VALID [2022-04-08 08:36:19,165 INFO L290 TraceCheckUtils]: 21: Hoare triple {83236#true} assume ~s~0 == ~MPR1~0; {83236#true} is VALID [2022-04-08 08:36:19,165 INFO L290 TraceCheckUtils]: 22: Hoare triple {83236#true} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := ~returnVal2~0; {83236#true} is VALID [2022-04-08 08:36:19,165 INFO L290 TraceCheckUtils]: 23: Hoare triple {83236#true} #res := ~returnVal2~0; {83236#true} is VALID [2022-04-08 08:36:19,166 INFO L290 TraceCheckUtils]: 24: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:19,166 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {83236#true} {83237#false} #1192#return; {83237#false} is VALID [2022-04-08 08:36:19,176 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 102 [2022-04-08 08:36:19,178 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:19,182 INFO L290 TraceCheckUtils]: 0: Hoare triple {83364#(and (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~s~0 |old(~s~0)|))} ~Object.base, ~Object.offset := #in~Object.base, #in~Object.offset;~WaitReason := #in~WaitReason;~WaitMode := #in~WaitMode;~Alertable := #in~Alertable;~Timeout.base, ~Timeout.offset := #in~Timeout.base, #in~Timeout.offset;assume -2147483648 <= #t~nondet200 && #t~nondet200 <= 2147483647;~__BLAST_NONDET~13 := #t~nondet200;havoc #t~nondet200; {83236#true} is VALID [2022-04-08 08:36:19,182 INFO L290 TraceCheckUtils]: 1: Hoare triple {83236#true} assume !(~s~0 == ~MPR3~0); {83236#true} is VALID [2022-04-08 08:36:19,182 INFO L290 TraceCheckUtils]: 2: Hoare triple {83236#true} assume !(1 == ~customIrp~0); {83236#true} is VALID [2022-04-08 08:36:19,182 INFO L290 TraceCheckUtils]: 3: Hoare triple {83236#true} assume !(~s~0 == ~MPR3~0); {83236#true} is VALID [2022-04-08 08:36:19,182 INFO L290 TraceCheckUtils]: 4: Hoare triple {83236#true} assume 0 == ~__BLAST_NONDET~13; {83236#true} is VALID [2022-04-08 08:36:19,182 INFO L290 TraceCheckUtils]: 5: Hoare triple {83236#true} #res := 0; {83236#true} is VALID [2022-04-08 08:36:19,182 INFO L290 TraceCheckUtils]: 6: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:19,183 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {83236#true} {83237#false} #1194#return; {83237#false} is VALID [2022-04-08 08:36:19,184 INFO L272 TraceCheckUtils]: 0: Hoare triple {83236#true} call ULTIMATE.init(); {83320#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:36:19,184 INFO L290 TraceCheckUtils]: 1: Hoare triple {83320#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {83236#true} is VALID [2022-04-08 08:36:19,184 INFO L290 TraceCheckUtils]: 2: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:19,184 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {83236#true} {83236#true} #1270#return; {83236#true} is VALID [2022-04-08 08:36:19,184 INFO L272 TraceCheckUtils]: 4: Hoare triple {83236#true} call #t~ret213 := main(); {83236#true} is VALID [2022-04-08 08:36:19,184 INFO L290 TraceCheckUtils]: 5: Hoare triple {83236#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {83236#true} is VALID [2022-04-08 08:36:19,185 INFO L272 TraceCheckUtils]: 6: Hoare triple {83236#true} call _BLAST_init(); {83321#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:36:19,185 INFO L290 TraceCheckUtils]: 7: Hoare triple {83321#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {83236#true} is VALID [2022-04-08 08:36:19,185 INFO L290 TraceCheckUtils]: 8: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:19,185 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {83236#true} {83236#true} #1216#return; {83236#true} is VALID [2022-04-08 08:36:19,185 INFO L272 TraceCheckUtils]: 10: Hoare triple {83236#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {83322#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:36:19,185 INFO L290 TraceCheckUtils]: 11: Hoare triple {83322#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {83236#true} is VALID [2022-04-08 08:36:19,185 INFO L272 TraceCheckUtils]: 12: Hoare triple {83236#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {83236#true} is VALID [2022-04-08 08:36:19,186 INFO L290 TraceCheckUtils]: 13: Hoare triple {83236#true} ~cond := #in~cond; {83236#true} is VALID [2022-04-08 08:36:19,186 INFO L290 TraceCheckUtils]: 14: Hoare triple {83236#true} assume !(0 == ~cond); {83236#true} is VALID [2022-04-08 08:36:19,186 INFO L290 TraceCheckUtils]: 15: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:19,186 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {83236#true} {83236#true} #1254#return; {83236#true} is VALID [2022-04-08 08:36:19,186 INFO L290 TraceCheckUtils]: 17: Hoare triple {83236#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {83236#true} is VALID [2022-04-08 08:36:19,186 INFO L290 TraceCheckUtils]: 18: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:19,186 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {83236#true} {83236#true} #1218#return; {83236#true} is VALID [2022-04-08 08:36:19,186 INFO L290 TraceCheckUtils]: 20: Hoare triple {83236#true} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {83236#true} is VALID [2022-04-08 08:36:19,186 INFO L290 TraceCheckUtils]: 21: Hoare triple {83236#true} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {83236#true} is VALID [2022-04-08 08:36:19,186 INFO L290 TraceCheckUtils]: 22: Hoare triple {83236#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {83236#true} is VALID [2022-04-08 08:36:19,187 INFO L272 TraceCheckUtils]: 23: Hoare triple {83236#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {83327#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:36:19,187 INFO L290 TraceCheckUtils]: 24: Hoare triple {83327#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {83236#true} is VALID [2022-04-08 08:36:19,188 INFO L272 TraceCheckUtils]: 25: Hoare triple {83236#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {83327#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:36:19,188 INFO L290 TraceCheckUtils]: 26: Hoare triple {83327#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {83236#true} is VALID [2022-04-08 08:36:19,188 INFO L290 TraceCheckUtils]: 27: Hoare triple {83236#true} assume 0 == ~__BLAST_NONDET~5; {83236#true} is VALID [2022-04-08 08:36:19,188 INFO L290 TraceCheckUtils]: 28: Hoare triple {83236#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {83236#true} is VALID [2022-04-08 08:36:19,188 INFO L290 TraceCheckUtils]: 29: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:19,188 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {83236#true} {83236#true} #1176#return; {83236#true} is VALID [2022-04-08 08:36:19,188 INFO L290 TraceCheckUtils]: 31: Hoare triple {83236#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {83236#true} is VALID [2022-04-08 08:36:19,188 INFO L290 TraceCheckUtils]: 32: Hoare triple {83236#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {83236#true} is VALID [2022-04-08 08:36:19,189 INFO L272 TraceCheckUtils]: 33: Hoare triple {83236#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {83322#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:36:19,189 INFO L290 TraceCheckUtils]: 34: Hoare triple {83322#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {83343#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 08:36:19,190 INFO L290 TraceCheckUtils]: 35: Hoare triple {83343#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {83344#(and (or (<= (+ (* (div |#Ultimate.C_memset_#amount| 4294967296) 4294967296) 1) |#Ultimate.C_memset_#amount|) (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (or (not (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 4294967296) 1) 0)))} is VALID [2022-04-08 08:36:19,191 INFO L290 TraceCheckUtils]: 36: Hoare triple {83344#(and (or (<= (+ (* (div |#Ultimate.C_memset_#amount| 4294967296) 4294967296) 1) |#Ultimate.C_memset_#amount|) (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (or (not (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 4294967296) 1) 0)))} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {83345#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 08:36:19,191 INFO L290 TraceCheckUtils]: 37: Hoare triple {83345#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {83345#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 08:36:19,192 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {83345#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} {83236#true} #1178#return; {83237#false} is VALID [2022-04-08 08:36:19,192 INFO L290 TraceCheckUtils]: 39: Hoare triple {83237#false} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {83237#false} is VALID [2022-04-08 08:36:19,192 INFO L272 TraceCheckUtils]: 40: Hoare triple {83237#false} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {83236#true} is VALID [2022-04-08 08:36:19,192 INFO L290 TraceCheckUtils]: 41: Hoare triple {83236#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {83236#true} is VALID [2022-04-08 08:36:19,201 INFO L290 TraceCheckUtils]: 42: Hoare triple {83236#true} assume 0 == ~__BLAST_NONDET~2; {83236#true} is VALID [2022-04-08 08:36:19,202 INFO L290 TraceCheckUtils]: 43: Hoare triple {83236#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {83236#true} is VALID [2022-04-08 08:36:19,202 INFO L290 TraceCheckUtils]: 44: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:19,202 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {83236#true} {83237#false} #1180#return; {83237#false} is VALID [2022-04-08 08:36:19,202 INFO L290 TraceCheckUtils]: 46: Hoare triple {83237#false} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {83237#false} is VALID [2022-04-08 08:36:19,202 INFO L290 TraceCheckUtils]: 47: Hoare triple {83237#false} assume true; {83237#false} is VALID [2022-04-08 08:36:19,202 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {83237#false} {83236#true} #1220#return; {83237#false} is VALID [2022-04-08 08:36:19,202 INFO L290 TraceCheckUtils]: 49: Hoare triple {83237#false} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {83237#false} is VALID [2022-04-08 08:36:19,202 INFO L272 TraceCheckUtils]: 50: Hoare triple {83237#false} call stub_driver_init(); {83346#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:36:19,202 INFO L290 TraceCheckUtils]: 51: Hoare triple {83346#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {83236#true} is VALID [2022-04-08 08:36:19,202 INFO L290 TraceCheckUtils]: 52: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:19,202 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {83236#true} {83237#false} #1222#return; {83237#false} is VALID [2022-04-08 08:36:19,202 INFO L290 TraceCheckUtils]: 54: Hoare triple {83237#false} assume !!(~status~5 >= 0); {83237#false} is VALID [2022-04-08 08:36:19,202 INFO L290 TraceCheckUtils]: 55: Hoare triple {83237#false} assume !(0 == ~__BLAST_NONDET~0); {83237#false} is VALID [2022-04-08 08:36:19,202 INFO L290 TraceCheckUtils]: 56: Hoare triple {83237#false} assume !(1 == ~__BLAST_NONDET~0); {83237#false} is VALID [2022-04-08 08:36:19,202 INFO L290 TraceCheckUtils]: 57: Hoare triple {83237#false} assume !(2 == ~__BLAST_NONDET~0); {83237#false} is VALID [2022-04-08 08:36:19,202 INFO L290 TraceCheckUtils]: 58: Hoare triple {83237#false} assume 3 == ~__BLAST_NONDET~0; {83237#false} is VALID [2022-04-08 08:36:19,203 INFO L272 TraceCheckUtils]: 59: Hoare triple {83237#false} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {83237#false} is VALID [2022-04-08 08:36:19,203 INFO L290 TraceCheckUtils]: 60: Hoare triple {83237#false} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~devExt~3.base, ~devExt~3.offset;havoc ~irpStack~3.base, ~irpStack~3.offset;havoc ~status~3;call ~#event~1.base, ~#event~1.offset := #Ultimate.allocOnStack(16);havoc ~irpSp~0.base, ~irpSp~0.offset;havoc ~nextIrpSp~0.base, ~nextIrpSp~0.offset;havoc ~irpSp___0~0.base, ~irpSp___0~0.offset;~status~3 := 0;call #t~mem79.base, #t~mem79.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~3.base, ~devExt~3.offset := #t~mem79.base, #t~mem79.offset;havoc #t~mem79.base, #t~mem79.offset;call #t~mem80.base, #t~mem80.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~3.base, ~irpStack~3.offset := #t~mem80.base, #t~mem80.offset;havoc #t~mem80.base, #t~mem80.offset;call #t~mem81 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {83237#false} is VALID [2022-04-08 08:36:19,203 INFO L290 TraceCheckUtils]: 61: Hoare triple {83237#false} assume 0 == #t~mem81 % 256;havoc #t~mem81; {83237#false} is VALID [2022-04-08 08:36:19,203 INFO L290 TraceCheckUtils]: 62: Hoare triple {83237#false} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp~0.base, ~irpSp~0.offset := #t~mem102.base, #t~mem102.offset;havoc #t~mem102.base, #t~mem102.offset;call #t~mem103.base, #t~mem103.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 36;havoc #t~mem103.base, #t~mem103.offset; {83237#false} is VALID [2022-04-08 08:36:19,203 INFO L272 TraceCheckUtils]: 63: Hoare triple {83237#false} call #t~memmove~res104.base, #t~memmove~res104.offset := #Ultimate.C_memmove(~nextIrpSp~0.base, ~nextIrpSp~0.offset, ~irpSp~0.base, ~irpSp~0.offset, 28); {83322#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:36:19,203 INFO L290 TraceCheckUtils]: 64: Hoare triple {83322#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {83236#true} is VALID [2022-04-08 08:36:19,203 INFO L290 TraceCheckUtils]: 65: Hoare triple {83236#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {83236#true} is VALID [2022-04-08 08:36:19,203 INFO L290 TraceCheckUtils]: 66: Hoare triple {83236#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {83236#true} is VALID [2022-04-08 08:36:19,203 INFO L290 TraceCheckUtils]: 67: Hoare triple {83236#true} assume #res.base == dest.base && #res.offset == dest.offset; {83236#true} is VALID [2022-04-08 08:36:19,203 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {83236#true} {83237#false} #1186#return; {83237#false} is VALID [2022-04-08 08:36:19,203 INFO L290 TraceCheckUtils]: 69: Hoare triple {83237#false} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {83237#false} is VALID [2022-04-08 08:36:19,203 INFO L290 TraceCheckUtils]: 70: Hoare triple {83237#false} assume !(~s~0 != ~NP~0); {83237#false} is VALID [2022-04-08 08:36:19,203 INFO L290 TraceCheckUtils]: 71: Hoare triple {83237#false} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {83237#false} is VALID [2022-04-08 08:36:19,203 INFO L290 TraceCheckUtils]: 72: Hoare triple {83237#false} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 36;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 28 + ~irpSp___0~0.offset, 4);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 32 + ~irpSp___0~0.offset, 4);call write~int(0, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(64, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call #t~mem106 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem106 % 256, 128), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem106;call #t~mem107 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem107 % 256, 32), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem107;call #t~mem108.base, #t~mem108.offset := read~$Pointer$(~devExt~3.base, 8 + ~devExt~3.offset, 4); {83237#false} is VALID [2022-04-08 08:36:19,203 INFO L272 TraceCheckUtils]: 73: Hoare triple {83237#false} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {83347#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:36:19,203 INFO L290 TraceCheckUtils]: 74: Hoare triple {83347#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {83236#true} is VALID [2022-04-08 08:36:19,203 INFO L290 TraceCheckUtils]: 75: Hoare triple {83236#true} assume 0 != ~compRegistered~0; {83236#true} is VALID [2022-04-08 08:36:19,204 INFO L272 TraceCheckUtils]: 76: Hoare triple {83236#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {83359#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:36:19,204 INFO L290 TraceCheckUtils]: 77: Hoare triple {83359#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {83236#true} is VALID [2022-04-08 08:36:19,205 INFO L272 TraceCheckUtils]: 78: Hoare triple {83236#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {83359#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:36:19,205 INFO L290 TraceCheckUtils]: 79: Hoare triple {83359#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {83236#true} is VALID [2022-04-08 08:36:19,205 INFO L290 TraceCheckUtils]: 80: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:19,205 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {83236#true} {83236#true} #1174#return; {83236#true} is VALID [2022-04-08 08:36:19,205 INFO L290 TraceCheckUtils]: 82: Hoare triple {83236#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {83236#true} is VALID [2022-04-08 08:36:19,205 INFO L290 TraceCheckUtils]: 83: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:19,205 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {83236#true} {83236#true} #1210#return; {83236#true} is VALID [2022-04-08 08:36:19,205 INFO L290 TraceCheckUtils]: 85: Hoare triple {83236#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {83236#true} is VALID [2022-04-08 08:36:19,205 INFO L290 TraceCheckUtils]: 86: Hoare triple {83236#true} assume -1073741802 == ~compRetStatus~0; {83236#true} is VALID [2022-04-08 08:36:19,205 INFO L272 TraceCheckUtils]: 87: Hoare triple {83236#true} call stubMoreProcessingRequired(); {83363#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:36:19,206 INFO L290 TraceCheckUtils]: 88: Hoare triple {83363#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {83236#true} is VALID [2022-04-08 08:36:19,206 INFO L290 TraceCheckUtils]: 89: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:19,206 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {83236#true} {83236#true} #1212#return; {83236#true} is VALID [2022-04-08 08:36:19,206 INFO L290 TraceCheckUtils]: 91: Hoare triple {83236#true} assume !(0 == ~__BLAST_NONDET~11); {83236#true} is VALID [2022-04-08 08:36:19,206 INFO L290 TraceCheckUtils]: 92: Hoare triple {83236#true} assume !(1 == ~__BLAST_NONDET~11); {83236#true} is VALID [2022-04-08 08:36:19,206 INFO L290 TraceCheckUtils]: 93: Hoare triple {83236#true} ~returnVal2~0 := 259; {83236#true} is VALID [2022-04-08 08:36:19,206 INFO L290 TraceCheckUtils]: 94: Hoare triple {83236#true} assume !(~s~0 == ~NP~0); {83236#true} is VALID [2022-04-08 08:36:19,206 INFO L290 TraceCheckUtils]: 95: Hoare triple {83236#true} assume ~s~0 == ~MPR1~0; {83236#true} is VALID [2022-04-08 08:36:19,206 INFO L290 TraceCheckUtils]: 96: Hoare triple {83236#true} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := ~returnVal2~0; {83236#true} is VALID [2022-04-08 08:36:19,206 INFO L290 TraceCheckUtils]: 97: Hoare triple {83236#true} #res := ~returnVal2~0; {83236#true} is VALID [2022-04-08 08:36:19,206 INFO L290 TraceCheckUtils]: 98: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:19,206 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {83236#true} {83237#false} #1192#return; {83237#false} is VALID [2022-04-08 08:36:19,206 INFO L290 TraceCheckUtils]: 100: Hoare triple {83237#false} assume -2147483648 <= #t~ret109 && #t~ret109 <= 2147483647;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {83237#false} is VALID [2022-04-08 08:36:19,206 INFO L290 TraceCheckUtils]: 101: Hoare triple {83237#false} assume 259 == ~status~3; {83237#false} is VALID [2022-04-08 08:36:19,206 INFO L272 TraceCheckUtils]: 102: Hoare triple {83237#false} call #t~ret110 := KeWaitForSingleObject(~#event~1.base, ~#event~1.offset, 0, 0, 0, 0, 0); {83364#(and (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:36:19,206 INFO L290 TraceCheckUtils]: 103: Hoare triple {83364#(and (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~s~0 |old(~s~0)|))} ~Object.base, ~Object.offset := #in~Object.base, #in~Object.offset;~WaitReason := #in~WaitReason;~WaitMode := #in~WaitMode;~Alertable := #in~Alertable;~Timeout.base, ~Timeout.offset := #in~Timeout.base, #in~Timeout.offset;assume -2147483648 <= #t~nondet200 && #t~nondet200 <= 2147483647;~__BLAST_NONDET~13 := #t~nondet200;havoc #t~nondet200; {83236#true} is VALID [2022-04-08 08:36:19,206 INFO L290 TraceCheckUtils]: 104: Hoare triple {83236#true} assume !(~s~0 == ~MPR3~0); {83236#true} is VALID [2022-04-08 08:36:19,206 INFO L290 TraceCheckUtils]: 105: Hoare triple {83236#true} assume !(1 == ~customIrp~0); {83236#true} is VALID [2022-04-08 08:36:19,206 INFO L290 TraceCheckUtils]: 106: Hoare triple {83236#true} assume !(~s~0 == ~MPR3~0); {83236#true} is VALID [2022-04-08 08:36:19,206 INFO L290 TraceCheckUtils]: 107: Hoare triple {83236#true} assume 0 == ~__BLAST_NONDET~13; {83236#true} is VALID [2022-04-08 08:36:19,207 INFO L290 TraceCheckUtils]: 108: Hoare triple {83236#true} #res := 0; {83236#true} is VALID [2022-04-08 08:36:19,207 INFO L290 TraceCheckUtils]: 109: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:19,207 INFO L284 TraceCheckUtils]: 110: Hoare quadruple {83236#true} {83237#false} #1194#return; {83237#false} is VALID [2022-04-08 08:36:19,207 INFO L290 TraceCheckUtils]: 111: Hoare triple {83237#false} assume -2147483648 <= #t~ret110 && #t~ret110 <= 2147483647;havoc #t~ret110; {83237#false} is VALID [2022-04-08 08:36:19,207 INFO L290 TraceCheckUtils]: 112: Hoare triple {83237#false} assume ~status~3 >= 0; {83237#false} is VALID [2022-04-08 08:36:19,207 INFO L290 TraceCheckUtils]: 113: Hoare triple {83237#false} assume !(~myStatus~0 >= 0); {83237#false} is VALID [2022-04-08 08:36:19,207 INFO L290 TraceCheckUtils]: 114: Hoare triple {83237#false} call write~int(~status~3, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~3;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4); {83237#false} is VALID [2022-04-08 08:36:19,207 INFO L272 TraceCheckUtils]: 115: Hoare triple {83237#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {83237#false} is VALID [2022-04-08 08:36:19,207 INFO L290 TraceCheckUtils]: 116: Hoare triple {83237#false} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {83237#false} is VALID [2022-04-08 08:36:19,207 INFO L290 TraceCheckUtils]: 117: Hoare triple {83237#false} assume !(~s~0 == ~NP~0); {83237#false} is VALID [2022-04-08 08:36:19,207 INFO L272 TraceCheckUtils]: 118: Hoare triple {83237#false} call errorFn(); {83237#false} is VALID [2022-04-08 08:36:19,207 INFO L290 TraceCheckUtils]: 119: Hoare triple {83237#false} assume !false; {83237#false} is VALID [2022-04-08 08:36:19,207 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 08:36:19,207 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:36:19,208 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [722501448] [2022-04-08 08:36:19,208 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [722501448] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 08:36:19,208 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [856458229] [2022-04-08 08:36:19,208 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 08:36:19,208 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 08:36:19,208 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 08:36:19,209 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 08:36:19,210 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-08 08:36:20,226 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 08:36:20,226 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 08:36:20,233 INFO L263 TraceCheckSpWp]: Trace formula consists of 1824 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 08:36:20,268 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:20,271 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 08:36:20,600 INFO L272 TraceCheckUtils]: 0: Hoare triple {83236#true} call ULTIMATE.init(); {83236#true} is VALID [2022-04-08 08:36:20,601 INFO L290 TraceCheckUtils]: 1: Hoare triple {83236#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {83236#true} is VALID [2022-04-08 08:36:20,601 INFO L290 TraceCheckUtils]: 2: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:20,601 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {83236#true} {83236#true} #1270#return; {83236#true} is VALID [2022-04-08 08:36:20,601 INFO L272 TraceCheckUtils]: 4: Hoare triple {83236#true} call #t~ret213 := main(); {83236#true} is VALID [2022-04-08 08:36:20,601 INFO L290 TraceCheckUtils]: 5: Hoare triple {83236#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {83236#true} is VALID [2022-04-08 08:36:20,601 INFO L272 TraceCheckUtils]: 6: Hoare triple {83236#true} call _BLAST_init(); {83236#true} is VALID [2022-04-08 08:36:20,601 INFO L290 TraceCheckUtils]: 7: Hoare triple {83236#true} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {83236#true} is VALID [2022-04-08 08:36:20,601 INFO L290 TraceCheckUtils]: 8: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:20,601 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {83236#true} {83236#true} #1216#return; {83236#true} is VALID [2022-04-08 08:36:20,601 INFO L272 TraceCheckUtils]: 10: Hoare triple {83236#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {83236#true} is VALID [2022-04-08 08:36:20,601 INFO L290 TraceCheckUtils]: 11: Hoare triple {83236#true} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {83236#true} is VALID [2022-04-08 08:36:20,601 INFO L272 TraceCheckUtils]: 12: Hoare triple {83236#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {83236#true} is VALID [2022-04-08 08:36:20,601 INFO L290 TraceCheckUtils]: 13: Hoare triple {83236#true} ~cond := #in~cond; {83236#true} is VALID [2022-04-08 08:36:20,601 INFO L290 TraceCheckUtils]: 14: Hoare triple {83236#true} assume !(0 == ~cond); {83236#true} is VALID [2022-04-08 08:36:20,601 INFO L290 TraceCheckUtils]: 15: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:20,601 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {83236#true} {83236#true} #1254#return; {83236#true} is VALID [2022-04-08 08:36:20,601 INFO L290 TraceCheckUtils]: 17: Hoare triple {83236#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {83236#true} is VALID [2022-04-08 08:36:20,601 INFO L290 TraceCheckUtils]: 18: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:20,602 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {83236#true} {83236#true} #1218#return; {83236#true} is VALID [2022-04-08 08:36:20,602 INFO L290 TraceCheckUtils]: 20: Hoare triple {83236#true} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {83236#true} is VALID [2022-04-08 08:36:20,602 INFO L290 TraceCheckUtils]: 21: Hoare triple {83236#true} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {83236#true} is VALID [2022-04-08 08:36:20,602 INFO L290 TraceCheckUtils]: 22: Hoare triple {83236#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {83236#true} is VALID [2022-04-08 08:36:20,602 INFO L272 TraceCheckUtils]: 23: Hoare triple {83236#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {83236#true} is VALID [2022-04-08 08:36:20,602 INFO L290 TraceCheckUtils]: 24: Hoare triple {83236#true} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {83236#true} is VALID [2022-04-08 08:36:20,602 INFO L272 TraceCheckUtils]: 25: Hoare triple {83236#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {83236#true} is VALID [2022-04-08 08:36:20,602 INFO L290 TraceCheckUtils]: 26: Hoare triple {83236#true} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {83236#true} is VALID [2022-04-08 08:36:20,602 INFO L290 TraceCheckUtils]: 27: Hoare triple {83236#true} assume 0 == ~__BLAST_NONDET~5; {83236#true} is VALID [2022-04-08 08:36:20,602 INFO L290 TraceCheckUtils]: 28: Hoare triple {83236#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {83236#true} is VALID [2022-04-08 08:36:20,602 INFO L290 TraceCheckUtils]: 29: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:20,602 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {83236#true} {83236#true} #1176#return; {83236#true} is VALID [2022-04-08 08:36:20,602 INFO L290 TraceCheckUtils]: 31: Hoare triple {83236#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {83236#true} is VALID [2022-04-08 08:36:20,602 INFO L290 TraceCheckUtils]: 32: Hoare triple {83236#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {83236#true} is VALID [2022-04-08 08:36:20,602 INFO L272 TraceCheckUtils]: 33: Hoare triple {83236#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {83236#true} is VALID [2022-04-08 08:36:20,602 INFO L290 TraceCheckUtils]: 34: Hoare triple {83236#true} #t~loopctr214 := 0; {83236#true} is VALID [2022-04-08 08:36:20,602 INFO L290 TraceCheckUtils]: 35: Hoare triple {83236#true} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {83236#true} is VALID [2022-04-08 08:36:20,602 INFO L290 TraceCheckUtils]: 36: Hoare triple {83236#true} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {83236#true} is VALID [2022-04-08 08:36:20,602 INFO L290 TraceCheckUtils]: 37: Hoare triple {83236#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {83236#true} is VALID [2022-04-08 08:36:20,603 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {83236#true} {83236#true} #1178#return; {83236#true} is VALID [2022-04-08 08:36:20,603 INFO L290 TraceCheckUtils]: 39: Hoare triple {83236#true} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {83236#true} is VALID [2022-04-08 08:36:20,603 INFO L272 TraceCheckUtils]: 40: Hoare triple {83236#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {83236#true} is VALID [2022-04-08 08:36:20,603 INFO L290 TraceCheckUtils]: 41: Hoare triple {83236#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {83236#true} is VALID [2022-04-08 08:36:20,603 INFO L290 TraceCheckUtils]: 42: Hoare triple {83236#true} assume 0 == ~__BLAST_NONDET~2; {83236#true} is VALID [2022-04-08 08:36:20,603 INFO L290 TraceCheckUtils]: 43: Hoare triple {83236#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {83236#true} is VALID [2022-04-08 08:36:20,603 INFO L290 TraceCheckUtils]: 44: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:20,603 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {83236#true} {83236#true} #1180#return; {83236#true} is VALID [2022-04-08 08:36:20,603 INFO L290 TraceCheckUtils]: 46: Hoare triple {83236#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {83236#true} is VALID [2022-04-08 08:36:20,603 INFO L290 TraceCheckUtils]: 47: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:20,603 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {83236#true} {83236#true} #1220#return; {83236#true} is VALID [2022-04-08 08:36:20,603 INFO L290 TraceCheckUtils]: 49: Hoare triple {83236#true} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {83236#true} is VALID [2022-04-08 08:36:20,603 INFO L272 TraceCheckUtils]: 50: Hoare triple {83236#true} call stub_driver_init(); {83236#true} is VALID [2022-04-08 08:36:20,603 INFO L290 TraceCheckUtils]: 51: Hoare triple {83236#true} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {83236#true} is VALID [2022-04-08 08:36:20,603 INFO L290 TraceCheckUtils]: 52: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:20,603 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {83236#true} {83236#true} #1222#return; {83236#true} is VALID [2022-04-08 08:36:20,603 INFO L290 TraceCheckUtils]: 54: Hoare triple {83236#true} assume !!(~status~5 >= 0); {83236#true} is VALID [2022-04-08 08:36:20,603 INFO L290 TraceCheckUtils]: 55: Hoare triple {83236#true} assume !(0 == ~__BLAST_NONDET~0); {83236#true} is VALID [2022-04-08 08:36:20,603 INFO L290 TraceCheckUtils]: 56: Hoare triple {83236#true} assume !(1 == ~__BLAST_NONDET~0); {83236#true} is VALID [2022-04-08 08:36:20,603 INFO L290 TraceCheckUtils]: 57: Hoare triple {83236#true} assume !(2 == ~__BLAST_NONDET~0); {83236#true} is VALID [2022-04-08 08:36:20,604 INFO L290 TraceCheckUtils]: 58: Hoare triple {83236#true} assume 3 == ~__BLAST_NONDET~0; {83236#true} is VALID [2022-04-08 08:36:20,604 INFO L272 TraceCheckUtils]: 59: Hoare triple {83236#true} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {83236#true} is VALID [2022-04-08 08:36:20,604 INFO L290 TraceCheckUtils]: 60: Hoare triple {83236#true} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~devExt~3.base, ~devExt~3.offset;havoc ~irpStack~3.base, ~irpStack~3.offset;havoc ~status~3;call ~#event~1.base, ~#event~1.offset := #Ultimate.allocOnStack(16);havoc ~irpSp~0.base, ~irpSp~0.offset;havoc ~nextIrpSp~0.base, ~nextIrpSp~0.offset;havoc ~irpSp___0~0.base, ~irpSp___0~0.offset;~status~3 := 0;call #t~mem79.base, #t~mem79.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~3.base, ~devExt~3.offset := #t~mem79.base, #t~mem79.offset;havoc #t~mem79.base, #t~mem79.offset;call #t~mem80.base, #t~mem80.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~3.base, ~irpStack~3.offset := #t~mem80.base, #t~mem80.offset;havoc #t~mem80.base, #t~mem80.offset;call #t~mem81 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {83236#true} is VALID [2022-04-08 08:36:20,604 INFO L290 TraceCheckUtils]: 61: Hoare triple {83236#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {83236#true} is VALID [2022-04-08 08:36:20,604 INFO L290 TraceCheckUtils]: 62: Hoare triple {83236#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp~0.base, ~irpSp~0.offset := #t~mem102.base, #t~mem102.offset;havoc #t~mem102.base, #t~mem102.offset;call #t~mem103.base, #t~mem103.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 36;havoc #t~mem103.base, #t~mem103.offset; {83236#true} is VALID [2022-04-08 08:36:20,604 INFO L272 TraceCheckUtils]: 63: Hoare triple {83236#true} call #t~memmove~res104.base, #t~memmove~res104.offset := #Ultimate.C_memmove(~nextIrpSp~0.base, ~nextIrpSp~0.offset, ~irpSp~0.base, ~irpSp~0.offset, 28); {83236#true} is VALID [2022-04-08 08:36:20,604 INFO L290 TraceCheckUtils]: 64: Hoare triple {83236#true} #t~loopctr215 := 0; {83236#true} is VALID [2022-04-08 08:36:20,604 INFO L290 TraceCheckUtils]: 65: Hoare triple {83236#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {83236#true} is VALID [2022-04-08 08:36:20,604 INFO L290 TraceCheckUtils]: 66: Hoare triple {83236#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {83236#true} is VALID [2022-04-08 08:36:20,604 INFO L290 TraceCheckUtils]: 67: Hoare triple {83236#true} assume #res.base == dest.base && #res.offset == dest.offset; {83236#true} is VALID [2022-04-08 08:36:20,604 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {83236#true} {83236#true} #1186#return; {83236#true} is VALID [2022-04-08 08:36:20,604 INFO L290 TraceCheckUtils]: 69: Hoare triple {83236#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {83236#true} is VALID [2022-04-08 08:36:20,604 INFO L290 TraceCheckUtils]: 70: Hoare triple {83236#true} assume !(~s~0 != ~NP~0); {83236#true} is VALID [2022-04-08 08:36:20,604 INFO L290 TraceCheckUtils]: 71: Hoare triple {83236#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {83236#true} is VALID [2022-04-08 08:36:20,604 INFO L290 TraceCheckUtils]: 72: Hoare triple {83236#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 36;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 28 + ~irpSp___0~0.offset, 4);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 32 + ~irpSp___0~0.offset, 4);call write~int(0, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(64, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call #t~mem106 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem106 % 256, 128), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem106;call #t~mem107 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem107 % 256, 32), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem107;call #t~mem108.base, #t~mem108.offset := read~$Pointer$(~devExt~3.base, 8 + ~devExt~3.offset, 4); {83236#true} is VALID [2022-04-08 08:36:20,604 INFO L272 TraceCheckUtils]: 73: Hoare triple {83236#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {83236#true} is VALID [2022-04-08 08:36:20,604 INFO L290 TraceCheckUtils]: 74: Hoare triple {83236#true} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {83236#true} is VALID [2022-04-08 08:36:20,604 INFO L290 TraceCheckUtils]: 75: Hoare triple {83236#true} assume 0 != ~compRegistered~0; {83236#true} is VALID [2022-04-08 08:36:20,604 INFO L272 TraceCheckUtils]: 76: Hoare triple {83236#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {83236#true} is VALID [2022-04-08 08:36:20,605 INFO L290 TraceCheckUtils]: 77: Hoare triple {83236#true} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {83236#true} is VALID [2022-04-08 08:36:20,605 INFO L272 TraceCheckUtils]: 78: Hoare triple {83236#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {83236#true} is VALID [2022-04-08 08:36:20,605 INFO L290 TraceCheckUtils]: 79: Hoare triple {83236#true} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {83236#true} is VALID [2022-04-08 08:36:20,605 INFO L290 TraceCheckUtils]: 80: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:20,605 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {83236#true} {83236#true} #1174#return; {83236#true} is VALID [2022-04-08 08:36:20,605 INFO L290 TraceCheckUtils]: 82: Hoare triple {83236#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {83236#true} is VALID [2022-04-08 08:36:20,605 INFO L290 TraceCheckUtils]: 83: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:20,605 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {83236#true} {83236#true} #1210#return; {83236#true} is VALID [2022-04-08 08:36:20,605 INFO L290 TraceCheckUtils]: 85: Hoare triple {83236#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {83236#true} is VALID [2022-04-08 08:36:20,605 INFO L290 TraceCheckUtils]: 86: Hoare triple {83236#true} assume -1073741802 == ~compRetStatus~0; {83236#true} is VALID [2022-04-08 08:36:20,605 INFO L272 TraceCheckUtils]: 87: Hoare triple {83236#true} call stubMoreProcessingRequired(); {83236#true} is VALID [2022-04-08 08:36:20,605 INFO L290 TraceCheckUtils]: 88: Hoare triple {83236#true} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {83236#true} is VALID [2022-04-08 08:36:20,605 INFO L290 TraceCheckUtils]: 89: Hoare triple {83236#true} assume true; {83236#true} is VALID [2022-04-08 08:36:20,605 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {83236#true} {83236#true} #1212#return; {83236#true} is VALID [2022-04-08 08:36:20,605 INFO L290 TraceCheckUtils]: 91: Hoare triple {83236#true} assume !(0 == ~__BLAST_NONDET~11); {83236#true} is VALID [2022-04-08 08:36:20,605 INFO L290 TraceCheckUtils]: 92: Hoare triple {83236#true} assume !(1 == ~__BLAST_NONDET~11); {83236#true} is VALID [2022-04-08 08:36:20,605 INFO L290 TraceCheckUtils]: 93: Hoare triple {83236#true} ~returnVal2~0 := 259; {83236#true} is VALID [2022-04-08 08:36:20,605 INFO L290 TraceCheckUtils]: 94: Hoare triple {83236#true} assume !(~s~0 == ~NP~0); {83236#true} is VALID [2022-04-08 08:36:20,605 INFO L290 TraceCheckUtils]: 95: Hoare triple {83236#true} assume ~s~0 == ~MPR1~0; {83236#true} is VALID [2022-04-08 08:36:20,606 INFO L290 TraceCheckUtils]: 96: Hoare triple {83236#true} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := ~returnVal2~0; {83656#(= ~MPR3~0 ~s~0)} is VALID [2022-04-08 08:36:20,606 INFO L290 TraceCheckUtils]: 97: Hoare triple {83656#(= ~MPR3~0 ~s~0)} #res := ~returnVal2~0; {83656#(= ~MPR3~0 ~s~0)} is VALID [2022-04-08 08:36:20,606 INFO L290 TraceCheckUtils]: 98: Hoare triple {83656#(= ~MPR3~0 ~s~0)} assume true; {83656#(= ~MPR3~0 ~s~0)} is VALID [2022-04-08 08:36:20,607 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {83656#(= ~MPR3~0 ~s~0)} {83236#true} #1192#return; {83656#(= ~MPR3~0 ~s~0)} is VALID [2022-04-08 08:36:20,607 INFO L290 TraceCheckUtils]: 100: Hoare triple {83656#(= ~MPR3~0 ~s~0)} assume -2147483648 <= #t~ret109 && #t~ret109 <= 2147483647;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {83656#(= ~MPR3~0 ~s~0)} is VALID [2022-04-08 08:36:20,607 INFO L290 TraceCheckUtils]: 101: Hoare triple {83656#(= ~MPR3~0 ~s~0)} assume 259 == ~status~3; {83656#(= ~MPR3~0 ~s~0)} is VALID [2022-04-08 08:36:20,608 INFO L272 TraceCheckUtils]: 102: Hoare triple {83656#(= ~MPR3~0 ~s~0)} call #t~ret110 := KeWaitForSingleObject(~#event~1.base, ~#event~1.offset, 0, 0, 0, 0, 0); {83363#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:36:20,608 INFO L290 TraceCheckUtils]: 103: Hoare triple {83363#(= ~s~0 |old(~s~0)|)} ~Object.base, ~Object.offset := #in~Object.base, #in~Object.offset;~WaitReason := #in~WaitReason;~WaitMode := #in~WaitMode;~Alertable := #in~Alertable;~Timeout.base, ~Timeout.offset := #in~Timeout.base, #in~Timeout.offset;assume -2147483648 <= #t~nondet200 && #t~nondet200 <= 2147483647;~__BLAST_NONDET~13 := #t~nondet200;havoc #t~nondet200; {83363#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:36:20,609 INFO L290 TraceCheckUtils]: 104: Hoare triple {83363#(= ~s~0 |old(~s~0)|)} assume !(~s~0 == ~MPR3~0); {83681#(and (= ~s~0 |old(~s~0)|) (not (= ~MPR3~0 ~s~0)))} is VALID [2022-04-08 08:36:20,609 INFO L290 TraceCheckUtils]: 105: Hoare triple {83681#(and (= ~s~0 |old(~s~0)|) (not (= ~MPR3~0 ~s~0)))} assume !(1 == ~customIrp~0); {83681#(and (= ~s~0 |old(~s~0)|) (not (= ~MPR3~0 ~s~0)))} is VALID [2022-04-08 08:36:20,609 INFO L290 TraceCheckUtils]: 106: Hoare triple {83681#(and (= ~s~0 |old(~s~0)|) (not (= ~MPR3~0 ~s~0)))} assume !(~s~0 == ~MPR3~0); {83681#(and (= ~s~0 |old(~s~0)|) (not (= ~MPR3~0 ~s~0)))} is VALID [2022-04-08 08:36:20,609 INFO L290 TraceCheckUtils]: 107: Hoare triple {83681#(and (= ~s~0 |old(~s~0)|) (not (= ~MPR3~0 ~s~0)))} assume 0 == ~__BLAST_NONDET~13; {83681#(and (= ~s~0 |old(~s~0)|) (not (= ~MPR3~0 ~s~0)))} is VALID [2022-04-08 08:36:20,610 INFO L290 TraceCheckUtils]: 108: Hoare triple {83681#(and (= ~s~0 |old(~s~0)|) (not (= ~MPR3~0 ~s~0)))} #res := 0; {83681#(and (= ~s~0 |old(~s~0)|) (not (= ~MPR3~0 ~s~0)))} is VALID [2022-04-08 08:36:20,610 INFO L290 TraceCheckUtils]: 109: Hoare triple {83681#(and (= ~s~0 |old(~s~0)|) (not (= ~MPR3~0 ~s~0)))} assume true; {83681#(and (= ~s~0 |old(~s~0)|) (not (= ~MPR3~0 ~s~0)))} is VALID [2022-04-08 08:36:20,611 INFO L284 TraceCheckUtils]: 110: Hoare quadruple {83681#(and (= ~s~0 |old(~s~0)|) (not (= ~MPR3~0 ~s~0)))} {83656#(= ~MPR3~0 ~s~0)} #1194#return; {83237#false} is VALID [2022-04-08 08:36:20,611 INFO L290 TraceCheckUtils]: 111: Hoare triple {83237#false} assume -2147483648 <= #t~ret110 && #t~ret110 <= 2147483647;havoc #t~ret110; {83237#false} is VALID [2022-04-08 08:36:20,611 INFO L290 TraceCheckUtils]: 112: Hoare triple {83237#false} assume ~status~3 >= 0; {83237#false} is VALID [2022-04-08 08:36:20,611 INFO L290 TraceCheckUtils]: 113: Hoare triple {83237#false} assume !(~myStatus~0 >= 0); {83237#false} is VALID [2022-04-08 08:36:20,611 INFO L290 TraceCheckUtils]: 114: Hoare triple {83237#false} call write~int(~status~3, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~3;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4); {83237#false} is VALID [2022-04-08 08:36:20,611 INFO L272 TraceCheckUtils]: 115: Hoare triple {83237#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {83237#false} is VALID [2022-04-08 08:36:20,611 INFO L290 TraceCheckUtils]: 116: Hoare triple {83237#false} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {83237#false} is VALID [2022-04-08 08:36:20,611 INFO L290 TraceCheckUtils]: 117: Hoare triple {83237#false} assume !(~s~0 == ~NP~0); {83237#false} is VALID [2022-04-08 08:36:20,611 INFO L272 TraceCheckUtils]: 118: Hoare triple {83237#false} call errorFn(); {83237#false} is VALID [2022-04-08 08:36:20,611 INFO L290 TraceCheckUtils]: 119: Hoare triple {83237#false} assume !false; {83237#false} is VALID [2022-04-08 08:36:20,612 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 08:36:20,612 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 08:36:20,612 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [856458229] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:36:20,612 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 08:36:20,612 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [14] total 16 [2022-04-08 08:36:20,612 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:36:20,612 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1626154661] [2022-04-08 08:36:20,612 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1626154661] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:36:20,612 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:36:20,612 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 08:36:20,612 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1384399444] [2022-04-08 08:36:20,612 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:36:20,613 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 17.2) internal successors, (86), 5 states have internal predecessors, (86), 3 states have call successors, (19), 3 states have call predecessors, (19), 3 states have return successors, (15), 3 states have call predecessors, (15), 2 states have call successors, (15) Word has length 120 [2022-04-08 08:36:20,613 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:36:20,613 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 17.2) internal successors, (86), 5 states have internal predecessors, (86), 3 states have call successors, (19), 3 states have call predecessors, (19), 3 states have return successors, (15), 3 states have call predecessors, (15), 2 states have call successors, (15) [2022-04-08 08:36:20,690 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 120 edges. 120 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:36:20,690 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 08:36:20,690 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:36:20,690 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 08:36:20,690 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=190, Unknown=0, NotChecked=0, Total=240 [2022-04-08 08:36:20,690 INFO L87 Difference]: Start difference. First operand 338 states and 377 transitions. Second operand has 5 states, 5 states have (on average 17.2) internal successors, (86), 5 states have internal predecessors, (86), 3 states have call successors, (19), 3 states have call predecessors, (19), 3 states have return successors, (15), 3 states have call predecessors, (15), 2 states have call successors, (15) [2022-04-08 08:36:26,664 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:36:26,664 INFO L93 Difference]: Finished difference Result 378 states and 421 transitions. [2022-04-08 08:36:26,664 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 08:36:26,664 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 17.2) internal successors, (86), 5 states have internal predecessors, (86), 3 states have call successors, (19), 3 states have call predecessors, (19), 3 states have return successors, (15), 3 states have call predecessors, (15), 2 states have call successors, (15) Word has length 120 [2022-04-08 08:36:26,665 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:36:26,665 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 17.2) internal successors, (86), 5 states have internal predecessors, (86), 3 states have call successors, (19), 3 states have call predecessors, (19), 3 states have return successors, (15), 3 states have call predecessors, (15), 2 states have call successors, (15) [2022-04-08 08:36:26,666 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 212 transitions. [2022-04-08 08:36:26,666 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 17.2) internal successors, (86), 5 states have internal predecessors, (86), 3 states have call successors, (19), 3 states have call predecessors, (19), 3 states have return successors, (15), 3 states have call predecessors, (15), 2 states have call successors, (15) [2022-04-08 08:36:26,667 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 212 transitions. [2022-04-08 08:36:26,667 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 212 transitions. [2022-04-08 08:36:26,801 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 212 edges. 212 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:36:26,806 INFO L225 Difference]: With dead ends: 378 [2022-04-08 08:36:26,806 INFO L226 Difference]: Without dead ends: 313 [2022-04-08 08:36:26,806 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 156 GetRequests, 141 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 33 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=54, Invalid=218, Unknown=0, NotChecked=0, Total=272 [2022-04-08 08:36:26,806 INFO L913 BasicCegarLoop]: 159 mSDtfsCounter, 69 mSDsluCounter, 204 mSDsCounter, 0 mSdLazyCounter, 211 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 76 SdHoareTripleChecker+Valid, 363 SdHoareTripleChecker+Invalid, 233 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 211 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-08 08:36:26,807 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [76 Valid, 363 Invalid, 233 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 211 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-08 08:36:26,807 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 313 states. [2022-04-08 08:36:27,491 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 313 to 291. [2022-04-08 08:36:27,492 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:36:27,492 INFO L82 GeneralOperation]: Start isEquivalent. First operand 313 states. Second operand has 291 states, 223 states have (on average 1.1210762331838564) internal successors, (250), 225 states have internal predecessors, (250), 33 states have call successors, (33), 33 states have call predecessors, (33), 34 states have return successors, (35), 32 states have call predecessors, (35), 31 states have call successors, (35) [2022-04-08 08:36:27,492 INFO L74 IsIncluded]: Start isIncluded. First operand 313 states. Second operand has 291 states, 223 states have (on average 1.1210762331838564) internal successors, (250), 225 states have internal predecessors, (250), 33 states have call successors, (33), 33 states have call predecessors, (33), 34 states have return successors, (35), 32 states have call predecessors, (35), 31 states have call successors, (35) [2022-04-08 08:36:27,492 INFO L87 Difference]: Start difference. First operand 313 states. Second operand has 291 states, 223 states have (on average 1.1210762331838564) internal successors, (250), 225 states have internal predecessors, (250), 33 states have call successors, (33), 33 states have call predecessors, (33), 34 states have return successors, (35), 32 states have call predecessors, (35), 31 states have call successors, (35) [2022-04-08 08:36:27,496 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:36:27,496 INFO L93 Difference]: Finished difference Result 313 states and 343 transitions. [2022-04-08 08:36:27,496 INFO L276 IsEmpty]: Start isEmpty. Operand 313 states and 343 transitions. [2022-04-08 08:36:27,496 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:36:27,496 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:36:27,499 INFO L74 IsIncluded]: Start isIncluded. First operand has 291 states, 223 states have (on average 1.1210762331838564) internal successors, (250), 225 states have internal predecessors, (250), 33 states have call successors, (33), 33 states have call predecessors, (33), 34 states have return successors, (35), 32 states have call predecessors, (35), 31 states have call successors, (35) Second operand 313 states. [2022-04-08 08:36:27,499 INFO L87 Difference]: Start difference. First operand has 291 states, 223 states have (on average 1.1210762331838564) internal successors, (250), 225 states have internal predecessors, (250), 33 states have call successors, (33), 33 states have call predecessors, (33), 34 states have return successors, (35), 32 states have call predecessors, (35), 31 states have call successors, (35) Second operand 313 states. [2022-04-08 08:36:27,518 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:36:27,519 INFO L93 Difference]: Finished difference Result 313 states and 343 transitions. [2022-04-08 08:36:27,519 INFO L276 IsEmpty]: Start isEmpty. Operand 313 states and 343 transitions. [2022-04-08 08:36:27,519 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:36:27,519 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:36:27,519 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:36:27,519 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:36:27,519 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 291 states, 223 states have (on average 1.1210762331838564) internal successors, (250), 225 states have internal predecessors, (250), 33 states have call successors, (33), 33 states have call predecessors, (33), 34 states have return successors, (35), 32 states have call predecessors, (35), 31 states have call successors, (35) [2022-04-08 08:36:27,523 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 291 states to 291 states and 318 transitions. [2022-04-08 08:36:27,523 INFO L78 Accepts]: Start accepts. Automaton has 291 states and 318 transitions. Word has length 120 [2022-04-08 08:36:27,524 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:36:27,524 INFO L478 AbstractCegarLoop]: Abstraction has 291 states and 318 transitions. [2022-04-08 08:36:27,524 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 17.2) internal successors, (86), 5 states have internal predecessors, (86), 3 states have call successors, (19), 3 states have call predecessors, (19), 3 states have return successors, (15), 3 states have call predecessors, (15), 2 states have call successors, (15) [2022-04-08 08:36:27,524 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 291 states and 318 transitions. [2022-04-08 08:36:28,339 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 318 edges. 318 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:36:28,339 INFO L276 IsEmpty]: Start isEmpty. Operand 291 states and 318 transitions. [2022-04-08 08:36:28,339 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 127 [2022-04-08 08:36:28,339 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:36:28,340 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:36:28,361 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-08 08:36:28,540 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable34 [2022-04-08 08:36:28,540 INFO L403 AbstractCegarLoop]: === Iteration 36 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:36:28,540 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:36:28,540 INFO L85 PathProgramCache]: Analyzing trace with hash -783486713, now seen corresponding path program 1 times [2022-04-08 08:36:28,540 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:36:28,541 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2104613106] [2022-04-08 08:36:28,542 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 4 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 08:36:28,542 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 08:36:28,542 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 08:36:28,542 INFO L85 PathProgramCache]: Analyzing trace with hash -783486713, now seen corresponding path program 2 times [2022-04-08 08:36:28,542 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:36:28,542 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [125505049] [2022-04-08 08:36:28,543 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:36:28,543 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:36:28,620 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:28,693 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:36:28,694 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:28,710 INFO L290 TraceCheckUtils]: 0: Hoare triple {85792#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {85693#true} is VALID [2022-04-08 08:36:28,710 INFO L290 TraceCheckUtils]: 1: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:28,710 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {85693#true} {85693#true} #1270#return; {85693#true} is VALID [2022-04-08 08:36:28,732 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:36:28,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:28,737 INFO L290 TraceCheckUtils]: 0: Hoare triple {85793#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {85693#true} is VALID [2022-04-08 08:36:28,737 INFO L290 TraceCheckUtils]: 1: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:28,737 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {85693#true} {85693#true} #1216#return; {85693#true} is VALID [2022-04-08 08:36:28,744 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:36:28,750 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:28,756 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:36:28,756 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:28,760 INFO L290 TraceCheckUtils]: 0: Hoare triple {85693#true} ~cond := #in~cond; {85693#true} is VALID [2022-04-08 08:36:28,761 INFO L290 TraceCheckUtils]: 1: Hoare triple {85693#true} assume !(0 == ~cond); {85693#true} is VALID [2022-04-08 08:36:28,761 INFO L290 TraceCheckUtils]: 2: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:28,761 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85693#true} {85693#true} #1254#return; {85693#true} is VALID [2022-04-08 08:36:28,761 INFO L290 TraceCheckUtils]: 0: Hoare triple {85794#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {85693#true} is VALID [2022-04-08 08:36:28,761 INFO L272 TraceCheckUtils]: 1: Hoare triple {85693#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {85693#true} is VALID [2022-04-08 08:36:28,761 INFO L290 TraceCheckUtils]: 2: Hoare triple {85693#true} ~cond := #in~cond; {85693#true} is VALID [2022-04-08 08:36:28,761 INFO L290 TraceCheckUtils]: 3: Hoare triple {85693#true} assume !(0 == ~cond); {85693#true} is VALID [2022-04-08 08:36:28,761 INFO L290 TraceCheckUtils]: 4: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:28,761 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {85693#true} {85693#true} #1254#return; {85693#true} is VALID [2022-04-08 08:36:28,761 INFO L290 TraceCheckUtils]: 6: Hoare triple {85693#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {85693#true} is VALID [2022-04-08 08:36:28,761 INFO L290 TraceCheckUtils]: 7: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:28,761 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {85693#true} {85693#true} #1218#return; {85693#true} is VALID [2022-04-08 08:36:28,773 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:36:28,785 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:28,793 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:36:28,796 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:28,802 INFO L290 TraceCheckUtils]: 0: Hoare triple {85799#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {85693#true} is VALID [2022-04-08 08:36:28,802 INFO L290 TraceCheckUtils]: 1: Hoare triple {85693#true} assume 0 == ~__BLAST_NONDET~5; {85693#true} is VALID [2022-04-08 08:36:28,802 INFO L290 TraceCheckUtils]: 2: Hoare triple {85693#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {85693#true} is VALID [2022-04-08 08:36:28,802 INFO L290 TraceCheckUtils]: 3: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:28,802 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {85693#true} {85693#true} #1176#return; {85693#true} is VALID [2022-04-08 08:36:28,802 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 08:36:28,810 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:28,815 INFO L290 TraceCheckUtils]: 0: Hoare triple {85794#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {85693#true} is VALID [2022-04-08 08:36:28,815 INFO L290 TraceCheckUtils]: 1: Hoare triple {85693#true} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {85693#true} is VALID [2022-04-08 08:36:28,815 INFO L290 TraceCheckUtils]: 2: Hoare triple {85693#true} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {85693#true} is VALID [2022-04-08 08:36:28,815 INFO L290 TraceCheckUtils]: 3: Hoare triple {85693#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {85693#true} is VALID [2022-04-08 08:36:28,815 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {85693#true} {85693#true} #1178#return; {85693#true} is VALID [2022-04-08 08:36:28,815 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-08 08:36:28,816 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:28,820 INFO L290 TraceCheckUtils]: 0: Hoare triple {85693#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {85693#true} is VALID [2022-04-08 08:36:28,820 INFO L290 TraceCheckUtils]: 1: Hoare triple {85693#true} assume 0 == ~__BLAST_NONDET~2; {85693#true} is VALID [2022-04-08 08:36:28,820 INFO L290 TraceCheckUtils]: 2: Hoare triple {85693#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {85693#true} is VALID [2022-04-08 08:36:28,821 INFO L290 TraceCheckUtils]: 3: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:28,821 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {85693#true} {85693#true} #1180#return; {85693#true} is VALID [2022-04-08 08:36:28,821 INFO L290 TraceCheckUtils]: 0: Hoare triple {85799#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {85693#true} is VALID [2022-04-08 08:36:28,822 INFO L272 TraceCheckUtils]: 1: Hoare triple {85693#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {85799#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:36:28,822 INFO L290 TraceCheckUtils]: 2: Hoare triple {85799#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {85693#true} is VALID [2022-04-08 08:36:28,822 INFO L290 TraceCheckUtils]: 3: Hoare triple {85693#true} assume 0 == ~__BLAST_NONDET~5; {85693#true} is VALID [2022-04-08 08:36:28,822 INFO L290 TraceCheckUtils]: 4: Hoare triple {85693#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {85693#true} is VALID [2022-04-08 08:36:28,822 INFO L290 TraceCheckUtils]: 5: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:28,822 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {85693#true} {85693#true} #1176#return; {85693#true} is VALID [2022-04-08 08:36:28,822 INFO L290 TraceCheckUtils]: 7: Hoare triple {85693#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {85693#true} is VALID [2022-04-08 08:36:28,822 INFO L290 TraceCheckUtils]: 8: Hoare triple {85693#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {85693#true} is VALID [2022-04-08 08:36:28,823 INFO L272 TraceCheckUtils]: 9: Hoare triple {85693#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {85794#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:36:28,823 INFO L290 TraceCheckUtils]: 10: Hoare triple {85794#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {85693#true} is VALID [2022-04-08 08:36:28,823 INFO L290 TraceCheckUtils]: 11: Hoare triple {85693#true} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {85693#true} is VALID [2022-04-08 08:36:28,823 INFO L290 TraceCheckUtils]: 12: Hoare triple {85693#true} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {85693#true} is VALID [2022-04-08 08:36:28,823 INFO L290 TraceCheckUtils]: 13: Hoare triple {85693#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {85693#true} is VALID [2022-04-08 08:36:28,823 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {85693#true} {85693#true} #1178#return; {85693#true} is VALID [2022-04-08 08:36:28,823 INFO L290 TraceCheckUtils]: 15: Hoare triple {85693#true} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {85693#true} is VALID [2022-04-08 08:36:28,823 INFO L272 TraceCheckUtils]: 16: Hoare triple {85693#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {85693#true} is VALID [2022-04-08 08:36:28,823 INFO L290 TraceCheckUtils]: 17: Hoare triple {85693#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {85693#true} is VALID [2022-04-08 08:36:28,823 INFO L290 TraceCheckUtils]: 18: Hoare triple {85693#true} assume 0 == ~__BLAST_NONDET~2; {85693#true} is VALID [2022-04-08 08:36:28,823 INFO L290 TraceCheckUtils]: 19: Hoare triple {85693#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {85693#true} is VALID [2022-04-08 08:36:28,823 INFO L290 TraceCheckUtils]: 20: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:28,823 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {85693#true} {85693#true} #1180#return; {85693#true} is VALID [2022-04-08 08:36:28,824 INFO L290 TraceCheckUtils]: 22: Hoare triple {85693#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {85693#true} is VALID [2022-04-08 08:36:28,824 INFO L290 TraceCheckUtils]: 23: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:28,824 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {85693#true} {85693#true} #1220#return; {85693#true} is VALID [2022-04-08 08:36:28,836 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-08 08:36:28,837 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:28,841 INFO L290 TraceCheckUtils]: 0: Hoare triple {85815#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {85693#true} is VALID [2022-04-08 08:36:28,841 INFO L290 TraceCheckUtils]: 1: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:28,841 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {85693#true} {85693#true} #1222#return; {85693#true} is VALID [2022-04-08 08:36:28,862 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 59 [2022-04-08 08:36:28,879 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:28,944 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-04-08 08:36:28,945 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:28,950 INFO L290 TraceCheckUtils]: 0: Hoare triple {85794#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {85693#true} is VALID [2022-04-08 08:36:28,950 INFO L290 TraceCheckUtils]: 1: Hoare triple {85693#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {85693#true} is VALID [2022-04-08 08:36:28,950 INFO L290 TraceCheckUtils]: 2: Hoare triple {85693#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {85693#true} is VALID [2022-04-08 08:36:28,950 INFO L290 TraceCheckUtils]: 3: Hoare triple {85693#true} assume #res.base == dest.base && #res.offset == dest.offset; {85693#true} is VALID [2022-04-08 08:36:28,950 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {85693#true} {85693#true} #1186#return; {85693#true} is VALID [2022-04-08 08:36:28,961 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 08:36:28,966 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:29,013 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 08:36:29,014 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:29,019 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:36:29,019 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:29,023 INFO L290 TraceCheckUtils]: 0: Hoare triple {85868#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {85693#true} is VALID [2022-04-08 08:36:29,023 INFO L290 TraceCheckUtils]: 1: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:29,023 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {85693#true} {85693#true} #1174#return; {85693#true} is VALID [2022-04-08 08:36:29,023 INFO L290 TraceCheckUtils]: 0: Hoare triple {85868#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {85693#true} is VALID [2022-04-08 08:36:29,024 INFO L272 TraceCheckUtils]: 1: Hoare triple {85693#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {85868#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:36:29,024 INFO L290 TraceCheckUtils]: 2: Hoare triple {85868#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {85693#true} is VALID [2022-04-08 08:36:29,024 INFO L290 TraceCheckUtils]: 3: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:29,024 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {85693#true} {85693#true} #1174#return; {85693#true} is VALID [2022-04-08 08:36:29,024 INFO L290 TraceCheckUtils]: 5: Hoare triple {85693#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {85693#true} is VALID [2022-04-08 08:36:29,024 INFO L290 TraceCheckUtils]: 6: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:29,024 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {85693#true} {85693#true} #1210#return; {85693#true} is VALID [2022-04-08 08:36:29,035 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 08:36:29,035 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:29,039 INFO L290 TraceCheckUtils]: 0: Hoare triple {85872#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {85693#true} is VALID [2022-04-08 08:36:29,039 INFO L290 TraceCheckUtils]: 1: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:29,039 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {85693#true} {85693#true} #1212#return; {85693#true} is VALID [2022-04-08 08:36:29,039 INFO L290 TraceCheckUtils]: 0: Hoare triple {85854#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {85693#true} is VALID [2022-04-08 08:36:29,039 INFO L290 TraceCheckUtils]: 1: Hoare triple {85693#true} assume 0 != ~compRegistered~0; {85693#true} is VALID [2022-04-08 08:36:29,040 INFO L272 TraceCheckUtils]: 2: Hoare triple {85693#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {85868#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:36:29,040 INFO L290 TraceCheckUtils]: 3: Hoare triple {85868#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {85693#true} is VALID [2022-04-08 08:36:29,040 INFO L272 TraceCheckUtils]: 4: Hoare triple {85693#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {85868#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:36:29,040 INFO L290 TraceCheckUtils]: 5: Hoare triple {85868#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {85693#true} is VALID [2022-04-08 08:36:29,041 INFO L290 TraceCheckUtils]: 6: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:29,041 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {85693#true} {85693#true} #1174#return; {85693#true} is VALID [2022-04-08 08:36:29,041 INFO L290 TraceCheckUtils]: 8: Hoare triple {85693#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {85693#true} is VALID [2022-04-08 08:36:29,041 INFO L290 TraceCheckUtils]: 9: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:29,041 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {85693#true} {85693#true} #1210#return; {85693#true} is VALID [2022-04-08 08:36:29,041 INFO L290 TraceCheckUtils]: 11: Hoare triple {85693#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {85693#true} is VALID [2022-04-08 08:36:29,041 INFO L290 TraceCheckUtils]: 12: Hoare triple {85693#true} assume -1073741802 == ~compRetStatus~0; {85693#true} is VALID [2022-04-08 08:36:29,041 INFO L272 TraceCheckUtils]: 13: Hoare triple {85693#true} call stubMoreProcessingRequired(); {85872#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:36:29,041 INFO L290 TraceCheckUtils]: 14: Hoare triple {85872#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {85693#true} is VALID [2022-04-08 08:36:29,041 INFO L290 TraceCheckUtils]: 15: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:29,041 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {85693#true} {85693#true} #1212#return; {85693#true} is VALID [2022-04-08 08:36:29,041 INFO L290 TraceCheckUtils]: 17: Hoare triple {85693#true} assume 0 == ~__BLAST_NONDET~11; {85693#true} is VALID [2022-04-08 08:36:29,042 INFO L290 TraceCheckUtils]: 18: Hoare triple {85693#true} ~returnVal2~0 := 0; {85866#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:36:29,042 INFO L290 TraceCheckUtils]: 19: Hoare triple {85866#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume !(~s~0 == ~NP~0); {85866#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:36:29,042 INFO L290 TraceCheckUtils]: 20: Hoare triple {85866#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume ~s~0 == ~MPR1~0; {85866#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:36:29,043 INFO L290 TraceCheckUtils]: 21: Hoare triple {85866#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume !(259 == ~returnVal2~0);~s~0 := ~NP~0;~lowerDriverReturn~0 := ~returnVal2~0; {85866#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:36:29,043 INFO L290 TraceCheckUtils]: 22: Hoare triple {85866#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} #res := ~returnVal2~0; {85867#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} is VALID [2022-04-08 08:36:29,043 INFO L290 TraceCheckUtils]: 23: Hoare triple {85867#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} assume true; {85867#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} is VALID [2022-04-08 08:36:29,044 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {85867#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} {85693#true} #1192#return; {85847#(= |KbFilter_PnP_#t~ret109| 0)} is VALID [2022-04-08 08:36:29,044 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 44 [2022-04-08 08:36:29,045 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:29,049 INFO L290 TraceCheckUtils]: 0: Hoare triple {85872#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {85693#true} is VALID [2022-04-08 08:36:29,049 INFO L290 TraceCheckUtils]: 1: Hoare triple {85693#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {85693#true} is VALID [2022-04-08 08:36:29,050 INFO L290 TraceCheckUtils]: 2: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:29,050 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85693#true} {85848#(= KbFilter_PnP_~status~3 0)} #1196#return; {85848#(= KbFilter_PnP_~status~3 0)} is VALID [2022-04-08 08:36:29,050 INFO L290 TraceCheckUtils]: 0: Hoare triple {85816#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(#length)| |#length|) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~devExt~3.base, ~devExt~3.offset;havoc ~irpStack~3.base, ~irpStack~3.offset;havoc ~status~3;call ~#event~1.base, ~#event~1.offset := #Ultimate.allocOnStack(16);havoc ~irpSp~0.base, ~irpSp~0.offset;havoc ~nextIrpSp~0.base, ~nextIrpSp~0.offset;havoc ~irpSp___0~0.base, ~irpSp___0~0.offset;~status~3 := 0;call #t~mem79.base, #t~mem79.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~3.base, ~devExt~3.offset := #t~mem79.base, #t~mem79.offset;havoc #t~mem79.base, #t~mem79.offset;call #t~mem80.base, #t~mem80.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~3.base, ~irpStack~3.offset := #t~mem80.base, #t~mem80.offset;havoc #t~mem80.base, #t~mem80.offset;call #t~mem81 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {85693#true} is VALID [2022-04-08 08:36:29,050 INFO L290 TraceCheckUtils]: 1: Hoare triple {85693#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {85693#true} is VALID [2022-04-08 08:36:29,050 INFO L290 TraceCheckUtils]: 2: Hoare triple {85693#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp~0.base, ~irpSp~0.offset := #t~mem102.base, #t~mem102.offset;havoc #t~mem102.base, #t~mem102.offset;call #t~mem103.base, #t~mem103.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 36;havoc #t~mem103.base, #t~mem103.offset; {85693#true} is VALID [2022-04-08 08:36:29,051 INFO L272 TraceCheckUtils]: 3: Hoare triple {85693#true} call #t~memmove~res104.base, #t~memmove~res104.offset := #Ultimate.C_memmove(~nextIrpSp~0.base, ~nextIrpSp~0.offset, ~irpSp~0.base, ~irpSp~0.offset, 28); {85794#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:36:29,051 INFO L290 TraceCheckUtils]: 4: Hoare triple {85794#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {85693#true} is VALID [2022-04-08 08:36:29,051 INFO L290 TraceCheckUtils]: 5: Hoare triple {85693#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {85693#true} is VALID [2022-04-08 08:36:29,051 INFO L290 TraceCheckUtils]: 6: Hoare triple {85693#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {85693#true} is VALID [2022-04-08 08:36:29,051 INFO L290 TraceCheckUtils]: 7: Hoare triple {85693#true} assume #res.base == dest.base && #res.offset == dest.offset; {85693#true} is VALID [2022-04-08 08:36:29,051 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {85693#true} {85693#true} #1186#return; {85693#true} is VALID [2022-04-08 08:36:29,051 INFO L290 TraceCheckUtils]: 9: Hoare triple {85693#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {85693#true} is VALID [2022-04-08 08:36:29,051 INFO L290 TraceCheckUtils]: 10: Hoare triple {85693#true} assume !(~s~0 != ~NP~0); {85693#true} is VALID [2022-04-08 08:36:29,051 INFO L290 TraceCheckUtils]: 11: Hoare triple {85693#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {85693#true} is VALID [2022-04-08 08:36:29,051 INFO L290 TraceCheckUtils]: 12: Hoare triple {85693#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 36;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 28 + ~irpSp___0~0.offset, 4);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 32 + ~irpSp___0~0.offset, 4);call write~int(0, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(64, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call #t~mem106 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem106 % 256, 128), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem106;call #t~mem107 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem107 % 256, 32), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem107;call #t~mem108.base, #t~mem108.offset := read~$Pointer$(~devExt~3.base, 8 + ~devExt~3.offset, 4); {85693#true} is VALID [2022-04-08 08:36:29,052 INFO L272 TraceCheckUtils]: 13: Hoare triple {85693#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {85854#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:36:29,052 INFO L290 TraceCheckUtils]: 14: Hoare triple {85854#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {85693#true} is VALID [2022-04-08 08:36:29,052 INFO L290 TraceCheckUtils]: 15: Hoare triple {85693#true} assume 0 != ~compRegistered~0; {85693#true} is VALID [2022-04-08 08:36:29,053 INFO L272 TraceCheckUtils]: 16: Hoare triple {85693#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {85868#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:36:29,053 INFO L290 TraceCheckUtils]: 17: Hoare triple {85868#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {85693#true} is VALID [2022-04-08 08:36:29,054 INFO L272 TraceCheckUtils]: 18: Hoare triple {85693#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {85868#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:36:29,054 INFO L290 TraceCheckUtils]: 19: Hoare triple {85868#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {85693#true} is VALID [2022-04-08 08:36:29,054 INFO L290 TraceCheckUtils]: 20: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:29,054 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {85693#true} {85693#true} #1174#return; {85693#true} is VALID [2022-04-08 08:36:29,054 INFO L290 TraceCheckUtils]: 22: Hoare triple {85693#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {85693#true} is VALID [2022-04-08 08:36:29,054 INFO L290 TraceCheckUtils]: 23: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:29,054 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {85693#true} {85693#true} #1210#return; {85693#true} is VALID [2022-04-08 08:36:29,054 INFO L290 TraceCheckUtils]: 25: Hoare triple {85693#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {85693#true} is VALID [2022-04-08 08:36:29,054 INFO L290 TraceCheckUtils]: 26: Hoare triple {85693#true} assume -1073741802 == ~compRetStatus~0; {85693#true} is VALID [2022-04-08 08:36:29,054 INFO L272 TraceCheckUtils]: 27: Hoare triple {85693#true} call stubMoreProcessingRequired(); {85872#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:36:29,054 INFO L290 TraceCheckUtils]: 28: Hoare triple {85872#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {85693#true} is VALID [2022-04-08 08:36:29,054 INFO L290 TraceCheckUtils]: 29: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:29,054 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {85693#true} {85693#true} #1212#return; {85693#true} is VALID [2022-04-08 08:36:29,055 INFO L290 TraceCheckUtils]: 31: Hoare triple {85693#true} assume 0 == ~__BLAST_NONDET~11; {85693#true} is VALID [2022-04-08 08:36:29,055 INFO L290 TraceCheckUtils]: 32: Hoare triple {85693#true} ~returnVal2~0 := 0; {85866#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:36:29,055 INFO L290 TraceCheckUtils]: 33: Hoare triple {85866#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume !(~s~0 == ~NP~0); {85866#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:36:29,055 INFO L290 TraceCheckUtils]: 34: Hoare triple {85866#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume ~s~0 == ~MPR1~0; {85866#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:36:29,056 INFO L290 TraceCheckUtils]: 35: Hoare triple {85866#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume !(259 == ~returnVal2~0);~s~0 := ~NP~0;~lowerDriverReturn~0 := ~returnVal2~0; {85866#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:36:29,056 INFO L290 TraceCheckUtils]: 36: Hoare triple {85866#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} #res := ~returnVal2~0; {85867#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} is VALID [2022-04-08 08:36:29,056 INFO L290 TraceCheckUtils]: 37: Hoare triple {85867#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} assume true; {85867#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} is VALID [2022-04-08 08:36:29,057 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {85867#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} {85693#true} #1192#return; {85847#(= |KbFilter_PnP_#t~ret109| 0)} is VALID [2022-04-08 08:36:29,058 INFO L290 TraceCheckUtils]: 39: Hoare triple {85847#(= |KbFilter_PnP_#t~ret109| 0)} assume -2147483648 <= #t~ret109 && #t~ret109 <= 2147483647;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {85848#(= KbFilter_PnP_~status~3 0)} is VALID [2022-04-08 08:36:29,058 INFO L290 TraceCheckUtils]: 40: Hoare triple {85848#(= KbFilter_PnP_~status~3 0)} assume !(259 == ~status~3); {85848#(= KbFilter_PnP_~status~3 0)} is VALID [2022-04-08 08:36:29,058 INFO L290 TraceCheckUtils]: 41: Hoare triple {85848#(= KbFilter_PnP_~status~3 0)} assume ~status~3 >= 0; {85848#(= KbFilter_PnP_~status~3 0)} is VALID [2022-04-08 08:36:29,058 INFO L290 TraceCheckUtils]: 42: Hoare triple {85848#(= KbFilter_PnP_~status~3 0)} assume ~myStatus~0 >= 0;call write~int(1, ~devExt~3.base, 52 + ~devExt~3.offset, 1);call write~int(0, ~devExt~3.base, 54 + ~devExt~3.offset, 1);call write~int(0, ~devExt~3.base, 53 + ~devExt~3.offset, 1); {85848#(= KbFilter_PnP_~status~3 0)} is VALID [2022-04-08 08:36:29,058 INFO L290 TraceCheckUtils]: 43: Hoare triple {85848#(= KbFilter_PnP_~status~3 0)} call write~int(~status~3, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~3;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4); {85848#(= KbFilter_PnP_~status~3 0)} is VALID [2022-04-08 08:36:29,059 INFO L272 TraceCheckUtils]: 44: Hoare triple {85848#(= KbFilter_PnP_~status~3 0)} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {85872#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:36:29,059 INFO L290 TraceCheckUtils]: 45: Hoare triple {85872#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {85693#true} is VALID [2022-04-08 08:36:29,059 INFO L290 TraceCheckUtils]: 46: Hoare triple {85693#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {85693#true} is VALID [2022-04-08 08:36:29,059 INFO L290 TraceCheckUtils]: 47: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:29,060 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {85693#true} {85848#(= KbFilter_PnP_~status~3 0)} #1196#return; {85848#(= KbFilter_PnP_~status~3 0)} is VALID [2022-04-08 08:36:29,060 INFO L290 TraceCheckUtils]: 49: Hoare triple {85848#(= KbFilter_PnP_~status~3 0)} #res := ~status~3;call ULTIMATE.dealloc(~#event~1.base, ~#event~1.offset);havoc ~#event~1.base, ~#event~1.offset; {85853#(= |KbFilter_PnP_#res| 0)} is VALID [2022-04-08 08:36:29,060 INFO L290 TraceCheckUtils]: 50: Hoare triple {85853#(= |KbFilter_PnP_#res| 0)} assume true; {85853#(= |KbFilter_PnP_#res| 0)} is VALID [2022-04-08 08:36:29,061 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {85853#(= |KbFilter_PnP_#res| 0)} {85693#true} #1230#return; {85790#(not (= 259 |main_#t~ret174|))} is VALID [2022-04-08 08:36:29,062 INFO L272 TraceCheckUtils]: 0: Hoare triple {85693#true} call ULTIMATE.init(); {85792#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:36:29,062 INFO L290 TraceCheckUtils]: 1: Hoare triple {85792#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {85693#true} is VALID [2022-04-08 08:36:29,062 INFO L290 TraceCheckUtils]: 2: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:29,062 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {85693#true} {85693#true} #1270#return; {85693#true} is VALID [2022-04-08 08:36:29,062 INFO L272 TraceCheckUtils]: 4: Hoare triple {85693#true} call #t~ret213 := main(); {85693#true} is VALID [2022-04-08 08:36:29,062 INFO L290 TraceCheckUtils]: 5: Hoare triple {85693#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {85693#true} is VALID [2022-04-08 08:36:29,063 INFO L272 TraceCheckUtils]: 6: Hoare triple {85693#true} call _BLAST_init(); {85793#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:36:29,063 INFO L290 TraceCheckUtils]: 7: Hoare triple {85793#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {85693#true} is VALID [2022-04-08 08:36:29,063 INFO L290 TraceCheckUtils]: 8: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:29,063 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {85693#true} {85693#true} #1216#return; {85693#true} is VALID [2022-04-08 08:36:29,064 INFO L272 TraceCheckUtils]: 10: Hoare triple {85693#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {85794#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:36:29,064 INFO L290 TraceCheckUtils]: 11: Hoare triple {85794#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {85693#true} is VALID [2022-04-08 08:36:29,064 INFO L272 TraceCheckUtils]: 12: Hoare triple {85693#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {85693#true} is VALID [2022-04-08 08:36:29,064 INFO L290 TraceCheckUtils]: 13: Hoare triple {85693#true} ~cond := #in~cond; {85693#true} is VALID [2022-04-08 08:36:29,064 INFO L290 TraceCheckUtils]: 14: Hoare triple {85693#true} assume !(0 == ~cond); {85693#true} is VALID [2022-04-08 08:36:29,064 INFO L290 TraceCheckUtils]: 15: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:29,064 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {85693#true} {85693#true} #1254#return; {85693#true} is VALID [2022-04-08 08:36:29,064 INFO L290 TraceCheckUtils]: 17: Hoare triple {85693#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {85693#true} is VALID [2022-04-08 08:36:29,065 INFO L290 TraceCheckUtils]: 18: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:29,065 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {85693#true} {85693#true} #1218#return; {85693#true} is VALID [2022-04-08 08:36:29,065 INFO L290 TraceCheckUtils]: 20: Hoare triple {85693#true} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {85693#true} is VALID [2022-04-08 08:36:29,065 INFO L290 TraceCheckUtils]: 21: Hoare triple {85693#true} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {85693#true} is VALID [2022-04-08 08:36:29,065 INFO L290 TraceCheckUtils]: 22: Hoare triple {85693#true} assume !(0 == ~irp_choice~0); {85693#true} is VALID [2022-04-08 08:36:29,065 INFO L272 TraceCheckUtils]: 23: Hoare triple {85693#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {85799#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:36:29,066 INFO L290 TraceCheckUtils]: 24: Hoare triple {85799#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {85693#true} is VALID [2022-04-08 08:36:29,067 INFO L272 TraceCheckUtils]: 25: Hoare triple {85693#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {85799#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:36:29,067 INFO L290 TraceCheckUtils]: 26: Hoare triple {85799#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {85693#true} is VALID [2022-04-08 08:36:29,067 INFO L290 TraceCheckUtils]: 27: Hoare triple {85693#true} assume 0 == ~__BLAST_NONDET~5; {85693#true} is VALID [2022-04-08 08:36:29,067 INFO L290 TraceCheckUtils]: 28: Hoare triple {85693#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {85693#true} is VALID [2022-04-08 08:36:29,067 INFO L290 TraceCheckUtils]: 29: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:29,067 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {85693#true} {85693#true} #1176#return; {85693#true} is VALID [2022-04-08 08:36:29,067 INFO L290 TraceCheckUtils]: 31: Hoare triple {85693#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {85693#true} is VALID [2022-04-08 08:36:29,067 INFO L290 TraceCheckUtils]: 32: Hoare triple {85693#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {85693#true} is VALID [2022-04-08 08:36:29,068 INFO L272 TraceCheckUtils]: 33: Hoare triple {85693#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {85794#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:36:29,068 INFO L290 TraceCheckUtils]: 34: Hoare triple {85794#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {85693#true} is VALID [2022-04-08 08:36:29,068 INFO L290 TraceCheckUtils]: 35: Hoare triple {85693#true} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {85693#true} is VALID [2022-04-08 08:36:29,068 INFO L290 TraceCheckUtils]: 36: Hoare triple {85693#true} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {85693#true} is VALID [2022-04-08 08:36:29,068 INFO L290 TraceCheckUtils]: 37: Hoare triple {85693#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {85693#true} is VALID [2022-04-08 08:36:29,068 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {85693#true} {85693#true} #1178#return; {85693#true} is VALID [2022-04-08 08:36:29,068 INFO L290 TraceCheckUtils]: 39: Hoare triple {85693#true} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {85693#true} is VALID [2022-04-08 08:36:29,068 INFO L272 TraceCheckUtils]: 40: Hoare triple {85693#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {85693#true} is VALID [2022-04-08 08:36:29,068 INFO L290 TraceCheckUtils]: 41: Hoare triple {85693#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {85693#true} is VALID [2022-04-08 08:36:29,068 INFO L290 TraceCheckUtils]: 42: Hoare triple {85693#true} assume 0 == ~__BLAST_NONDET~2; {85693#true} is VALID [2022-04-08 08:36:29,068 INFO L290 TraceCheckUtils]: 43: Hoare triple {85693#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {85693#true} is VALID [2022-04-08 08:36:29,068 INFO L290 TraceCheckUtils]: 44: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:29,068 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {85693#true} {85693#true} #1180#return; {85693#true} is VALID [2022-04-08 08:36:29,068 INFO L290 TraceCheckUtils]: 46: Hoare triple {85693#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {85693#true} is VALID [2022-04-08 08:36:29,068 INFO L290 TraceCheckUtils]: 47: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:29,068 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {85693#true} {85693#true} #1220#return; {85693#true} is VALID [2022-04-08 08:36:29,068 INFO L290 TraceCheckUtils]: 49: Hoare triple {85693#true} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {85693#true} is VALID [2022-04-08 08:36:29,069 INFO L272 TraceCheckUtils]: 50: Hoare triple {85693#true} call stub_driver_init(); {85815#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:36:29,069 INFO L290 TraceCheckUtils]: 51: Hoare triple {85815#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {85693#true} is VALID [2022-04-08 08:36:29,069 INFO L290 TraceCheckUtils]: 52: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:29,069 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {85693#true} {85693#true} #1222#return; {85693#true} is VALID [2022-04-08 08:36:29,069 INFO L290 TraceCheckUtils]: 54: Hoare triple {85693#true} assume !!(~status~5 >= 0); {85693#true} is VALID [2022-04-08 08:36:29,069 INFO L290 TraceCheckUtils]: 55: Hoare triple {85693#true} assume !(0 == ~__BLAST_NONDET~0); {85693#true} is VALID [2022-04-08 08:36:29,069 INFO L290 TraceCheckUtils]: 56: Hoare triple {85693#true} assume !(1 == ~__BLAST_NONDET~0); {85693#true} is VALID [2022-04-08 08:36:29,069 INFO L290 TraceCheckUtils]: 57: Hoare triple {85693#true} assume !(2 == ~__BLAST_NONDET~0); {85693#true} is VALID [2022-04-08 08:36:29,069 INFO L290 TraceCheckUtils]: 58: Hoare triple {85693#true} assume 3 == ~__BLAST_NONDET~0; {85693#true} is VALID [2022-04-08 08:36:29,070 INFO L272 TraceCheckUtils]: 59: Hoare triple {85693#true} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {85816#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(#length)| |#length|) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:36:29,071 INFO L290 TraceCheckUtils]: 60: Hoare triple {85816#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(#length)| |#length|) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~devExt~3.base, ~devExt~3.offset;havoc ~irpStack~3.base, ~irpStack~3.offset;havoc ~status~3;call ~#event~1.base, ~#event~1.offset := #Ultimate.allocOnStack(16);havoc ~irpSp~0.base, ~irpSp~0.offset;havoc ~nextIrpSp~0.base, ~nextIrpSp~0.offset;havoc ~irpSp___0~0.base, ~irpSp___0~0.offset;~status~3 := 0;call #t~mem79.base, #t~mem79.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~3.base, ~devExt~3.offset := #t~mem79.base, #t~mem79.offset;havoc #t~mem79.base, #t~mem79.offset;call #t~mem80.base, #t~mem80.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~3.base, ~irpStack~3.offset := #t~mem80.base, #t~mem80.offset;havoc #t~mem80.base, #t~mem80.offset;call #t~mem81 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {85693#true} is VALID [2022-04-08 08:36:29,071 INFO L290 TraceCheckUtils]: 61: Hoare triple {85693#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {85693#true} is VALID [2022-04-08 08:36:29,071 INFO L290 TraceCheckUtils]: 62: Hoare triple {85693#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp~0.base, ~irpSp~0.offset := #t~mem102.base, #t~mem102.offset;havoc #t~mem102.base, #t~mem102.offset;call #t~mem103.base, #t~mem103.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 36;havoc #t~mem103.base, #t~mem103.offset; {85693#true} is VALID [2022-04-08 08:36:29,071 INFO L272 TraceCheckUtils]: 63: Hoare triple {85693#true} call #t~memmove~res104.base, #t~memmove~res104.offset := #Ultimate.C_memmove(~nextIrpSp~0.base, ~nextIrpSp~0.offset, ~irpSp~0.base, ~irpSp~0.offset, 28); {85794#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:36:29,071 INFO L290 TraceCheckUtils]: 64: Hoare triple {85794#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {85693#true} is VALID [2022-04-08 08:36:29,071 INFO L290 TraceCheckUtils]: 65: Hoare triple {85693#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {85693#true} is VALID [2022-04-08 08:36:29,072 INFO L290 TraceCheckUtils]: 66: Hoare triple {85693#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {85693#true} is VALID [2022-04-08 08:36:29,072 INFO L290 TraceCheckUtils]: 67: Hoare triple {85693#true} assume #res.base == dest.base && #res.offset == dest.offset; {85693#true} is VALID [2022-04-08 08:36:29,072 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {85693#true} {85693#true} #1186#return; {85693#true} is VALID [2022-04-08 08:36:29,072 INFO L290 TraceCheckUtils]: 69: Hoare triple {85693#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {85693#true} is VALID [2022-04-08 08:36:29,072 INFO L290 TraceCheckUtils]: 70: Hoare triple {85693#true} assume !(~s~0 != ~NP~0); {85693#true} is VALID [2022-04-08 08:36:29,072 INFO L290 TraceCheckUtils]: 71: Hoare triple {85693#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {85693#true} is VALID [2022-04-08 08:36:29,072 INFO L290 TraceCheckUtils]: 72: Hoare triple {85693#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 36;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 28 + ~irpSp___0~0.offset, 4);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 32 + ~irpSp___0~0.offset, 4);call write~int(0, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(64, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call #t~mem106 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem106 % 256, 128), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem106;call #t~mem107 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem107 % 256, 32), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem107;call #t~mem108.base, #t~mem108.offset := read~$Pointer$(~devExt~3.base, 8 + ~devExt~3.offset, 4); {85693#true} is VALID [2022-04-08 08:36:29,072 INFO L272 TraceCheckUtils]: 73: Hoare triple {85693#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {85854#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:36:29,073 INFO L290 TraceCheckUtils]: 74: Hoare triple {85854#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {85693#true} is VALID [2022-04-08 08:36:29,073 INFO L290 TraceCheckUtils]: 75: Hoare triple {85693#true} assume 0 != ~compRegistered~0; {85693#true} is VALID [2022-04-08 08:36:29,073 INFO L272 TraceCheckUtils]: 76: Hoare triple {85693#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {85868#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:36:29,073 INFO L290 TraceCheckUtils]: 77: Hoare triple {85868#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {85693#true} is VALID [2022-04-08 08:36:29,074 INFO L272 TraceCheckUtils]: 78: Hoare triple {85693#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {85868#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:36:29,074 INFO L290 TraceCheckUtils]: 79: Hoare triple {85868#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {85693#true} is VALID [2022-04-08 08:36:29,074 INFO L290 TraceCheckUtils]: 80: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:29,074 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {85693#true} {85693#true} #1174#return; {85693#true} is VALID [2022-04-08 08:36:29,074 INFO L290 TraceCheckUtils]: 82: Hoare triple {85693#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {85693#true} is VALID [2022-04-08 08:36:29,074 INFO L290 TraceCheckUtils]: 83: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:29,074 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {85693#true} {85693#true} #1210#return; {85693#true} is VALID [2022-04-08 08:36:29,074 INFO L290 TraceCheckUtils]: 85: Hoare triple {85693#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {85693#true} is VALID [2022-04-08 08:36:29,074 INFO L290 TraceCheckUtils]: 86: Hoare triple {85693#true} assume -1073741802 == ~compRetStatus~0; {85693#true} is VALID [2022-04-08 08:36:29,083 INFO L272 TraceCheckUtils]: 87: Hoare triple {85693#true} call stubMoreProcessingRequired(); {85872#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:36:29,083 INFO L290 TraceCheckUtils]: 88: Hoare triple {85872#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {85693#true} is VALID [2022-04-08 08:36:29,083 INFO L290 TraceCheckUtils]: 89: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:29,083 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {85693#true} {85693#true} #1212#return; {85693#true} is VALID [2022-04-08 08:36:29,084 INFO L290 TraceCheckUtils]: 91: Hoare triple {85693#true} assume 0 == ~__BLAST_NONDET~11; {85693#true} is VALID [2022-04-08 08:36:29,084 INFO L290 TraceCheckUtils]: 92: Hoare triple {85693#true} ~returnVal2~0 := 0; {85866#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:36:29,084 INFO L290 TraceCheckUtils]: 93: Hoare triple {85866#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume !(~s~0 == ~NP~0); {85866#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:36:29,084 INFO L290 TraceCheckUtils]: 94: Hoare triple {85866#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume ~s~0 == ~MPR1~0; {85866#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:36:29,085 INFO L290 TraceCheckUtils]: 95: Hoare triple {85866#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume !(259 == ~returnVal2~0);~s~0 := ~NP~0;~lowerDriverReturn~0 := ~returnVal2~0; {85866#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 08:36:29,085 INFO L290 TraceCheckUtils]: 96: Hoare triple {85866#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} #res := ~returnVal2~0; {85867#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} is VALID [2022-04-08 08:36:29,086 INFO L290 TraceCheckUtils]: 97: Hoare triple {85867#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} assume true; {85867#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} is VALID [2022-04-08 08:36:29,086 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {85867#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} {85693#true} #1192#return; {85847#(= |KbFilter_PnP_#t~ret109| 0)} is VALID [2022-04-08 08:36:29,087 INFO L290 TraceCheckUtils]: 99: Hoare triple {85847#(= |KbFilter_PnP_#t~ret109| 0)} assume -2147483648 <= #t~ret109 && #t~ret109 <= 2147483647;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {85848#(= KbFilter_PnP_~status~3 0)} is VALID [2022-04-08 08:36:29,087 INFO L290 TraceCheckUtils]: 100: Hoare triple {85848#(= KbFilter_PnP_~status~3 0)} assume !(259 == ~status~3); {85848#(= KbFilter_PnP_~status~3 0)} is VALID [2022-04-08 08:36:29,087 INFO L290 TraceCheckUtils]: 101: Hoare triple {85848#(= KbFilter_PnP_~status~3 0)} assume ~status~3 >= 0; {85848#(= KbFilter_PnP_~status~3 0)} is VALID [2022-04-08 08:36:29,087 INFO L290 TraceCheckUtils]: 102: Hoare triple {85848#(= KbFilter_PnP_~status~3 0)} assume ~myStatus~0 >= 0;call write~int(1, ~devExt~3.base, 52 + ~devExt~3.offset, 1);call write~int(0, ~devExt~3.base, 54 + ~devExt~3.offset, 1);call write~int(0, ~devExt~3.base, 53 + ~devExt~3.offset, 1); {85848#(= KbFilter_PnP_~status~3 0)} is VALID [2022-04-08 08:36:29,088 INFO L290 TraceCheckUtils]: 103: Hoare triple {85848#(= KbFilter_PnP_~status~3 0)} call write~int(~status~3, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~3;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4); {85848#(= KbFilter_PnP_~status~3 0)} is VALID [2022-04-08 08:36:29,088 INFO L272 TraceCheckUtils]: 104: Hoare triple {85848#(= KbFilter_PnP_~status~3 0)} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {85872#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:36:29,088 INFO L290 TraceCheckUtils]: 105: Hoare triple {85872#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {85693#true} is VALID [2022-04-08 08:36:29,088 INFO L290 TraceCheckUtils]: 106: Hoare triple {85693#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {85693#true} is VALID [2022-04-08 08:36:29,088 INFO L290 TraceCheckUtils]: 107: Hoare triple {85693#true} assume true; {85693#true} is VALID [2022-04-08 08:36:29,089 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {85693#true} {85848#(= KbFilter_PnP_~status~3 0)} #1196#return; {85848#(= KbFilter_PnP_~status~3 0)} is VALID [2022-04-08 08:36:29,089 INFO L290 TraceCheckUtils]: 109: Hoare triple {85848#(= KbFilter_PnP_~status~3 0)} #res := ~status~3;call ULTIMATE.dealloc(~#event~1.base, ~#event~1.offset);havoc ~#event~1.base, ~#event~1.offset; {85853#(= |KbFilter_PnP_#res| 0)} is VALID [2022-04-08 08:36:29,089 INFO L290 TraceCheckUtils]: 110: Hoare triple {85853#(= |KbFilter_PnP_#res| 0)} assume true; {85853#(= |KbFilter_PnP_#res| 0)} is VALID [2022-04-08 08:36:29,090 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {85853#(= |KbFilter_PnP_#res| 0)} {85693#true} #1230#return; {85790#(not (= 259 |main_#t~ret174|))} is VALID [2022-04-08 08:36:29,091 INFO L290 TraceCheckUtils]: 112: Hoare triple {85790#(not (= 259 |main_#t~ret174|))} assume -2147483648 <= #t~ret174 && #t~ret174 <= 2147483647;~status~5 := #t~ret174;havoc #t~ret174; {85791#(not (= main_~status~5 259))} is VALID [2022-04-08 08:36:29,091 INFO L290 TraceCheckUtils]: 113: Hoare triple {85791#(not (= main_~status~5 259))} assume 0 != ~we_should_unload~0; {85791#(not (= main_~status~5 259))} is VALID [2022-04-08 08:36:29,091 INFO L290 TraceCheckUtils]: 114: Hoare triple {85791#(not (= main_~status~5 259))} assume !(1 == ~pended~0); {85791#(not (= main_~status~5 259))} is VALID [2022-04-08 08:36:29,091 INFO L290 TraceCheckUtils]: 115: Hoare triple {85791#(not (= main_~status~5 259))} assume !(1 == ~pended~0); {85791#(not (= main_~status~5 259))} is VALID [2022-04-08 08:36:29,092 INFO L290 TraceCheckUtils]: 116: Hoare triple {85791#(not (= main_~status~5 259))} assume !(~s~0 == ~UNLOADED~0); {85791#(not (= main_~status~5 259))} is VALID [2022-04-08 08:36:29,092 INFO L290 TraceCheckUtils]: 117: Hoare triple {85791#(not (= main_~status~5 259))} assume !(-1 == ~status~5); {85791#(not (= main_~status~5 259))} is VALID [2022-04-08 08:36:29,092 INFO L290 TraceCheckUtils]: 118: Hoare triple {85791#(not (= main_~status~5 259))} assume ~s~0 != ~SKIP2~0; {85791#(not (= main_~status~5 259))} is VALID [2022-04-08 08:36:29,093 INFO L290 TraceCheckUtils]: 119: Hoare triple {85791#(not (= main_~status~5 259))} assume ~s~0 != ~IPC~0; {85791#(not (= main_~status~5 259))} is VALID [2022-04-08 08:36:29,093 INFO L290 TraceCheckUtils]: 120: Hoare triple {85791#(not (= main_~status~5 259))} assume !(~s~0 != ~DC~0); {85791#(not (= main_~status~5 259))} is VALID [2022-04-08 08:36:29,093 INFO L290 TraceCheckUtils]: 121: Hoare triple {85791#(not (= main_~status~5 259))} assume !(1 == ~pended~0); {85791#(not (= main_~status~5 259))} is VALID [2022-04-08 08:36:29,093 INFO L290 TraceCheckUtils]: 122: Hoare triple {85791#(not (= main_~status~5 259))} assume ~s~0 == ~DC~0; {85791#(not (= main_~status~5 259))} is VALID [2022-04-08 08:36:29,094 INFO L290 TraceCheckUtils]: 123: Hoare triple {85791#(not (= main_~status~5 259))} assume 259 == ~status~5; {85694#false} is VALID [2022-04-08 08:36:29,094 INFO L272 TraceCheckUtils]: 124: Hoare triple {85694#false} call errorFn(); {85694#false} is VALID [2022-04-08 08:36:29,094 INFO L290 TraceCheckUtils]: 125: Hoare triple {85694#false} assume !false; {85694#false} is VALID [2022-04-08 08:36:29,094 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 08:36:29,094 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:36:29,094 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [125505049] [2022-04-08 08:36:29,094 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [125505049] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:36:29,094 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:36:29,094 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-08 08:36:29,094 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:36:29,094 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2104613106] [2022-04-08 08:36:29,095 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2104613106] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:36:29,095 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:36:29,095 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-08 08:36:29,095 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1143777377] [2022-04-08 08:36:29,095 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:36:29,095 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 5.111111111111111) internal successors, (92), 7 states have internal predecessors, (92), 3 states have call successors, (18), 11 states have call predecessors, (18), 3 states have return successors, (16), 4 states have call predecessors, (16), 2 states have call successors, (16) Word has length 126 [2022-04-08 08:36:29,095 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:36:29,095 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 18 states have (on average 5.111111111111111) internal successors, (92), 7 states have internal predecessors, (92), 3 states have call successors, (18), 11 states have call predecessors, (18), 3 states have return successors, (16), 4 states have call predecessors, (16), 2 states have call successors, (16) [2022-04-08 08:36:29,185 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 126 edges. 126 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:36:29,185 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-08 08:36:29,185 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:36:29,186 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-08 08:36:29,186 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=253, Unknown=0, NotChecked=0, Total=306 [2022-04-08 08:36:29,186 INFO L87 Difference]: Start difference. First operand 291 states and 318 transitions. Second operand has 18 states, 18 states have (on average 5.111111111111111) internal successors, (92), 7 states have internal predecessors, (92), 3 states have call successors, (18), 11 states have call predecessors, (18), 3 states have return successors, (16), 4 states have call predecessors, (16), 2 states have call successors, (16) [2022-04-08 08:36:31,330 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:36:42,689 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:36:42,690 INFO L93 Difference]: Finished difference Result 345 states and 383 transitions. [2022-04-08 08:36:42,690 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-08 08:36:42,690 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 5.111111111111111) internal successors, (92), 7 states have internal predecessors, (92), 3 states have call successors, (18), 11 states have call predecessors, (18), 3 states have return successors, (16), 4 states have call predecessors, (16), 2 states have call successors, (16) Word has length 126 [2022-04-08 08:36:42,690 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:36:42,690 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 5.111111111111111) internal successors, (92), 7 states have internal predecessors, (92), 3 states have call successors, (18), 11 states have call predecessors, (18), 3 states have return successors, (16), 4 states have call predecessors, (16), 2 states have call successors, (16) [2022-04-08 08:36:42,691 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 216 transitions. [2022-04-08 08:36:42,691 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 5.111111111111111) internal successors, (92), 7 states have internal predecessors, (92), 3 states have call successors, (18), 11 states have call predecessors, (18), 3 states have return successors, (16), 4 states have call predecessors, (16), 2 states have call successors, (16) [2022-04-08 08:36:42,693 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 216 transitions. [2022-04-08 08:36:42,693 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 216 transitions. [2022-04-08 08:36:42,922 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 216 edges. 216 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:36:42,926 INFO L225 Difference]: With dead ends: 345 [2022-04-08 08:36:42,926 INFO L226 Difference]: Without dead ends: 303 [2022-04-08 08:36:42,927 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 54 GetRequests, 27 SyntacticMatches, 0 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 98 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=137, Invalid=675, Unknown=0, NotChecked=0, Total=812 [2022-04-08 08:36:42,927 INFO L913 BasicCegarLoop]: 143 mSDtfsCounter, 241 mSDsluCounter, 529 mSDsCounter, 0 mSdLazyCounter, 1255 mSolverCounterSat, 134 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 243 SdHoareTripleChecker+Valid, 672 SdHoareTripleChecker+Invalid, 1390 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 134 IncrementalHoareTripleChecker+Valid, 1255 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.5s IncrementalHoareTripleChecker+Time [2022-04-08 08:36:42,927 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [243 Valid, 672 Invalid, 1390 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [134 Valid, 1255 Invalid, 1 Unknown, 0 Unchecked, 6.5s Time] [2022-04-08 08:36:42,928 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 303 states. [2022-04-08 08:36:43,564 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 303 to 273. [2022-04-08 08:36:43,564 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:36:43,564 INFO L82 GeneralOperation]: Start isEquivalent. First operand 303 states. Second operand has 273 states, 207 states have (on average 1.1207729468599035) internal successors, (232), 209 states have internal predecessors, (232), 33 states have call successors, (33), 33 states have call predecessors, (33), 32 states have return successors, (33), 30 states have call predecessors, (33), 31 states have call successors, (33) [2022-04-08 08:36:43,564 INFO L74 IsIncluded]: Start isIncluded. First operand 303 states. Second operand has 273 states, 207 states have (on average 1.1207729468599035) internal successors, (232), 209 states have internal predecessors, (232), 33 states have call successors, (33), 33 states have call predecessors, (33), 32 states have return successors, (33), 30 states have call predecessors, (33), 31 states have call successors, (33) [2022-04-08 08:36:43,565 INFO L87 Difference]: Start difference. First operand 303 states. Second operand has 273 states, 207 states have (on average 1.1207729468599035) internal successors, (232), 209 states have internal predecessors, (232), 33 states have call successors, (33), 33 states have call predecessors, (33), 32 states have return successors, (33), 30 states have call predecessors, (33), 31 states have call successors, (33) [2022-04-08 08:36:43,568 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:36:43,568 INFO L93 Difference]: Finished difference Result 303 states and 336 transitions. [2022-04-08 08:36:43,568 INFO L276 IsEmpty]: Start isEmpty. Operand 303 states and 336 transitions. [2022-04-08 08:36:43,568 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:36:43,568 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:36:43,569 INFO L74 IsIncluded]: Start isIncluded. First operand has 273 states, 207 states have (on average 1.1207729468599035) internal successors, (232), 209 states have internal predecessors, (232), 33 states have call successors, (33), 33 states have call predecessors, (33), 32 states have return successors, (33), 30 states have call predecessors, (33), 31 states have call successors, (33) Second operand 303 states. [2022-04-08 08:36:43,569 INFO L87 Difference]: Start difference. First operand has 273 states, 207 states have (on average 1.1207729468599035) internal successors, (232), 209 states have internal predecessors, (232), 33 states have call successors, (33), 33 states have call predecessors, (33), 32 states have return successors, (33), 30 states have call predecessors, (33), 31 states have call successors, (33) Second operand 303 states. [2022-04-08 08:36:43,572 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:36:43,572 INFO L93 Difference]: Finished difference Result 303 states and 336 transitions. [2022-04-08 08:36:43,572 INFO L276 IsEmpty]: Start isEmpty. Operand 303 states and 336 transitions. [2022-04-08 08:36:43,572 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:36:43,573 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:36:43,573 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:36:43,573 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:36:43,573 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 273 states, 207 states have (on average 1.1207729468599035) internal successors, (232), 209 states have internal predecessors, (232), 33 states have call successors, (33), 33 states have call predecessors, (33), 32 states have return successors, (33), 30 states have call predecessors, (33), 31 states have call successors, (33) [2022-04-08 08:36:43,576 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 273 states to 273 states and 298 transitions. [2022-04-08 08:36:43,577 INFO L78 Accepts]: Start accepts. Automaton has 273 states and 298 transitions. Word has length 126 [2022-04-08 08:36:43,577 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:36:43,577 INFO L478 AbstractCegarLoop]: Abstraction has 273 states and 298 transitions. [2022-04-08 08:36:43,577 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 18 states have (on average 5.111111111111111) internal successors, (92), 7 states have internal predecessors, (92), 3 states have call successors, (18), 11 states have call predecessors, (18), 3 states have return successors, (16), 4 states have call predecessors, (16), 2 states have call successors, (16) [2022-04-08 08:36:43,577 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 273 states and 298 transitions. [2022-04-08 08:36:44,386 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 298 edges. 298 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:36:44,387 INFO L276 IsEmpty]: Start isEmpty. Operand 273 states and 298 transitions. [2022-04-08 08:36:44,387 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 127 [2022-04-08 08:36:44,387 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:36:44,387 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:36:44,387 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable35 [2022-04-08 08:36:44,388 INFO L403 AbstractCegarLoop]: === Iteration 37 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:36:44,388 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:36:44,388 INFO L85 PathProgramCache]: Analyzing trace with hash -375187371, now seen corresponding path program 1 times [2022-04-08 08:36:44,388 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:36:44,388 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [879403404] [2022-04-08 08:36:44,390 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 4 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 08:36:44,390 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 08:36:44,390 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 08:36:44,390 INFO L85 PathProgramCache]: Analyzing trace with hash -375187371, now seen corresponding path program 2 times [2022-04-08 08:36:44,390 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:36:44,390 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [188649776] [2022-04-08 08:36:44,390 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:36:44,390 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:36:44,488 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:44,564 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:36:44,566 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:44,570 INFO L290 TraceCheckUtils]: 0: Hoare triple {87840#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {87741#true} is VALID [2022-04-08 08:36:44,570 INFO L290 TraceCheckUtils]: 1: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,570 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {87741#true} {87741#true} #1270#return; {87741#true} is VALID [2022-04-08 08:36:44,594 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:36:44,595 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:44,599 INFO L290 TraceCheckUtils]: 0: Hoare triple {87841#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {87741#true} is VALID [2022-04-08 08:36:44,599 INFO L290 TraceCheckUtils]: 1: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,599 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {87741#true} {87741#true} #1216#return; {87741#true} is VALID [2022-04-08 08:36:44,606 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:36:44,612 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:44,619 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:36:44,619 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:44,623 INFO L290 TraceCheckUtils]: 0: Hoare triple {87741#true} ~cond := #in~cond; {87741#true} is VALID [2022-04-08 08:36:44,623 INFO L290 TraceCheckUtils]: 1: Hoare triple {87741#true} assume !(0 == ~cond); {87741#true} is VALID [2022-04-08 08:36:44,623 INFO L290 TraceCheckUtils]: 2: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,624 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {87741#true} {87741#true} #1254#return; {87741#true} is VALID [2022-04-08 08:36:44,624 INFO L290 TraceCheckUtils]: 0: Hoare triple {87842#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {87741#true} is VALID [2022-04-08 08:36:44,624 INFO L272 TraceCheckUtils]: 1: Hoare triple {87741#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {87741#true} is VALID [2022-04-08 08:36:44,624 INFO L290 TraceCheckUtils]: 2: Hoare triple {87741#true} ~cond := #in~cond; {87741#true} is VALID [2022-04-08 08:36:44,624 INFO L290 TraceCheckUtils]: 3: Hoare triple {87741#true} assume !(0 == ~cond); {87741#true} is VALID [2022-04-08 08:36:44,624 INFO L290 TraceCheckUtils]: 4: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,624 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {87741#true} {87741#true} #1254#return; {87741#true} is VALID [2022-04-08 08:36:44,624 INFO L290 TraceCheckUtils]: 6: Hoare triple {87741#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {87741#true} is VALID [2022-04-08 08:36:44,624 INFO L290 TraceCheckUtils]: 7: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,624 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {87741#true} {87741#true} #1218#return; {87741#true} is VALID [2022-04-08 08:36:44,634 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:36:44,648 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:44,657 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:36:44,660 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:44,666 INFO L290 TraceCheckUtils]: 0: Hoare triple {87847#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {87741#true} is VALID [2022-04-08 08:36:44,666 INFO L290 TraceCheckUtils]: 1: Hoare triple {87741#true} assume 0 == ~__BLAST_NONDET~5; {87741#true} is VALID [2022-04-08 08:36:44,666 INFO L290 TraceCheckUtils]: 2: Hoare triple {87741#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {87741#true} is VALID [2022-04-08 08:36:44,666 INFO L290 TraceCheckUtils]: 3: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,666 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {87741#true} {87741#true} #1176#return; {87741#true} is VALID [2022-04-08 08:36:44,666 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 08:36:44,668 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:44,674 INFO L290 TraceCheckUtils]: 0: Hoare triple {87842#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {87741#true} is VALID [2022-04-08 08:36:44,674 INFO L290 TraceCheckUtils]: 1: Hoare triple {87741#true} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {87741#true} is VALID [2022-04-08 08:36:44,674 INFO L290 TraceCheckUtils]: 2: Hoare triple {87741#true} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {87741#true} is VALID [2022-04-08 08:36:44,674 INFO L290 TraceCheckUtils]: 3: Hoare triple {87741#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {87741#true} is VALID [2022-04-08 08:36:44,674 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {87741#true} {87741#true} #1178#return; {87741#true} is VALID [2022-04-08 08:36:44,674 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-08 08:36:44,675 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:44,679 INFO L290 TraceCheckUtils]: 0: Hoare triple {87741#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {87741#true} is VALID [2022-04-08 08:36:44,680 INFO L290 TraceCheckUtils]: 1: Hoare triple {87741#true} assume 0 == ~__BLAST_NONDET~2; {87741#true} is VALID [2022-04-08 08:36:44,680 INFO L290 TraceCheckUtils]: 2: Hoare triple {87741#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {87741#true} is VALID [2022-04-08 08:36:44,680 INFO L290 TraceCheckUtils]: 3: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,680 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {87741#true} {87741#true} #1180#return; {87741#true} is VALID [2022-04-08 08:36:44,680 INFO L290 TraceCheckUtils]: 0: Hoare triple {87847#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {87741#true} is VALID [2022-04-08 08:36:44,681 INFO L272 TraceCheckUtils]: 1: Hoare triple {87741#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {87847#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:36:44,681 INFO L290 TraceCheckUtils]: 2: Hoare triple {87847#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {87741#true} is VALID [2022-04-08 08:36:44,681 INFO L290 TraceCheckUtils]: 3: Hoare triple {87741#true} assume 0 == ~__BLAST_NONDET~5; {87741#true} is VALID [2022-04-08 08:36:44,681 INFO L290 TraceCheckUtils]: 4: Hoare triple {87741#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {87741#true} is VALID [2022-04-08 08:36:44,681 INFO L290 TraceCheckUtils]: 5: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,681 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {87741#true} {87741#true} #1176#return; {87741#true} is VALID [2022-04-08 08:36:44,681 INFO L290 TraceCheckUtils]: 7: Hoare triple {87741#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {87741#true} is VALID [2022-04-08 08:36:44,681 INFO L290 TraceCheckUtils]: 8: Hoare triple {87741#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {87741#true} is VALID [2022-04-08 08:36:44,682 INFO L272 TraceCheckUtils]: 9: Hoare triple {87741#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {87842#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:36:44,682 INFO L290 TraceCheckUtils]: 10: Hoare triple {87842#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {87741#true} is VALID [2022-04-08 08:36:44,682 INFO L290 TraceCheckUtils]: 11: Hoare triple {87741#true} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {87741#true} is VALID [2022-04-08 08:36:44,682 INFO L290 TraceCheckUtils]: 12: Hoare triple {87741#true} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {87741#true} is VALID [2022-04-08 08:36:44,682 INFO L290 TraceCheckUtils]: 13: Hoare triple {87741#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {87741#true} is VALID [2022-04-08 08:36:44,682 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {87741#true} {87741#true} #1178#return; {87741#true} is VALID [2022-04-08 08:36:44,682 INFO L290 TraceCheckUtils]: 15: Hoare triple {87741#true} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {87741#true} is VALID [2022-04-08 08:36:44,682 INFO L272 TraceCheckUtils]: 16: Hoare triple {87741#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {87741#true} is VALID [2022-04-08 08:36:44,682 INFO L290 TraceCheckUtils]: 17: Hoare triple {87741#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {87741#true} is VALID [2022-04-08 08:36:44,682 INFO L290 TraceCheckUtils]: 18: Hoare triple {87741#true} assume 0 == ~__BLAST_NONDET~2; {87741#true} is VALID [2022-04-08 08:36:44,683 INFO L290 TraceCheckUtils]: 19: Hoare triple {87741#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {87741#true} is VALID [2022-04-08 08:36:44,683 INFO L290 TraceCheckUtils]: 20: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,683 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {87741#true} {87741#true} #1180#return; {87741#true} is VALID [2022-04-08 08:36:44,683 INFO L290 TraceCheckUtils]: 22: Hoare triple {87741#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {87741#true} is VALID [2022-04-08 08:36:44,683 INFO L290 TraceCheckUtils]: 23: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,683 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {87741#true} {87741#true} #1220#return; {87741#true} is VALID [2022-04-08 08:36:44,697 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-08 08:36:44,698 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:44,702 INFO L290 TraceCheckUtils]: 0: Hoare triple {87863#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {87741#true} is VALID [2022-04-08 08:36:44,702 INFO L290 TraceCheckUtils]: 1: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,702 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {87741#true} {87741#true} #1222#return; {87741#true} is VALID [2022-04-08 08:36:44,724 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 59 [2022-04-08 08:36:44,736 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:44,770 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-04-08 08:36:44,771 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:44,787 INFO L290 TraceCheckUtils]: 0: Hoare triple {87842#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {87741#true} is VALID [2022-04-08 08:36:44,787 INFO L290 TraceCheckUtils]: 1: Hoare triple {87741#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {87741#true} is VALID [2022-04-08 08:36:44,787 INFO L290 TraceCheckUtils]: 2: Hoare triple {87741#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {87741#true} is VALID [2022-04-08 08:36:44,787 INFO L290 TraceCheckUtils]: 3: Hoare triple {87741#true} assume #res.base == dest.base && #res.offset == dest.offset; {87741#true} is VALID [2022-04-08 08:36:44,787 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {87741#true} {87741#true} #1186#return; {87741#true} is VALID [2022-04-08 08:36:44,797 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 08:36:44,800 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:44,815 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 08:36:44,817 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:44,824 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:36:44,825 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:44,829 INFO L290 TraceCheckUtils]: 0: Hoare triple {87914#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {87741#true} is VALID [2022-04-08 08:36:44,829 INFO L290 TraceCheckUtils]: 1: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,829 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {87741#true} {87741#true} #1174#return; {87741#true} is VALID [2022-04-08 08:36:44,829 INFO L290 TraceCheckUtils]: 0: Hoare triple {87914#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {87741#true} is VALID [2022-04-08 08:36:44,830 INFO L272 TraceCheckUtils]: 1: Hoare triple {87741#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {87914#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:36:44,830 INFO L290 TraceCheckUtils]: 2: Hoare triple {87914#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {87741#true} is VALID [2022-04-08 08:36:44,830 INFO L290 TraceCheckUtils]: 3: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,830 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {87741#true} {87741#true} #1174#return; {87741#true} is VALID [2022-04-08 08:36:44,830 INFO L290 TraceCheckUtils]: 5: Hoare triple {87741#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {87741#true} is VALID [2022-04-08 08:36:44,830 INFO L290 TraceCheckUtils]: 6: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,830 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {87741#true} {87741#true} #1210#return; {87741#true} is VALID [2022-04-08 08:36:44,839 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 08:36:44,840 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:44,844 INFO L290 TraceCheckUtils]: 0: Hoare triple {87918#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {87741#true} is VALID [2022-04-08 08:36:44,844 INFO L290 TraceCheckUtils]: 1: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,844 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {87741#true} {87741#true} #1212#return; {87741#true} is VALID [2022-04-08 08:36:44,844 INFO L290 TraceCheckUtils]: 0: Hoare triple {87902#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {87741#true} is VALID [2022-04-08 08:36:44,844 INFO L290 TraceCheckUtils]: 1: Hoare triple {87741#true} assume 0 != ~compRegistered~0; {87741#true} is VALID [2022-04-08 08:36:44,845 INFO L272 TraceCheckUtils]: 2: Hoare triple {87741#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {87914#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:36:44,845 INFO L290 TraceCheckUtils]: 3: Hoare triple {87914#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {87741#true} is VALID [2022-04-08 08:36:44,845 INFO L272 TraceCheckUtils]: 4: Hoare triple {87741#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {87914#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:36:44,845 INFO L290 TraceCheckUtils]: 5: Hoare triple {87914#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {87741#true} is VALID [2022-04-08 08:36:44,845 INFO L290 TraceCheckUtils]: 6: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,845 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {87741#true} {87741#true} #1174#return; {87741#true} is VALID [2022-04-08 08:36:44,846 INFO L290 TraceCheckUtils]: 8: Hoare triple {87741#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {87741#true} is VALID [2022-04-08 08:36:44,846 INFO L290 TraceCheckUtils]: 9: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,846 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {87741#true} {87741#true} #1210#return; {87741#true} is VALID [2022-04-08 08:36:44,846 INFO L290 TraceCheckUtils]: 11: Hoare triple {87741#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {87741#true} is VALID [2022-04-08 08:36:44,846 INFO L290 TraceCheckUtils]: 12: Hoare triple {87741#true} assume -1073741802 == ~compRetStatus~0; {87741#true} is VALID [2022-04-08 08:36:44,846 INFO L272 TraceCheckUtils]: 13: Hoare triple {87741#true} call stubMoreProcessingRequired(); {87918#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:36:44,846 INFO L290 TraceCheckUtils]: 14: Hoare triple {87918#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {87741#true} is VALID [2022-04-08 08:36:44,846 INFO L290 TraceCheckUtils]: 15: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,846 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {87741#true} {87741#true} #1212#return; {87741#true} is VALID [2022-04-08 08:36:44,846 INFO L290 TraceCheckUtils]: 17: Hoare triple {87741#true} assume !(0 == ~__BLAST_NONDET~11); {87741#true} is VALID [2022-04-08 08:36:44,846 INFO L290 TraceCheckUtils]: 18: Hoare triple {87741#true} assume 1 == ~__BLAST_NONDET~11; {87741#true} is VALID [2022-04-08 08:36:44,846 INFO L290 TraceCheckUtils]: 19: Hoare triple {87741#true} ~returnVal2~0 := -1073741823; {87741#true} is VALID [2022-04-08 08:36:44,846 INFO L290 TraceCheckUtils]: 20: Hoare triple {87741#true} assume !(~s~0 == ~NP~0); {87741#true} is VALID [2022-04-08 08:36:44,846 INFO L290 TraceCheckUtils]: 21: Hoare triple {87741#true} assume ~s~0 == ~MPR1~0; {87741#true} is VALID [2022-04-08 08:36:44,847 INFO L290 TraceCheckUtils]: 22: Hoare triple {87741#true} assume !(259 == ~returnVal2~0);~s~0 := ~NP~0;~lowerDriverReturn~0 := ~returnVal2~0; {87741#true} is VALID [2022-04-08 08:36:44,847 INFO L290 TraceCheckUtils]: 23: Hoare triple {87741#true} #res := ~returnVal2~0; {87741#true} is VALID [2022-04-08 08:36:44,847 INFO L290 TraceCheckUtils]: 24: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,847 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {87741#true} {87741#true} #1192#return; {87741#true} is VALID [2022-04-08 08:36:44,847 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 44 [2022-04-08 08:36:44,848 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:44,853 INFO L290 TraceCheckUtils]: 0: Hoare triple {87918#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {87741#true} is VALID [2022-04-08 08:36:44,853 INFO L290 TraceCheckUtils]: 1: Hoare triple {87741#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {87741#true} is VALID [2022-04-08 08:36:44,853 INFO L290 TraceCheckUtils]: 2: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,854 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {87741#true} {87896#(<= (+ KbFilter_PnP_~status~3 1) 0)} #1196#return; {87896#(<= (+ KbFilter_PnP_~status~3 1) 0)} is VALID [2022-04-08 08:36:44,854 INFO L290 TraceCheckUtils]: 0: Hoare triple {87864#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(#length)| |#length|) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~devExt~3.base, ~devExt~3.offset;havoc ~irpStack~3.base, ~irpStack~3.offset;havoc ~status~3;call ~#event~1.base, ~#event~1.offset := #Ultimate.allocOnStack(16);havoc ~irpSp~0.base, ~irpSp~0.offset;havoc ~nextIrpSp~0.base, ~nextIrpSp~0.offset;havoc ~irpSp___0~0.base, ~irpSp___0~0.offset;~status~3 := 0;call #t~mem79.base, #t~mem79.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~3.base, ~devExt~3.offset := #t~mem79.base, #t~mem79.offset;havoc #t~mem79.base, #t~mem79.offset;call #t~mem80.base, #t~mem80.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~3.base, ~irpStack~3.offset := #t~mem80.base, #t~mem80.offset;havoc #t~mem80.base, #t~mem80.offset;call #t~mem81 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {87741#true} is VALID [2022-04-08 08:36:44,854 INFO L290 TraceCheckUtils]: 1: Hoare triple {87741#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {87741#true} is VALID [2022-04-08 08:36:44,854 INFO L290 TraceCheckUtils]: 2: Hoare triple {87741#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp~0.base, ~irpSp~0.offset := #t~mem102.base, #t~mem102.offset;havoc #t~mem102.base, #t~mem102.offset;call #t~mem103.base, #t~mem103.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 36;havoc #t~mem103.base, #t~mem103.offset; {87741#true} is VALID [2022-04-08 08:36:44,855 INFO L272 TraceCheckUtils]: 3: Hoare triple {87741#true} call #t~memmove~res104.base, #t~memmove~res104.offset := #Ultimate.C_memmove(~nextIrpSp~0.base, ~nextIrpSp~0.offset, ~irpSp~0.base, ~irpSp~0.offset, 28); {87842#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:36:44,855 INFO L290 TraceCheckUtils]: 4: Hoare triple {87842#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {87741#true} is VALID [2022-04-08 08:36:44,855 INFO L290 TraceCheckUtils]: 5: Hoare triple {87741#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {87741#true} is VALID [2022-04-08 08:36:44,855 INFO L290 TraceCheckUtils]: 6: Hoare triple {87741#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {87741#true} is VALID [2022-04-08 08:36:44,855 INFO L290 TraceCheckUtils]: 7: Hoare triple {87741#true} assume #res.base == dest.base && #res.offset == dest.offset; {87741#true} is VALID [2022-04-08 08:36:44,855 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {87741#true} {87741#true} #1186#return; {87741#true} is VALID [2022-04-08 08:36:44,855 INFO L290 TraceCheckUtils]: 9: Hoare triple {87741#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {87741#true} is VALID [2022-04-08 08:36:44,855 INFO L290 TraceCheckUtils]: 10: Hoare triple {87741#true} assume !(~s~0 != ~NP~0); {87741#true} is VALID [2022-04-08 08:36:44,855 INFO L290 TraceCheckUtils]: 11: Hoare triple {87741#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {87741#true} is VALID [2022-04-08 08:36:44,855 INFO L290 TraceCheckUtils]: 12: Hoare triple {87741#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 36;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 28 + ~irpSp___0~0.offset, 4);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 32 + ~irpSp___0~0.offset, 4);call write~int(0, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(64, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call #t~mem106 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem106 % 256, 128), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem106;call #t~mem107 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem107 % 256, 32), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem107;call #t~mem108.base, #t~mem108.offset := read~$Pointer$(~devExt~3.base, 8 + ~devExt~3.offset, 4); {87741#true} is VALID [2022-04-08 08:36:44,856 INFO L272 TraceCheckUtils]: 13: Hoare triple {87741#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {87902#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:36:44,856 INFO L290 TraceCheckUtils]: 14: Hoare triple {87902#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {87741#true} is VALID [2022-04-08 08:36:44,856 INFO L290 TraceCheckUtils]: 15: Hoare triple {87741#true} assume 0 != ~compRegistered~0; {87741#true} is VALID [2022-04-08 08:36:44,857 INFO L272 TraceCheckUtils]: 16: Hoare triple {87741#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {87914#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:36:44,857 INFO L290 TraceCheckUtils]: 17: Hoare triple {87914#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {87741#true} is VALID [2022-04-08 08:36:44,857 INFO L272 TraceCheckUtils]: 18: Hoare triple {87741#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {87914#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:36:44,857 INFO L290 TraceCheckUtils]: 19: Hoare triple {87914#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {87741#true} is VALID [2022-04-08 08:36:44,857 INFO L290 TraceCheckUtils]: 20: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,857 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {87741#true} {87741#true} #1174#return; {87741#true} is VALID [2022-04-08 08:36:44,857 INFO L290 TraceCheckUtils]: 22: Hoare triple {87741#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {87741#true} is VALID [2022-04-08 08:36:44,858 INFO L290 TraceCheckUtils]: 23: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,858 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {87741#true} {87741#true} #1210#return; {87741#true} is VALID [2022-04-08 08:36:44,858 INFO L290 TraceCheckUtils]: 25: Hoare triple {87741#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {87741#true} is VALID [2022-04-08 08:36:44,858 INFO L290 TraceCheckUtils]: 26: Hoare triple {87741#true} assume -1073741802 == ~compRetStatus~0; {87741#true} is VALID [2022-04-08 08:36:44,858 INFO L272 TraceCheckUtils]: 27: Hoare triple {87741#true} call stubMoreProcessingRequired(); {87918#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:36:44,858 INFO L290 TraceCheckUtils]: 28: Hoare triple {87918#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {87741#true} is VALID [2022-04-08 08:36:44,858 INFO L290 TraceCheckUtils]: 29: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,858 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {87741#true} {87741#true} #1212#return; {87741#true} is VALID [2022-04-08 08:36:44,858 INFO L290 TraceCheckUtils]: 31: Hoare triple {87741#true} assume !(0 == ~__BLAST_NONDET~11); {87741#true} is VALID [2022-04-08 08:36:44,858 INFO L290 TraceCheckUtils]: 32: Hoare triple {87741#true} assume 1 == ~__BLAST_NONDET~11; {87741#true} is VALID [2022-04-08 08:36:44,858 INFO L290 TraceCheckUtils]: 33: Hoare triple {87741#true} ~returnVal2~0 := -1073741823; {87741#true} is VALID [2022-04-08 08:36:44,858 INFO L290 TraceCheckUtils]: 34: Hoare triple {87741#true} assume !(~s~0 == ~NP~0); {87741#true} is VALID [2022-04-08 08:36:44,858 INFO L290 TraceCheckUtils]: 35: Hoare triple {87741#true} assume ~s~0 == ~MPR1~0; {87741#true} is VALID [2022-04-08 08:36:44,858 INFO L290 TraceCheckUtils]: 36: Hoare triple {87741#true} assume !(259 == ~returnVal2~0);~s~0 := ~NP~0;~lowerDriverReturn~0 := ~returnVal2~0; {87741#true} is VALID [2022-04-08 08:36:44,858 INFO L290 TraceCheckUtils]: 37: Hoare triple {87741#true} #res := ~returnVal2~0; {87741#true} is VALID [2022-04-08 08:36:44,859 INFO L290 TraceCheckUtils]: 38: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,859 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {87741#true} {87741#true} #1192#return; {87741#true} is VALID [2022-04-08 08:36:44,859 INFO L290 TraceCheckUtils]: 40: Hoare triple {87741#true} assume -2147483648 <= #t~ret109 && #t~ret109 <= 2147483647;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {87741#true} is VALID [2022-04-08 08:36:44,859 INFO L290 TraceCheckUtils]: 41: Hoare triple {87741#true} assume !(259 == ~status~3); {87741#true} is VALID [2022-04-08 08:36:44,871 INFO L290 TraceCheckUtils]: 42: Hoare triple {87741#true} assume !(~status~3 >= 0); {87896#(<= (+ KbFilter_PnP_~status~3 1) 0)} is VALID [2022-04-08 08:36:44,872 INFO L290 TraceCheckUtils]: 43: Hoare triple {87896#(<= (+ KbFilter_PnP_~status~3 1) 0)} call write~int(~status~3, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~3;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4); {87896#(<= (+ KbFilter_PnP_~status~3 1) 0)} is VALID [2022-04-08 08:36:44,872 INFO L272 TraceCheckUtils]: 44: Hoare triple {87896#(<= (+ KbFilter_PnP_~status~3 1) 0)} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {87918#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:36:44,872 INFO L290 TraceCheckUtils]: 45: Hoare triple {87918#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {87741#true} is VALID [2022-04-08 08:36:44,872 INFO L290 TraceCheckUtils]: 46: Hoare triple {87741#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {87741#true} is VALID [2022-04-08 08:36:44,872 INFO L290 TraceCheckUtils]: 47: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,873 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {87741#true} {87896#(<= (+ KbFilter_PnP_~status~3 1) 0)} #1196#return; {87896#(<= (+ KbFilter_PnP_~status~3 1) 0)} is VALID [2022-04-08 08:36:44,873 INFO L290 TraceCheckUtils]: 49: Hoare triple {87896#(<= (+ KbFilter_PnP_~status~3 1) 0)} #res := ~status~3;call ULTIMATE.dealloc(~#event~1.base, ~#event~1.offset);havoc ~#event~1.base, ~#event~1.offset; {87901#(<= (+ |KbFilter_PnP_#res| 1) 0)} is VALID [2022-04-08 08:36:44,873 INFO L290 TraceCheckUtils]: 50: Hoare triple {87901#(<= (+ |KbFilter_PnP_#res| 1) 0)} assume true; {87901#(<= (+ |KbFilter_PnP_#res| 1) 0)} is VALID [2022-04-08 08:36:44,874 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {87901#(<= (+ |KbFilter_PnP_#res| 1) 0)} {87741#true} #1230#return; {87838#(<= (+ 1 |main_#t~ret174|) 0)} is VALID [2022-04-08 08:36:44,876 INFO L272 TraceCheckUtils]: 0: Hoare triple {87741#true} call ULTIMATE.init(); {87840#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:36:44,876 INFO L290 TraceCheckUtils]: 1: Hoare triple {87840#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {87741#true} is VALID [2022-04-08 08:36:44,876 INFO L290 TraceCheckUtils]: 2: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,876 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {87741#true} {87741#true} #1270#return; {87741#true} is VALID [2022-04-08 08:36:44,876 INFO L272 TraceCheckUtils]: 4: Hoare triple {87741#true} call #t~ret213 := main(); {87741#true} is VALID [2022-04-08 08:36:44,876 INFO L290 TraceCheckUtils]: 5: Hoare triple {87741#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {87741#true} is VALID [2022-04-08 08:36:44,877 INFO L272 TraceCheckUtils]: 6: Hoare triple {87741#true} call _BLAST_init(); {87841#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:36:44,877 INFO L290 TraceCheckUtils]: 7: Hoare triple {87841#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {87741#true} is VALID [2022-04-08 08:36:44,877 INFO L290 TraceCheckUtils]: 8: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,877 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {87741#true} {87741#true} #1216#return; {87741#true} is VALID [2022-04-08 08:36:44,878 INFO L272 TraceCheckUtils]: 10: Hoare triple {87741#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {87842#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:36:44,878 INFO L290 TraceCheckUtils]: 11: Hoare triple {87842#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {87741#true} is VALID [2022-04-08 08:36:44,878 INFO L272 TraceCheckUtils]: 12: Hoare triple {87741#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {87741#true} is VALID [2022-04-08 08:36:44,878 INFO L290 TraceCheckUtils]: 13: Hoare triple {87741#true} ~cond := #in~cond; {87741#true} is VALID [2022-04-08 08:36:44,878 INFO L290 TraceCheckUtils]: 14: Hoare triple {87741#true} assume !(0 == ~cond); {87741#true} is VALID [2022-04-08 08:36:44,878 INFO L290 TraceCheckUtils]: 15: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,879 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {87741#true} {87741#true} #1254#return; {87741#true} is VALID [2022-04-08 08:36:44,879 INFO L290 TraceCheckUtils]: 17: Hoare triple {87741#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {87741#true} is VALID [2022-04-08 08:36:44,879 INFO L290 TraceCheckUtils]: 18: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,879 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {87741#true} {87741#true} #1218#return; {87741#true} is VALID [2022-04-08 08:36:44,879 INFO L290 TraceCheckUtils]: 20: Hoare triple {87741#true} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {87741#true} is VALID [2022-04-08 08:36:44,879 INFO L290 TraceCheckUtils]: 21: Hoare triple {87741#true} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {87741#true} is VALID [2022-04-08 08:36:44,879 INFO L290 TraceCheckUtils]: 22: Hoare triple {87741#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {87741#true} is VALID [2022-04-08 08:36:44,880 INFO L272 TraceCheckUtils]: 23: Hoare triple {87741#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {87847#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:36:44,880 INFO L290 TraceCheckUtils]: 24: Hoare triple {87847#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {87741#true} is VALID [2022-04-08 08:36:44,881 INFO L272 TraceCheckUtils]: 25: Hoare triple {87741#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {87847#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:36:44,881 INFO L290 TraceCheckUtils]: 26: Hoare triple {87847#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {87741#true} is VALID [2022-04-08 08:36:44,881 INFO L290 TraceCheckUtils]: 27: Hoare triple {87741#true} assume 0 == ~__BLAST_NONDET~5; {87741#true} is VALID [2022-04-08 08:36:44,881 INFO L290 TraceCheckUtils]: 28: Hoare triple {87741#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {87741#true} is VALID [2022-04-08 08:36:44,881 INFO L290 TraceCheckUtils]: 29: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,881 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {87741#true} {87741#true} #1176#return; {87741#true} is VALID [2022-04-08 08:36:44,881 INFO L290 TraceCheckUtils]: 31: Hoare triple {87741#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {87741#true} is VALID [2022-04-08 08:36:44,881 INFO L290 TraceCheckUtils]: 32: Hoare triple {87741#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {87741#true} is VALID [2022-04-08 08:36:44,881 INFO L272 TraceCheckUtils]: 33: Hoare triple {87741#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {87842#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:36:44,882 INFO L290 TraceCheckUtils]: 34: Hoare triple {87842#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {87741#true} is VALID [2022-04-08 08:36:44,882 INFO L290 TraceCheckUtils]: 35: Hoare triple {87741#true} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {87741#true} is VALID [2022-04-08 08:36:44,882 INFO L290 TraceCheckUtils]: 36: Hoare triple {87741#true} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {87741#true} is VALID [2022-04-08 08:36:44,882 INFO L290 TraceCheckUtils]: 37: Hoare triple {87741#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {87741#true} is VALID [2022-04-08 08:36:44,882 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {87741#true} {87741#true} #1178#return; {87741#true} is VALID [2022-04-08 08:36:44,882 INFO L290 TraceCheckUtils]: 39: Hoare triple {87741#true} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {87741#true} is VALID [2022-04-08 08:36:44,882 INFO L272 TraceCheckUtils]: 40: Hoare triple {87741#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {87741#true} is VALID [2022-04-08 08:36:44,882 INFO L290 TraceCheckUtils]: 41: Hoare triple {87741#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {87741#true} is VALID [2022-04-08 08:36:44,882 INFO L290 TraceCheckUtils]: 42: Hoare triple {87741#true} assume 0 == ~__BLAST_NONDET~2; {87741#true} is VALID [2022-04-08 08:36:44,882 INFO L290 TraceCheckUtils]: 43: Hoare triple {87741#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {87741#true} is VALID [2022-04-08 08:36:44,882 INFO L290 TraceCheckUtils]: 44: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,882 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {87741#true} {87741#true} #1180#return; {87741#true} is VALID [2022-04-08 08:36:44,882 INFO L290 TraceCheckUtils]: 46: Hoare triple {87741#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {87741#true} is VALID [2022-04-08 08:36:44,882 INFO L290 TraceCheckUtils]: 47: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,882 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {87741#true} {87741#true} #1220#return; {87741#true} is VALID [2022-04-08 08:36:44,882 INFO L290 TraceCheckUtils]: 49: Hoare triple {87741#true} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {87741#true} is VALID [2022-04-08 08:36:44,883 INFO L272 TraceCheckUtils]: 50: Hoare triple {87741#true} call stub_driver_init(); {87863#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:36:44,883 INFO L290 TraceCheckUtils]: 51: Hoare triple {87863#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {87741#true} is VALID [2022-04-08 08:36:44,883 INFO L290 TraceCheckUtils]: 52: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,883 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {87741#true} {87741#true} #1222#return; {87741#true} is VALID [2022-04-08 08:36:44,883 INFO L290 TraceCheckUtils]: 54: Hoare triple {87741#true} assume !!(~status~5 >= 0); {87741#true} is VALID [2022-04-08 08:36:44,883 INFO L290 TraceCheckUtils]: 55: Hoare triple {87741#true} assume !(0 == ~__BLAST_NONDET~0); {87741#true} is VALID [2022-04-08 08:36:44,883 INFO L290 TraceCheckUtils]: 56: Hoare triple {87741#true} assume !(1 == ~__BLAST_NONDET~0); {87741#true} is VALID [2022-04-08 08:36:44,883 INFO L290 TraceCheckUtils]: 57: Hoare triple {87741#true} assume !(2 == ~__BLAST_NONDET~0); {87741#true} is VALID [2022-04-08 08:36:44,883 INFO L290 TraceCheckUtils]: 58: Hoare triple {87741#true} assume 3 == ~__BLAST_NONDET~0; {87741#true} is VALID [2022-04-08 08:36:44,884 INFO L272 TraceCheckUtils]: 59: Hoare triple {87741#true} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {87864#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(#length)| |#length|) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:36:44,884 INFO L290 TraceCheckUtils]: 60: Hoare triple {87864#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(#length)| |#length|) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~devExt~3.base, ~devExt~3.offset;havoc ~irpStack~3.base, ~irpStack~3.offset;havoc ~status~3;call ~#event~1.base, ~#event~1.offset := #Ultimate.allocOnStack(16);havoc ~irpSp~0.base, ~irpSp~0.offset;havoc ~nextIrpSp~0.base, ~nextIrpSp~0.offset;havoc ~irpSp___0~0.base, ~irpSp___0~0.offset;~status~3 := 0;call #t~mem79.base, #t~mem79.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~3.base, ~devExt~3.offset := #t~mem79.base, #t~mem79.offset;havoc #t~mem79.base, #t~mem79.offset;call #t~mem80.base, #t~mem80.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~3.base, ~irpStack~3.offset := #t~mem80.base, #t~mem80.offset;havoc #t~mem80.base, #t~mem80.offset;call #t~mem81 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {87741#true} is VALID [2022-04-08 08:36:44,884 INFO L290 TraceCheckUtils]: 61: Hoare triple {87741#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {87741#true} is VALID [2022-04-08 08:36:44,884 INFO L290 TraceCheckUtils]: 62: Hoare triple {87741#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp~0.base, ~irpSp~0.offset := #t~mem102.base, #t~mem102.offset;havoc #t~mem102.base, #t~mem102.offset;call #t~mem103.base, #t~mem103.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 36;havoc #t~mem103.base, #t~mem103.offset; {87741#true} is VALID [2022-04-08 08:36:44,885 INFO L272 TraceCheckUtils]: 63: Hoare triple {87741#true} call #t~memmove~res104.base, #t~memmove~res104.offset := #Ultimate.C_memmove(~nextIrpSp~0.base, ~nextIrpSp~0.offset, ~irpSp~0.base, ~irpSp~0.offset, 28); {87842#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:36:44,885 INFO L290 TraceCheckUtils]: 64: Hoare triple {87842#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {87741#true} is VALID [2022-04-08 08:36:44,885 INFO L290 TraceCheckUtils]: 65: Hoare triple {87741#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {87741#true} is VALID [2022-04-08 08:36:44,885 INFO L290 TraceCheckUtils]: 66: Hoare triple {87741#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {87741#true} is VALID [2022-04-08 08:36:44,885 INFO L290 TraceCheckUtils]: 67: Hoare triple {87741#true} assume #res.base == dest.base && #res.offset == dest.offset; {87741#true} is VALID [2022-04-08 08:36:44,885 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {87741#true} {87741#true} #1186#return; {87741#true} is VALID [2022-04-08 08:36:44,885 INFO L290 TraceCheckUtils]: 69: Hoare triple {87741#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {87741#true} is VALID [2022-04-08 08:36:44,885 INFO L290 TraceCheckUtils]: 70: Hoare triple {87741#true} assume !(~s~0 != ~NP~0); {87741#true} is VALID [2022-04-08 08:36:44,886 INFO L290 TraceCheckUtils]: 71: Hoare triple {87741#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {87741#true} is VALID [2022-04-08 08:36:44,886 INFO L290 TraceCheckUtils]: 72: Hoare triple {87741#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 36;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 28 + ~irpSp___0~0.offset, 4);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 32 + ~irpSp___0~0.offset, 4);call write~int(0, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(64, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call #t~mem106 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem106 % 256, 128), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem106;call #t~mem107 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem107 % 256, 32), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem107;call #t~mem108.base, #t~mem108.offset := read~$Pointer$(~devExt~3.base, 8 + ~devExt~3.offset, 4); {87741#true} is VALID [2022-04-08 08:36:44,886 INFO L272 TraceCheckUtils]: 73: Hoare triple {87741#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {87902#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:36:44,886 INFO L290 TraceCheckUtils]: 74: Hoare triple {87902#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {87741#true} is VALID [2022-04-08 08:36:44,886 INFO L290 TraceCheckUtils]: 75: Hoare triple {87741#true} assume 0 != ~compRegistered~0; {87741#true} is VALID [2022-04-08 08:36:44,887 INFO L272 TraceCheckUtils]: 76: Hoare triple {87741#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {87914#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:36:44,887 INFO L290 TraceCheckUtils]: 77: Hoare triple {87914#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {87741#true} is VALID [2022-04-08 08:36:44,887 INFO L272 TraceCheckUtils]: 78: Hoare triple {87741#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {87914#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:36:44,888 INFO L290 TraceCheckUtils]: 79: Hoare triple {87914#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {87741#true} is VALID [2022-04-08 08:36:44,888 INFO L290 TraceCheckUtils]: 80: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,888 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {87741#true} {87741#true} #1174#return; {87741#true} is VALID [2022-04-08 08:36:44,888 INFO L290 TraceCheckUtils]: 82: Hoare triple {87741#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {87741#true} is VALID [2022-04-08 08:36:44,888 INFO L290 TraceCheckUtils]: 83: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,888 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {87741#true} {87741#true} #1210#return; {87741#true} is VALID [2022-04-08 08:36:44,888 INFO L290 TraceCheckUtils]: 85: Hoare triple {87741#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {87741#true} is VALID [2022-04-08 08:36:44,888 INFO L290 TraceCheckUtils]: 86: Hoare triple {87741#true} assume -1073741802 == ~compRetStatus~0; {87741#true} is VALID [2022-04-08 08:36:44,888 INFO L272 TraceCheckUtils]: 87: Hoare triple {87741#true} call stubMoreProcessingRequired(); {87918#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:36:44,888 INFO L290 TraceCheckUtils]: 88: Hoare triple {87918#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {87741#true} is VALID [2022-04-08 08:36:44,888 INFO L290 TraceCheckUtils]: 89: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,888 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {87741#true} {87741#true} #1212#return; {87741#true} is VALID [2022-04-08 08:36:44,888 INFO L290 TraceCheckUtils]: 91: Hoare triple {87741#true} assume !(0 == ~__BLAST_NONDET~11); {87741#true} is VALID [2022-04-08 08:36:44,888 INFO L290 TraceCheckUtils]: 92: Hoare triple {87741#true} assume 1 == ~__BLAST_NONDET~11; {87741#true} is VALID [2022-04-08 08:36:44,888 INFO L290 TraceCheckUtils]: 93: Hoare triple {87741#true} ~returnVal2~0 := -1073741823; {87741#true} is VALID [2022-04-08 08:36:44,888 INFO L290 TraceCheckUtils]: 94: Hoare triple {87741#true} assume !(~s~0 == ~NP~0); {87741#true} is VALID [2022-04-08 08:36:44,889 INFO L290 TraceCheckUtils]: 95: Hoare triple {87741#true} assume ~s~0 == ~MPR1~0; {87741#true} is VALID [2022-04-08 08:36:44,889 INFO L290 TraceCheckUtils]: 96: Hoare triple {87741#true} assume !(259 == ~returnVal2~0);~s~0 := ~NP~0;~lowerDriverReturn~0 := ~returnVal2~0; {87741#true} is VALID [2022-04-08 08:36:44,889 INFO L290 TraceCheckUtils]: 97: Hoare triple {87741#true} #res := ~returnVal2~0; {87741#true} is VALID [2022-04-08 08:36:44,889 INFO L290 TraceCheckUtils]: 98: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,889 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {87741#true} {87741#true} #1192#return; {87741#true} is VALID [2022-04-08 08:36:44,889 INFO L290 TraceCheckUtils]: 100: Hoare triple {87741#true} assume -2147483648 <= #t~ret109 && #t~ret109 <= 2147483647;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {87741#true} is VALID [2022-04-08 08:36:44,889 INFO L290 TraceCheckUtils]: 101: Hoare triple {87741#true} assume !(259 == ~status~3); {87741#true} is VALID [2022-04-08 08:36:44,889 INFO L290 TraceCheckUtils]: 102: Hoare triple {87741#true} assume !(~status~3 >= 0); {87896#(<= (+ KbFilter_PnP_~status~3 1) 0)} is VALID [2022-04-08 08:36:44,889 INFO L290 TraceCheckUtils]: 103: Hoare triple {87896#(<= (+ KbFilter_PnP_~status~3 1) 0)} call write~int(~status~3, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~3;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4); {87896#(<= (+ KbFilter_PnP_~status~3 1) 0)} is VALID [2022-04-08 08:36:44,890 INFO L272 TraceCheckUtils]: 104: Hoare triple {87896#(<= (+ KbFilter_PnP_~status~3 1) 0)} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {87918#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:36:44,890 INFO L290 TraceCheckUtils]: 105: Hoare triple {87918#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {87741#true} is VALID [2022-04-08 08:36:44,890 INFO L290 TraceCheckUtils]: 106: Hoare triple {87741#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {87741#true} is VALID [2022-04-08 08:36:44,890 INFO L290 TraceCheckUtils]: 107: Hoare triple {87741#true} assume true; {87741#true} is VALID [2022-04-08 08:36:44,890 INFO L284 TraceCheckUtils]: 108: Hoare quadruple {87741#true} {87896#(<= (+ KbFilter_PnP_~status~3 1) 0)} #1196#return; {87896#(<= (+ KbFilter_PnP_~status~3 1) 0)} is VALID [2022-04-08 08:36:44,891 INFO L290 TraceCheckUtils]: 109: Hoare triple {87896#(<= (+ KbFilter_PnP_~status~3 1) 0)} #res := ~status~3;call ULTIMATE.dealloc(~#event~1.base, ~#event~1.offset);havoc ~#event~1.base, ~#event~1.offset; {87901#(<= (+ |KbFilter_PnP_#res| 1) 0)} is VALID [2022-04-08 08:36:44,891 INFO L290 TraceCheckUtils]: 110: Hoare triple {87901#(<= (+ |KbFilter_PnP_#res| 1) 0)} assume true; {87901#(<= (+ |KbFilter_PnP_#res| 1) 0)} is VALID [2022-04-08 08:36:44,892 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {87901#(<= (+ |KbFilter_PnP_#res| 1) 0)} {87741#true} #1230#return; {87838#(<= (+ 1 |main_#t~ret174|) 0)} is VALID [2022-04-08 08:36:44,892 INFO L290 TraceCheckUtils]: 112: Hoare triple {87838#(<= (+ 1 |main_#t~ret174|) 0)} assume -2147483648 <= #t~ret174 && #t~ret174 <= 2147483647;~status~5 := #t~ret174;havoc #t~ret174; {87839#(<= (+ main_~status~5 1) 0)} is VALID [2022-04-08 08:36:44,892 INFO L290 TraceCheckUtils]: 113: Hoare triple {87839#(<= (+ main_~status~5 1) 0)} assume 0 != ~we_should_unload~0; {87839#(<= (+ main_~status~5 1) 0)} is VALID [2022-04-08 08:36:44,892 INFO L290 TraceCheckUtils]: 114: Hoare triple {87839#(<= (+ main_~status~5 1) 0)} assume !(1 == ~pended~0); {87839#(<= (+ main_~status~5 1) 0)} is VALID [2022-04-08 08:36:44,893 INFO L290 TraceCheckUtils]: 115: Hoare triple {87839#(<= (+ main_~status~5 1) 0)} assume !(1 == ~pended~0); {87839#(<= (+ main_~status~5 1) 0)} is VALID [2022-04-08 08:36:44,893 INFO L290 TraceCheckUtils]: 116: Hoare triple {87839#(<= (+ main_~status~5 1) 0)} assume !(~s~0 == ~UNLOADED~0); {87839#(<= (+ main_~status~5 1) 0)} is VALID [2022-04-08 08:36:44,893 INFO L290 TraceCheckUtils]: 117: Hoare triple {87839#(<= (+ main_~status~5 1) 0)} assume !(-1 == ~status~5); {87839#(<= (+ main_~status~5 1) 0)} is VALID [2022-04-08 08:36:44,893 INFO L290 TraceCheckUtils]: 118: Hoare triple {87839#(<= (+ main_~status~5 1) 0)} assume ~s~0 != ~SKIP2~0; {87839#(<= (+ main_~status~5 1) 0)} is VALID [2022-04-08 08:36:44,893 INFO L290 TraceCheckUtils]: 119: Hoare triple {87839#(<= (+ main_~status~5 1) 0)} assume ~s~0 != ~IPC~0; {87839#(<= (+ main_~status~5 1) 0)} is VALID [2022-04-08 08:36:44,894 INFO L290 TraceCheckUtils]: 120: Hoare triple {87839#(<= (+ main_~status~5 1) 0)} assume !(~s~0 != ~DC~0); {87839#(<= (+ main_~status~5 1) 0)} is VALID [2022-04-08 08:36:44,894 INFO L290 TraceCheckUtils]: 121: Hoare triple {87839#(<= (+ main_~status~5 1) 0)} assume !(1 == ~pended~0); {87839#(<= (+ main_~status~5 1) 0)} is VALID [2022-04-08 08:36:44,894 INFO L290 TraceCheckUtils]: 122: Hoare triple {87839#(<= (+ main_~status~5 1) 0)} assume ~s~0 == ~DC~0; {87839#(<= (+ main_~status~5 1) 0)} is VALID [2022-04-08 08:36:44,894 INFO L290 TraceCheckUtils]: 123: Hoare triple {87839#(<= (+ main_~status~5 1) 0)} assume 259 == ~status~5; {87742#false} is VALID [2022-04-08 08:36:44,894 INFO L272 TraceCheckUtils]: 124: Hoare triple {87742#false} call errorFn(); {87742#false} is VALID [2022-04-08 08:36:44,894 INFO L290 TraceCheckUtils]: 125: Hoare triple {87742#false} assume !false; {87742#false} is VALID [2022-04-08 08:36:44,895 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 08:36:44,895 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:36:44,895 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [188649776] [2022-04-08 08:36:44,895 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [188649776] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:36:44,895 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:36:44,895 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 08:36:44,895 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:36:44,895 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [879403404] [2022-04-08 08:36:44,895 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [879403404] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:36:44,895 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:36:44,895 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 08:36:44,895 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2045764628] [2022-04-08 08:36:44,895 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:36:44,897 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 6.133333333333334) internal successors, (92), 5 states have internal predecessors, (92), 3 states have call successors, (18), 11 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 2 states have call successors, (16) Word has length 126 [2022-04-08 08:36:44,897 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:36:44,897 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 6.133333333333334) internal successors, (92), 5 states have internal predecessors, (92), 3 states have call successors, (18), 11 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 2 states have call successors, (16) [2022-04-08 08:36:44,985 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 126 edges. 126 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:36:44,985 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-08 08:36:44,985 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:36:44,986 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-08 08:36:44,986 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=163, Unknown=0, NotChecked=0, Total=210 [2022-04-08 08:36:44,986 INFO L87 Difference]: Start difference. First operand 273 states and 298 transitions. Second operand has 15 states, 15 states have (on average 6.133333333333334) internal successors, (92), 5 states have internal predecessors, (92), 3 states have call successors, (18), 11 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 2 states have call successors, (16) [2022-04-08 08:36:47,129 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:36:55,165 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:36:55,165 INFO L93 Difference]: Finished difference Result 323 states and 358 transitions. [2022-04-08 08:36:55,165 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 08:36:55,165 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 6.133333333333334) internal successors, (92), 5 states have internal predecessors, (92), 3 states have call successors, (18), 11 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 2 states have call successors, (16) Word has length 126 [2022-04-08 08:36:55,165 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:36:55,166 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 6.133333333333334) internal successors, (92), 5 states have internal predecessors, (92), 3 states have call successors, (18), 11 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 2 states have call successors, (16) [2022-04-08 08:36:55,167 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 203 transitions. [2022-04-08 08:36:55,167 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 6.133333333333334) internal successors, (92), 5 states have internal predecessors, (92), 3 states have call successors, (18), 11 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 2 states have call successors, (16) [2022-04-08 08:36:55,168 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 203 transitions. [2022-04-08 08:36:55,168 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 203 transitions. [2022-04-08 08:36:55,394 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 203 edges. 203 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:36:55,399 INFO L225 Difference]: With dead ends: 323 [2022-04-08 08:36:55,399 INFO L226 Difference]: Without dead ends: 303 [2022-04-08 08:36:55,399 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 27 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=86, Invalid=294, Unknown=0, NotChecked=0, Total=380 [2022-04-08 08:36:55,399 INFO L913 BasicCegarLoop]: 131 mSDtfsCounter, 384 mSDsluCounter, 244 mSDsCounter, 0 mSdLazyCounter, 728 mSolverCounterSat, 218 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 386 SdHoareTripleChecker+Valid, 375 SdHoareTripleChecker+Invalid, 947 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 218 IncrementalHoareTripleChecker+Valid, 728 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.7s IncrementalHoareTripleChecker+Time [2022-04-08 08:36:55,400 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [386 Valid, 375 Invalid, 947 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [218 Valid, 728 Invalid, 1 Unknown, 0 Unchecked, 4.7s Time] [2022-04-08 08:36:55,400 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 303 states. [2022-04-08 08:36:56,041 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 303 to 271. [2022-04-08 08:36:56,041 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:36:56,041 INFO L82 GeneralOperation]: Start isEquivalent. First operand 303 states. Second operand has 271 states, 205 states have (on average 1.1121951219512196) internal successors, (228), 207 states have internal predecessors, (228), 33 states have call successors, (33), 33 states have call predecessors, (33), 32 states have return successors, (33), 30 states have call predecessors, (33), 31 states have call successors, (33) [2022-04-08 08:36:56,041 INFO L74 IsIncluded]: Start isIncluded. First operand 303 states. Second operand has 271 states, 205 states have (on average 1.1121951219512196) internal successors, (228), 207 states have internal predecessors, (228), 33 states have call successors, (33), 33 states have call predecessors, (33), 32 states have return successors, (33), 30 states have call predecessors, (33), 31 states have call successors, (33) [2022-04-08 08:36:56,042 INFO L87 Difference]: Start difference. First operand 303 states. Second operand has 271 states, 205 states have (on average 1.1121951219512196) internal successors, (228), 207 states have internal predecessors, (228), 33 states have call successors, (33), 33 states have call predecessors, (33), 32 states have return successors, (33), 30 states have call predecessors, (33), 31 states have call successors, (33) [2022-04-08 08:36:56,045 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:36:56,045 INFO L93 Difference]: Finished difference Result 303 states and 334 transitions. [2022-04-08 08:36:56,045 INFO L276 IsEmpty]: Start isEmpty. Operand 303 states and 334 transitions. [2022-04-08 08:36:56,046 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:36:56,046 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:36:56,046 INFO L74 IsIncluded]: Start isIncluded. First operand has 271 states, 205 states have (on average 1.1121951219512196) internal successors, (228), 207 states have internal predecessors, (228), 33 states have call successors, (33), 33 states have call predecessors, (33), 32 states have return successors, (33), 30 states have call predecessors, (33), 31 states have call successors, (33) Second operand 303 states. [2022-04-08 08:36:56,046 INFO L87 Difference]: Start difference. First operand has 271 states, 205 states have (on average 1.1121951219512196) internal successors, (228), 207 states have internal predecessors, (228), 33 states have call successors, (33), 33 states have call predecessors, (33), 32 states have return successors, (33), 30 states have call predecessors, (33), 31 states have call successors, (33) Second operand 303 states. [2022-04-08 08:36:56,049 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:36:56,050 INFO L93 Difference]: Finished difference Result 303 states and 334 transitions. [2022-04-08 08:36:56,050 INFO L276 IsEmpty]: Start isEmpty. Operand 303 states and 334 transitions. [2022-04-08 08:36:56,050 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:36:56,050 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:36:56,050 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:36:56,050 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:36:56,050 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 271 states, 205 states have (on average 1.1121951219512196) internal successors, (228), 207 states have internal predecessors, (228), 33 states have call successors, (33), 33 states have call predecessors, (33), 32 states have return successors, (33), 30 states have call predecessors, (33), 31 states have call successors, (33) [2022-04-08 08:36:56,054 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 271 states to 271 states and 294 transitions. [2022-04-08 08:36:56,054 INFO L78 Accepts]: Start accepts. Automaton has 271 states and 294 transitions. Word has length 126 [2022-04-08 08:36:56,054 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:36:56,054 INFO L478 AbstractCegarLoop]: Abstraction has 271 states and 294 transitions. [2022-04-08 08:36:56,054 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 6.133333333333334) internal successors, (92), 5 states have internal predecessors, (92), 3 states have call successors, (18), 11 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 2 states have call successors, (16) [2022-04-08 08:36:56,054 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 271 states and 294 transitions. [2022-04-08 08:36:56,863 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 294 edges. 294 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:36:56,864 INFO L276 IsEmpty]: Start isEmpty. Operand 271 states and 294 transitions. [2022-04-08 08:36:56,864 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 128 [2022-04-08 08:36:56,864 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:36:56,864 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:36:56,864 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable36 [2022-04-08 08:36:56,865 INFO L403 AbstractCegarLoop]: === Iteration 38 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:36:56,865 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:36:56,865 INFO L85 PathProgramCache]: Analyzing trace with hash -94633934, now seen corresponding path program 1 times [2022-04-08 08:36:56,865 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:36:56,865 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [169160945] [2022-04-08 08:36:56,866 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 4 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 08:36:56,866 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 08:36:56,866 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 08:36:56,867 INFO L85 PathProgramCache]: Analyzing trace with hash -94633934, now seen corresponding path program 2 times [2022-04-08 08:36:56,867 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:36:56,867 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [668856866] [2022-04-08 08:36:56,867 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:36:56,867 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:36:56,944 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:57,015 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:36:57,017 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:57,032 INFO L290 TraceCheckUtils]: 0: Hoare triple {89827#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {89727#true} is VALID [2022-04-08 08:36:57,032 INFO L290 TraceCheckUtils]: 1: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,032 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {89727#true} {89727#true} #1270#return; {89727#true} is VALID [2022-04-08 08:36:57,073 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:36:57,074 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:57,080 INFO L290 TraceCheckUtils]: 0: Hoare triple {89828#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {89727#true} is VALID [2022-04-08 08:36:57,080 INFO L290 TraceCheckUtils]: 1: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,080 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {89727#true} {89727#true} #1216#return; {89727#true} is VALID [2022-04-08 08:36:57,088 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:36:57,094 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:57,100 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:36:57,101 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:57,105 INFO L290 TraceCheckUtils]: 0: Hoare triple {89727#true} ~cond := #in~cond; {89727#true} is VALID [2022-04-08 08:36:57,105 INFO L290 TraceCheckUtils]: 1: Hoare triple {89727#true} assume !(0 == ~cond); {89727#true} is VALID [2022-04-08 08:36:57,105 INFO L290 TraceCheckUtils]: 2: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,105 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {89727#true} {89727#true} #1254#return; {89727#true} is VALID [2022-04-08 08:36:57,105 INFO L290 TraceCheckUtils]: 0: Hoare triple {89829#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {89727#true} is VALID [2022-04-08 08:36:57,105 INFO L272 TraceCheckUtils]: 1: Hoare triple {89727#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {89727#true} is VALID [2022-04-08 08:36:57,105 INFO L290 TraceCheckUtils]: 2: Hoare triple {89727#true} ~cond := #in~cond; {89727#true} is VALID [2022-04-08 08:36:57,105 INFO L290 TraceCheckUtils]: 3: Hoare triple {89727#true} assume !(0 == ~cond); {89727#true} is VALID [2022-04-08 08:36:57,105 INFO L290 TraceCheckUtils]: 4: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,105 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {89727#true} {89727#true} #1254#return; {89727#true} is VALID [2022-04-08 08:36:57,105 INFO L290 TraceCheckUtils]: 6: Hoare triple {89727#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {89727#true} is VALID [2022-04-08 08:36:57,106 INFO L290 TraceCheckUtils]: 7: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,106 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {89727#true} {89727#true} #1218#return; {89727#true} is VALID [2022-04-08 08:36:57,116 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:36:57,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:57,137 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:36:57,140 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:57,146 INFO L290 TraceCheckUtils]: 0: Hoare triple {89834#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {89727#true} is VALID [2022-04-08 08:36:57,146 INFO L290 TraceCheckUtils]: 1: Hoare triple {89727#true} assume 0 == ~__BLAST_NONDET~5; {89727#true} is VALID [2022-04-08 08:36:57,146 INFO L290 TraceCheckUtils]: 2: Hoare triple {89727#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {89727#true} is VALID [2022-04-08 08:36:57,146 INFO L290 TraceCheckUtils]: 3: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,146 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {89727#true} {89727#true} #1176#return; {89727#true} is VALID [2022-04-08 08:36:57,146 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 08:36:57,147 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:57,152 INFO L290 TraceCheckUtils]: 0: Hoare triple {89829#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {89727#true} is VALID [2022-04-08 08:36:57,152 INFO L290 TraceCheckUtils]: 1: Hoare triple {89727#true} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {89727#true} is VALID [2022-04-08 08:36:57,152 INFO L290 TraceCheckUtils]: 2: Hoare triple {89727#true} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {89727#true} is VALID [2022-04-08 08:36:57,152 INFO L290 TraceCheckUtils]: 3: Hoare triple {89727#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {89727#true} is VALID [2022-04-08 08:36:57,153 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {89727#true} {89727#true} #1178#return; {89727#true} is VALID [2022-04-08 08:36:57,153 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-08 08:36:57,154 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:57,158 INFO L290 TraceCheckUtils]: 0: Hoare triple {89727#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {89727#true} is VALID [2022-04-08 08:36:57,158 INFO L290 TraceCheckUtils]: 1: Hoare triple {89727#true} assume 0 == ~__BLAST_NONDET~2; {89727#true} is VALID [2022-04-08 08:36:57,158 INFO L290 TraceCheckUtils]: 2: Hoare triple {89727#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {89727#true} is VALID [2022-04-08 08:36:57,158 INFO L290 TraceCheckUtils]: 3: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,158 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {89727#true} {89727#true} #1180#return; {89727#true} is VALID [2022-04-08 08:36:57,158 INFO L290 TraceCheckUtils]: 0: Hoare triple {89834#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {89727#true} is VALID [2022-04-08 08:36:57,159 INFO L272 TraceCheckUtils]: 1: Hoare triple {89727#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {89834#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:36:57,160 INFO L290 TraceCheckUtils]: 2: Hoare triple {89834#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {89727#true} is VALID [2022-04-08 08:36:57,160 INFO L290 TraceCheckUtils]: 3: Hoare triple {89727#true} assume 0 == ~__BLAST_NONDET~5; {89727#true} is VALID [2022-04-08 08:36:57,160 INFO L290 TraceCheckUtils]: 4: Hoare triple {89727#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {89727#true} is VALID [2022-04-08 08:36:57,160 INFO L290 TraceCheckUtils]: 5: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,160 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {89727#true} {89727#true} #1176#return; {89727#true} is VALID [2022-04-08 08:36:57,160 INFO L290 TraceCheckUtils]: 7: Hoare triple {89727#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {89727#true} is VALID [2022-04-08 08:36:57,160 INFO L290 TraceCheckUtils]: 8: Hoare triple {89727#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {89727#true} is VALID [2022-04-08 08:36:57,160 INFO L272 TraceCheckUtils]: 9: Hoare triple {89727#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {89829#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:36:57,161 INFO L290 TraceCheckUtils]: 10: Hoare triple {89829#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {89727#true} is VALID [2022-04-08 08:36:57,161 INFO L290 TraceCheckUtils]: 11: Hoare triple {89727#true} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {89727#true} is VALID [2022-04-08 08:36:57,161 INFO L290 TraceCheckUtils]: 12: Hoare triple {89727#true} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {89727#true} is VALID [2022-04-08 08:36:57,161 INFO L290 TraceCheckUtils]: 13: Hoare triple {89727#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {89727#true} is VALID [2022-04-08 08:36:57,161 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {89727#true} {89727#true} #1178#return; {89727#true} is VALID [2022-04-08 08:36:57,161 INFO L290 TraceCheckUtils]: 15: Hoare triple {89727#true} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {89727#true} is VALID [2022-04-08 08:36:57,161 INFO L272 TraceCheckUtils]: 16: Hoare triple {89727#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {89727#true} is VALID [2022-04-08 08:36:57,161 INFO L290 TraceCheckUtils]: 17: Hoare triple {89727#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {89727#true} is VALID [2022-04-08 08:36:57,161 INFO L290 TraceCheckUtils]: 18: Hoare triple {89727#true} assume 0 == ~__BLAST_NONDET~2; {89727#true} is VALID [2022-04-08 08:36:57,161 INFO L290 TraceCheckUtils]: 19: Hoare triple {89727#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {89727#true} is VALID [2022-04-08 08:36:57,161 INFO L290 TraceCheckUtils]: 20: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,161 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {89727#true} {89727#true} #1180#return; {89727#true} is VALID [2022-04-08 08:36:57,161 INFO L290 TraceCheckUtils]: 22: Hoare triple {89727#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {89727#true} is VALID [2022-04-08 08:36:57,161 INFO L290 TraceCheckUtils]: 23: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,161 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {89727#true} {89727#true} #1220#return; {89727#true} is VALID [2022-04-08 08:36:57,175 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-08 08:36:57,176 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:57,180 INFO L290 TraceCheckUtils]: 0: Hoare triple {89850#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {89727#true} is VALID [2022-04-08 08:36:57,180 INFO L290 TraceCheckUtils]: 1: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,180 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {89727#true} {89727#true} #1222#return; {89727#true} is VALID [2022-04-08 08:36:57,203 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 59 [2022-04-08 08:36:57,220 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:57,250 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-04-08 08:36:57,251 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:57,256 INFO L290 TraceCheckUtils]: 0: Hoare triple {89829#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {89727#true} is VALID [2022-04-08 08:36:57,256 INFO L290 TraceCheckUtils]: 1: Hoare triple {89727#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {89727#true} is VALID [2022-04-08 08:36:57,256 INFO L290 TraceCheckUtils]: 2: Hoare triple {89727#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {89727#true} is VALID [2022-04-08 08:36:57,256 INFO L290 TraceCheckUtils]: 3: Hoare triple {89727#true} assume #res.base == dest.base && #res.offset == dest.offset; {89727#true} is VALID [2022-04-08 08:36:57,256 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {89727#true} {89727#true} #1186#return; {89727#true} is VALID [2022-04-08 08:36:57,267 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 08:36:57,271 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:57,312 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 08:36:57,314 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:57,318 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:36:57,319 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:57,323 INFO L290 TraceCheckUtils]: 0: Hoare triple {89903#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {89727#true} is VALID [2022-04-08 08:36:57,323 INFO L290 TraceCheckUtils]: 1: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,323 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {89727#true} {89727#true} #1174#return; {89727#true} is VALID [2022-04-08 08:36:57,323 INFO L290 TraceCheckUtils]: 0: Hoare triple {89903#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {89727#true} is VALID [2022-04-08 08:36:57,324 INFO L272 TraceCheckUtils]: 1: Hoare triple {89727#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {89903#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:36:57,324 INFO L290 TraceCheckUtils]: 2: Hoare triple {89903#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {89727#true} is VALID [2022-04-08 08:36:57,324 INFO L290 TraceCheckUtils]: 3: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,324 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {89727#true} {89727#true} #1174#return; {89727#true} is VALID [2022-04-08 08:36:57,324 INFO L290 TraceCheckUtils]: 5: Hoare triple {89727#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {89727#true} is VALID [2022-04-08 08:36:57,324 INFO L290 TraceCheckUtils]: 6: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,324 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {89727#true} {89727#true} #1210#return; {89727#true} is VALID [2022-04-08 08:36:57,335 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 08:36:57,335 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:57,339 INFO L290 TraceCheckUtils]: 0: Hoare triple {89907#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {89727#true} is VALID [2022-04-08 08:36:57,339 INFO L290 TraceCheckUtils]: 1: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,340 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {89727#true} {89727#true} #1212#return; {89727#true} is VALID [2022-04-08 08:36:57,340 INFO L290 TraceCheckUtils]: 0: Hoare triple {89889#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {89727#true} is VALID [2022-04-08 08:36:57,340 INFO L290 TraceCheckUtils]: 1: Hoare triple {89727#true} assume 0 != ~compRegistered~0; {89727#true} is VALID [2022-04-08 08:36:57,341 INFO L272 TraceCheckUtils]: 2: Hoare triple {89727#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {89903#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:36:57,341 INFO L290 TraceCheckUtils]: 3: Hoare triple {89903#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {89727#true} is VALID [2022-04-08 08:36:57,341 INFO L272 TraceCheckUtils]: 4: Hoare triple {89727#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {89903#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:36:57,341 INFO L290 TraceCheckUtils]: 5: Hoare triple {89903#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {89727#true} is VALID [2022-04-08 08:36:57,341 INFO L290 TraceCheckUtils]: 6: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,341 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {89727#true} {89727#true} #1174#return; {89727#true} is VALID [2022-04-08 08:36:57,341 INFO L290 TraceCheckUtils]: 8: Hoare triple {89727#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {89727#true} is VALID [2022-04-08 08:36:57,341 INFO L290 TraceCheckUtils]: 9: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,341 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {89727#true} {89727#true} #1210#return; {89727#true} is VALID [2022-04-08 08:36:57,342 INFO L290 TraceCheckUtils]: 11: Hoare triple {89727#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {89727#true} is VALID [2022-04-08 08:36:57,342 INFO L290 TraceCheckUtils]: 12: Hoare triple {89727#true} assume -1073741802 == ~compRetStatus~0; {89727#true} is VALID [2022-04-08 08:36:57,342 INFO L272 TraceCheckUtils]: 13: Hoare triple {89727#true} call stubMoreProcessingRequired(); {89907#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:36:57,342 INFO L290 TraceCheckUtils]: 14: Hoare triple {89907#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {89727#true} is VALID [2022-04-08 08:36:57,342 INFO L290 TraceCheckUtils]: 15: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,342 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {89727#true} {89727#true} #1212#return; {89727#true} is VALID [2022-04-08 08:36:57,342 INFO L290 TraceCheckUtils]: 17: Hoare triple {89727#true} assume !(0 == ~__BLAST_NONDET~11); {89727#true} is VALID [2022-04-08 08:36:57,342 INFO L290 TraceCheckUtils]: 18: Hoare triple {89727#true} assume 1 == ~__BLAST_NONDET~11; {89727#true} is VALID [2022-04-08 08:36:57,342 INFO L290 TraceCheckUtils]: 19: Hoare triple {89727#true} ~returnVal2~0 := -1073741823; {89901#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 08:36:57,343 INFO L290 TraceCheckUtils]: 20: Hoare triple {89901#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} assume !(~s~0 == ~NP~0); {89901#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 08:36:57,343 INFO L290 TraceCheckUtils]: 21: Hoare triple {89901#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} assume ~s~0 == ~MPR1~0; {89901#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 08:36:57,343 INFO L290 TraceCheckUtils]: 22: Hoare triple {89901#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} assume !(259 == ~returnVal2~0);~s~0 := ~NP~0;~lowerDriverReturn~0 := ~returnVal2~0; {89901#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 08:36:57,344 INFO L290 TraceCheckUtils]: 23: Hoare triple {89901#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} #res := ~returnVal2~0; {89902#(<= (+ |IofCallDriver_#res| 1073741823) 0)} is VALID [2022-04-08 08:36:57,344 INFO L290 TraceCheckUtils]: 24: Hoare triple {89902#(<= (+ |IofCallDriver_#res| 1073741823) 0)} assume true; {89902#(<= (+ |IofCallDriver_#res| 1073741823) 0)} is VALID [2022-04-08 08:36:57,345 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {89902#(<= (+ |IofCallDriver_#res| 1073741823) 0)} {89727#true} #1192#return; {89883#(<= (+ 1073741823 |KbFilter_PnP_#t~ret109|) 0)} is VALID [2022-04-08 08:36:57,345 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 45 [2022-04-08 08:36:57,345 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:36:57,349 INFO L290 TraceCheckUtils]: 0: Hoare triple {89907#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {89727#true} is VALID [2022-04-08 08:36:57,349 INFO L290 TraceCheckUtils]: 1: Hoare triple {89727#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {89727#true} is VALID [2022-04-08 08:36:57,349 INFO L290 TraceCheckUtils]: 2: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,350 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {89727#true} {89728#false} #1196#return; {89728#false} is VALID [2022-04-08 08:36:57,350 INFO L290 TraceCheckUtils]: 0: Hoare triple {89851#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(#length)| |#length|) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~devExt~3.base, ~devExt~3.offset;havoc ~irpStack~3.base, ~irpStack~3.offset;havoc ~status~3;call ~#event~1.base, ~#event~1.offset := #Ultimate.allocOnStack(16);havoc ~irpSp~0.base, ~irpSp~0.offset;havoc ~nextIrpSp~0.base, ~nextIrpSp~0.offset;havoc ~irpSp___0~0.base, ~irpSp___0~0.offset;~status~3 := 0;call #t~mem79.base, #t~mem79.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~3.base, ~devExt~3.offset := #t~mem79.base, #t~mem79.offset;havoc #t~mem79.base, #t~mem79.offset;call #t~mem80.base, #t~mem80.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~3.base, ~irpStack~3.offset := #t~mem80.base, #t~mem80.offset;havoc #t~mem80.base, #t~mem80.offset;call #t~mem81 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {89727#true} is VALID [2022-04-08 08:36:57,350 INFO L290 TraceCheckUtils]: 1: Hoare triple {89727#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {89727#true} is VALID [2022-04-08 08:36:57,350 INFO L290 TraceCheckUtils]: 2: Hoare triple {89727#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp~0.base, ~irpSp~0.offset := #t~mem102.base, #t~mem102.offset;havoc #t~mem102.base, #t~mem102.offset;call #t~mem103.base, #t~mem103.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 36;havoc #t~mem103.base, #t~mem103.offset; {89727#true} is VALID [2022-04-08 08:36:57,351 INFO L272 TraceCheckUtils]: 3: Hoare triple {89727#true} call #t~memmove~res104.base, #t~memmove~res104.offset := #Ultimate.C_memmove(~nextIrpSp~0.base, ~nextIrpSp~0.offset, ~irpSp~0.base, ~irpSp~0.offset, 28); {89829#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:36:57,351 INFO L290 TraceCheckUtils]: 4: Hoare triple {89829#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {89727#true} is VALID [2022-04-08 08:36:57,351 INFO L290 TraceCheckUtils]: 5: Hoare triple {89727#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {89727#true} is VALID [2022-04-08 08:36:57,351 INFO L290 TraceCheckUtils]: 6: Hoare triple {89727#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {89727#true} is VALID [2022-04-08 08:36:57,351 INFO L290 TraceCheckUtils]: 7: Hoare triple {89727#true} assume #res.base == dest.base && #res.offset == dest.offset; {89727#true} is VALID [2022-04-08 08:36:57,351 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {89727#true} {89727#true} #1186#return; {89727#true} is VALID [2022-04-08 08:36:57,351 INFO L290 TraceCheckUtils]: 9: Hoare triple {89727#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {89727#true} is VALID [2022-04-08 08:36:57,351 INFO L290 TraceCheckUtils]: 10: Hoare triple {89727#true} assume !(~s~0 != ~NP~0); {89727#true} is VALID [2022-04-08 08:36:57,351 INFO L290 TraceCheckUtils]: 11: Hoare triple {89727#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {89727#true} is VALID [2022-04-08 08:36:57,351 INFO L290 TraceCheckUtils]: 12: Hoare triple {89727#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 36;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 28 + ~irpSp___0~0.offset, 4);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 32 + ~irpSp___0~0.offset, 4);call write~int(0, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(64, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call #t~mem106 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem106 % 256, 128), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem106;call #t~mem107 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem107 % 256, 32), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem107;call #t~mem108.base, #t~mem108.offset := read~$Pointer$(~devExt~3.base, 8 + ~devExt~3.offset, 4); {89727#true} is VALID [2022-04-08 08:36:57,356 INFO L272 TraceCheckUtils]: 13: Hoare triple {89727#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {89889#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:36:57,356 INFO L290 TraceCheckUtils]: 14: Hoare triple {89889#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {89727#true} is VALID [2022-04-08 08:36:57,356 INFO L290 TraceCheckUtils]: 15: Hoare triple {89727#true} assume 0 != ~compRegistered~0; {89727#true} is VALID [2022-04-08 08:36:57,357 INFO L272 TraceCheckUtils]: 16: Hoare triple {89727#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {89903#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:36:57,357 INFO L290 TraceCheckUtils]: 17: Hoare triple {89903#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {89727#true} is VALID [2022-04-08 08:36:57,359 INFO L272 TraceCheckUtils]: 18: Hoare triple {89727#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {89903#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:36:57,359 INFO L290 TraceCheckUtils]: 19: Hoare triple {89903#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {89727#true} is VALID [2022-04-08 08:36:57,359 INFO L290 TraceCheckUtils]: 20: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,360 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {89727#true} {89727#true} #1174#return; {89727#true} is VALID [2022-04-08 08:36:57,360 INFO L290 TraceCheckUtils]: 22: Hoare triple {89727#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {89727#true} is VALID [2022-04-08 08:36:57,360 INFO L290 TraceCheckUtils]: 23: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,360 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {89727#true} {89727#true} #1210#return; {89727#true} is VALID [2022-04-08 08:36:57,360 INFO L290 TraceCheckUtils]: 25: Hoare triple {89727#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {89727#true} is VALID [2022-04-08 08:36:57,360 INFO L290 TraceCheckUtils]: 26: Hoare triple {89727#true} assume -1073741802 == ~compRetStatus~0; {89727#true} is VALID [2022-04-08 08:36:57,360 INFO L272 TraceCheckUtils]: 27: Hoare triple {89727#true} call stubMoreProcessingRequired(); {89907#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:36:57,360 INFO L290 TraceCheckUtils]: 28: Hoare triple {89907#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {89727#true} is VALID [2022-04-08 08:36:57,360 INFO L290 TraceCheckUtils]: 29: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,360 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {89727#true} {89727#true} #1212#return; {89727#true} is VALID [2022-04-08 08:36:57,360 INFO L290 TraceCheckUtils]: 31: Hoare triple {89727#true} assume !(0 == ~__BLAST_NONDET~11); {89727#true} is VALID [2022-04-08 08:36:57,360 INFO L290 TraceCheckUtils]: 32: Hoare triple {89727#true} assume 1 == ~__BLAST_NONDET~11; {89727#true} is VALID [2022-04-08 08:36:57,361 INFO L290 TraceCheckUtils]: 33: Hoare triple {89727#true} ~returnVal2~0 := -1073741823; {89901#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 08:36:57,361 INFO L290 TraceCheckUtils]: 34: Hoare triple {89901#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} assume !(~s~0 == ~NP~0); {89901#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 08:36:57,361 INFO L290 TraceCheckUtils]: 35: Hoare triple {89901#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} assume ~s~0 == ~MPR1~0; {89901#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 08:36:57,362 INFO L290 TraceCheckUtils]: 36: Hoare triple {89901#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} assume !(259 == ~returnVal2~0);~s~0 := ~NP~0;~lowerDriverReturn~0 := ~returnVal2~0; {89901#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 08:36:57,362 INFO L290 TraceCheckUtils]: 37: Hoare triple {89901#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} #res := ~returnVal2~0; {89902#(<= (+ |IofCallDriver_#res| 1073741823) 0)} is VALID [2022-04-08 08:36:57,362 INFO L290 TraceCheckUtils]: 38: Hoare triple {89902#(<= (+ |IofCallDriver_#res| 1073741823) 0)} assume true; {89902#(<= (+ |IofCallDriver_#res| 1073741823) 0)} is VALID [2022-04-08 08:36:57,363 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {89902#(<= (+ |IofCallDriver_#res| 1073741823) 0)} {89727#true} #1192#return; {89883#(<= (+ 1073741823 |KbFilter_PnP_#t~ret109|) 0)} is VALID [2022-04-08 08:36:57,363 INFO L290 TraceCheckUtils]: 40: Hoare triple {89883#(<= (+ 1073741823 |KbFilter_PnP_#t~ret109|) 0)} assume -2147483648 <= #t~ret109 && #t~ret109 <= 2147483647;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {89884#(<= (+ KbFilter_PnP_~status~3 1073741823) 0)} is VALID [2022-04-08 08:36:57,364 INFO L290 TraceCheckUtils]: 41: Hoare triple {89884#(<= (+ KbFilter_PnP_~status~3 1073741823) 0)} assume !(259 == ~status~3); {89884#(<= (+ KbFilter_PnP_~status~3 1073741823) 0)} is VALID [2022-04-08 08:36:57,364 INFO L290 TraceCheckUtils]: 42: Hoare triple {89884#(<= (+ KbFilter_PnP_~status~3 1073741823) 0)} assume ~status~3 >= 0; {89728#false} is VALID [2022-04-08 08:36:57,364 INFO L290 TraceCheckUtils]: 43: Hoare triple {89728#false} assume ~myStatus~0 >= 0;call write~int(1, ~devExt~3.base, 52 + ~devExt~3.offset, 1);call write~int(0, ~devExt~3.base, 54 + ~devExt~3.offset, 1);call write~int(0, ~devExt~3.base, 53 + ~devExt~3.offset, 1); {89728#false} is VALID [2022-04-08 08:36:57,364 INFO L290 TraceCheckUtils]: 44: Hoare triple {89728#false} call write~int(~status~3, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~3;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4); {89728#false} is VALID [2022-04-08 08:36:57,364 INFO L272 TraceCheckUtils]: 45: Hoare triple {89728#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {89907#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:36:57,364 INFO L290 TraceCheckUtils]: 46: Hoare triple {89907#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {89727#true} is VALID [2022-04-08 08:36:57,364 INFO L290 TraceCheckUtils]: 47: Hoare triple {89727#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {89727#true} is VALID [2022-04-08 08:36:57,364 INFO L290 TraceCheckUtils]: 48: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,364 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {89727#true} {89728#false} #1196#return; {89728#false} is VALID [2022-04-08 08:36:57,364 INFO L290 TraceCheckUtils]: 50: Hoare triple {89728#false} #res := ~status~3;call ULTIMATE.dealloc(~#event~1.base, ~#event~1.offset);havoc ~#event~1.base, ~#event~1.offset; {89728#false} is VALID [2022-04-08 08:36:57,365 INFO L290 TraceCheckUtils]: 51: Hoare triple {89728#false} assume true; {89728#false} is VALID [2022-04-08 08:36:57,365 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {89728#false} {89727#true} #1230#return; {89825#(not (= 259 |main_#t~ret174|))} is VALID [2022-04-08 08:36:57,366 INFO L272 TraceCheckUtils]: 0: Hoare triple {89727#true} call ULTIMATE.init(); {89827#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:36:57,366 INFO L290 TraceCheckUtils]: 1: Hoare triple {89827#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {89727#true} is VALID [2022-04-08 08:36:57,366 INFO L290 TraceCheckUtils]: 2: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,366 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {89727#true} {89727#true} #1270#return; {89727#true} is VALID [2022-04-08 08:36:57,366 INFO L272 TraceCheckUtils]: 4: Hoare triple {89727#true} call #t~ret213 := main(); {89727#true} is VALID [2022-04-08 08:36:57,366 INFO L290 TraceCheckUtils]: 5: Hoare triple {89727#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {89727#true} is VALID [2022-04-08 08:36:57,367 INFO L272 TraceCheckUtils]: 6: Hoare triple {89727#true} call _BLAST_init(); {89828#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:36:57,367 INFO L290 TraceCheckUtils]: 7: Hoare triple {89828#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {89727#true} is VALID [2022-04-08 08:36:57,367 INFO L290 TraceCheckUtils]: 8: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,367 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {89727#true} {89727#true} #1216#return; {89727#true} is VALID [2022-04-08 08:36:57,368 INFO L272 TraceCheckUtils]: 10: Hoare triple {89727#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {89829#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:36:57,368 INFO L290 TraceCheckUtils]: 11: Hoare triple {89829#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {89727#true} is VALID [2022-04-08 08:36:57,368 INFO L272 TraceCheckUtils]: 12: Hoare triple {89727#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {89727#true} is VALID [2022-04-08 08:36:57,368 INFO L290 TraceCheckUtils]: 13: Hoare triple {89727#true} ~cond := #in~cond; {89727#true} is VALID [2022-04-08 08:36:57,368 INFO L290 TraceCheckUtils]: 14: Hoare triple {89727#true} assume !(0 == ~cond); {89727#true} is VALID [2022-04-08 08:36:57,368 INFO L290 TraceCheckUtils]: 15: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,368 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {89727#true} {89727#true} #1254#return; {89727#true} is VALID [2022-04-08 08:36:57,368 INFO L290 TraceCheckUtils]: 17: Hoare triple {89727#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {89727#true} is VALID [2022-04-08 08:36:57,368 INFO L290 TraceCheckUtils]: 18: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,369 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {89727#true} {89727#true} #1218#return; {89727#true} is VALID [2022-04-08 08:36:57,369 INFO L290 TraceCheckUtils]: 20: Hoare triple {89727#true} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {89727#true} is VALID [2022-04-08 08:36:57,369 INFO L290 TraceCheckUtils]: 21: Hoare triple {89727#true} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {89727#true} is VALID [2022-04-08 08:36:57,369 INFO L290 TraceCheckUtils]: 22: Hoare triple {89727#true} assume !(0 == ~irp_choice~0); {89727#true} is VALID [2022-04-08 08:36:57,369 INFO L272 TraceCheckUtils]: 23: Hoare triple {89727#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {89834#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:36:57,370 INFO L290 TraceCheckUtils]: 24: Hoare triple {89834#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {89727#true} is VALID [2022-04-08 08:36:57,371 INFO L272 TraceCheckUtils]: 25: Hoare triple {89727#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {89834#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:36:57,371 INFO L290 TraceCheckUtils]: 26: Hoare triple {89834#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {89727#true} is VALID [2022-04-08 08:36:57,371 INFO L290 TraceCheckUtils]: 27: Hoare triple {89727#true} assume 0 == ~__BLAST_NONDET~5; {89727#true} is VALID [2022-04-08 08:36:57,371 INFO L290 TraceCheckUtils]: 28: Hoare triple {89727#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {89727#true} is VALID [2022-04-08 08:36:57,371 INFO L290 TraceCheckUtils]: 29: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,371 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {89727#true} {89727#true} #1176#return; {89727#true} is VALID [2022-04-08 08:36:57,371 INFO L290 TraceCheckUtils]: 31: Hoare triple {89727#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {89727#true} is VALID [2022-04-08 08:36:57,371 INFO L290 TraceCheckUtils]: 32: Hoare triple {89727#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {89727#true} is VALID [2022-04-08 08:36:57,372 INFO L272 TraceCheckUtils]: 33: Hoare triple {89727#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {89829#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:36:57,372 INFO L290 TraceCheckUtils]: 34: Hoare triple {89829#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {89727#true} is VALID [2022-04-08 08:36:57,372 INFO L290 TraceCheckUtils]: 35: Hoare triple {89727#true} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {89727#true} is VALID [2022-04-08 08:36:57,372 INFO L290 TraceCheckUtils]: 36: Hoare triple {89727#true} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {89727#true} is VALID [2022-04-08 08:36:57,372 INFO L290 TraceCheckUtils]: 37: Hoare triple {89727#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {89727#true} is VALID [2022-04-08 08:36:57,372 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {89727#true} {89727#true} #1178#return; {89727#true} is VALID [2022-04-08 08:36:57,372 INFO L290 TraceCheckUtils]: 39: Hoare triple {89727#true} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {89727#true} is VALID [2022-04-08 08:36:57,372 INFO L272 TraceCheckUtils]: 40: Hoare triple {89727#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {89727#true} is VALID [2022-04-08 08:36:57,372 INFO L290 TraceCheckUtils]: 41: Hoare triple {89727#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {89727#true} is VALID [2022-04-08 08:36:57,372 INFO L290 TraceCheckUtils]: 42: Hoare triple {89727#true} assume 0 == ~__BLAST_NONDET~2; {89727#true} is VALID [2022-04-08 08:36:57,373 INFO L290 TraceCheckUtils]: 43: Hoare triple {89727#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {89727#true} is VALID [2022-04-08 08:36:57,373 INFO L290 TraceCheckUtils]: 44: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,373 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {89727#true} {89727#true} #1180#return; {89727#true} is VALID [2022-04-08 08:36:57,373 INFO L290 TraceCheckUtils]: 46: Hoare triple {89727#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {89727#true} is VALID [2022-04-08 08:36:57,373 INFO L290 TraceCheckUtils]: 47: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,373 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {89727#true} {89727#true} #1220#return; {89727#true} is VALID [2022-04-08 08:36:57,373 INFO L290 TraceCheckUtils]: 49: Hoare triple {89727#true} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {89727#true} is VALID [2022-04-08 08:36:57,373 INFO L272 TraceCheckUtils]: 50: Hoare triple {89727#true} call stub_driver_init(); {89850#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:36:57,373 INFO L290 TraceCheckUtils]: 51: Hoare triple {89850#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {89727#true} is VALID [2022-04-08 08:36:57,374 INFO L290 TraceCheckUtils]: 52: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,374 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {89727#true} {89727#true} #1222#return; {89727#true} is VALID [2022-04-08 08:36:57,374 INFO L290 TraceCheckUtils]: 54: Hoare triple {89727#true} assume !!(~status~5 >= 0); {89727#true} is VALID [2022-04-08 08:36:57,374 INFO L290 TraceCheckUtils]: 55: Hoare triple {89727#true} assume !(0 == ~__BLAST_NONDET~0); {89727#true} is VALID [2022-04-08 08:36:57,374 INFO L290 TraceCheckUtils]: 56: Hoare triple {89727#true} assume !(1 == ~__BLAST_NONDET~0); {89727#true} is VALID [2022-04-08 08:36:57,374 INFO L290 TraceCheckUtils]: 57: Hoare triple {89727#true} assume !(2 == ~__BLAST_NONDET~0); {89727#true} is VALID [2022-04-08 08:36:57,374 INFO L290 TraceCheckUtils]: 58: Hoare triple {89727#true} assume 3 == ~__BLAST_NONDET~0; {89727#true} is VALID [2022-04-08 08:36:57,376 INFO L272 TraceCheckUtils]: 59: Hoare triple {89727#true} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {89851#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(#length)| |#length|) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:36:57,376 INFO L290 TraceCheckUtils]: 60: Hoare triple {89851#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(#length)| |#length|) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~devExt~3.base, ~devExt~3.offset;havoc ~irpStack~3.base, ~irpStack~3.offset;havoc ~status~3;call ~#event~1.base, ~#event~1.offset := #Ultimate.allocOnStack(16);havoc ~irpSp~0.base, ~irpSp~0.offset;havoc ~nextIrpSp~0.base, ~nextIrpSp~0.offset;havoc ~irpSp___0~0.base, ~irpSp___0~0.offset;~status~3 := 0;call #t~mem79.base, #t~mem79.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~3.base, ~devExt~3.offset := #t~mem79.base, #t~mem79.offset;havoc #t~mem79.base, #t~mem79.offset;call #t~mem80.base, #t~mem80.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~3.base, ~irpStack~3.offset := #t~mem80.base, #t~mem80.offset;havoc #t~mem80.base, #t~mem80.offset;call #t~mem81 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {89727#true} is VALID [2022-04-08 08:36:57,376 INFO L290 TraceCheckUtils]: 61: Hoare triple {89727#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {89727#true} is VALID [2022-04-08 08:36:57,376 INFO L290 TraceCheckUtils]: 62: Hoare triple {89727#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp~0.base, ~irpSp~0.offset := #t~mem102.base, #t~mem102.offset;havoc #t~mem102.base, #t~mem102.offset;call #t~mem103.base, #t~mem103.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 36;havoc #t~mem103.base, #t~mem103.offset; {89727#true} is VALID [2022-04-08 08:36:57,377 INFO L272 TraceCheckUtils]: 63: Hoare triple {89727#true} call #t~memmove~res104.base, #t~memmove~res104.offset := #Ultimate.C_memmove(~nextIrpSp~0.base, ~nextIrpSp~0.offset, ~irpSp~0.base, ~irpSp~0.offset, 28); {89829#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:36:57,377 INFO L290 TraceCheckUtils]: 64: Hoare triple {89829#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {89727#true} is VALID [2022-04-08 08:36:57,377 INFO L290 TraceCheckUtils]: 65: Hoare triple {89727#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {89727#true} is VALID [2022-04-08 08:36:57,377 INFO L290 TraceCheckUtils]: 66: Hoare triple {89727#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {89727#true} is VALID [2022-04-08 08:36:57,377 INFO L290 TraceCheckUtils]: 67: Hoare triple {89727#true} assume #res.base == dest.base && #res.offset == dest.offset; {89727#true} is VALID [2022-04-08 08:36:57,377 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {89727#true} {89727#true} #1186#return; {89727#true} is VALID [2022-04-08 08:36:57,377 INFO L290 TraceCheckUtils]: 69: Hoare triple {89727#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {89727#true} is VALID [2022-04-08 08:36:57,377 INFO L290 TraceCheckUtils]: 70: Hoare triple {89727#true} assume !(~s~0 != ~NP~0); {89727#true} is VALID [2022-04-08 08:36:57,377 INFO L290 TraceCheckUtils]: 71: Hoare triple {89727#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {89727#true} is VALID [2022-04-08 08:36:57,377 INFO L290 TraceCheckUtils]: 72: Hoare triple {89727#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 36;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 28 + ~irpSp___0~0.offset, 4);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 32 + ~irpSp___0~0.offset, 4);call write~int(0, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(64, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call #t~mem106 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem106 % 256, 128), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem106;call #t~mem107 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem107 % 256, 32), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem107;call #t~mem108.base, #t~mem108.offset := read~$Pointer$(~devExt~3.base, 8 + ~devExt~3.offset, 4); {89727#true} is VALID [2022-04-08 08:36:57,388 INFO L272 TraceCheckUtils]: 73: Hoare triple {89727#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {89889#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:36:57,388 INFO L290 TraceCheckUtils]: 74: Hoare triple {89889#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {89727#true} is VALID [2022-04-08 08:36:57,388 INFO L290 TraceCheckUtils]: 75: Hoare triple {89727#true} assume 0 != ~compRegistered~0; {89727#true} is VALID [2022-04-08 08:36:57,389 INFO L272 TraceCheckUtils]: 76: Hoare triple {89727#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {89903#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:36:57,389 INFO L290 TraceCheckUtils]: 77: Hoare triple {89903#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {89727#true} is VALID [2022-04-08 08:36:57,390 INFO L272 TraceCheckUtils]: 78: Hoare triple {89727#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {89903#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:36:57,391 INFO L290 TraceCheckUtils]: 79: Hoare triple {89903#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {89727#true} is VALID [2022-04-08 08:36:57,392 INFO L290 TraceCheckUtils]: 80: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,392 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {89727#true} {89727#true} #1174#return; {89727#true} is VALID [2022-04-08 08:36:57,394 INFO L290 TraceCheckUtils]: 82: Hoare triple {89727#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {89727#true} is VALID [2022-04-08 08:36:57,395 INFO L290 TraceCheckUtils]: 83: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,395 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {89727#true} {89727#true} #1210#return; {89727#true} is VALID [2022-04-08 08:36:57,395 INFO L290 TraceCheckUtils]: 85: Hoare triple {89727#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {89727#true} is VALID [2022-04-08 08:36:57,395 INFO L290 TraceCheckUtils]: 86: Hoare triple {89727#true} assume -1073741802 == ~compRetStatus~0; {89727#true} is VALID [2022-04-08 08:36:57,396 INFO L272 TraceCheckUtils]: 87: Hoare triple {89727#true} call stubMoreProcessingRequired(); {89907#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:36:57,396 INFO L290 TraceCheckUtils]: 88: Hoare triple {89907#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {89727#true} is VALID [2022-04-08 08:36:57,396 INFO L290 TraceCheckUtils]: 89: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,396 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {89727#true} {89727#true} #1212#return; {89727#true} is VALID [2022-04-08 08:36:57,396 INFO L290 TraceCheckUtils]: 91: Hoare triple {89727#true} assume !(0 == ~__BLAST_NONDET~11); {89727#true} is VALID [2022-04-08 08:36:57,396 INFO L290 TraceCheckUtils]: 92: Hoare triple {89727#true} assume 1 == ~__BLAST_NONDET~11; {89727#true} is VALID [2022-04-08 08:36:57,397 INFO L290 TraceCheckUtils]: 93: Hoare triple {89727#true} ~returnVal2~0 := -1073741823; {89901#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 08:36:57,397 INFO L290 TraceCheckUtils]: 94: Hoare triple {89901#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} assume !(~s~0 == ~NP~0); {89901#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 08:36:57,397 INFO L290 TraceCheckUtils]: 95: Hoare triple {89901#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} assume ~s~0 == ~MPR1~0; {89901#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 08:36:57,398 INFO L290 TraceCheckUtils]: 96: Hoare triple {89901#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} assume !(259 == ~returnVal2~0);~s~0 := ~NP~0;~lowerDriverReturn~0 := ~returnVal2~0; {89901#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 08:36:57,398 INFO L290 TraceCheckUtils]: 97: Hoare triple {89901#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} #res := ~returnVal2~0; {89902#(<= (+ |IofCallDriver_#res| 1073741823) 0)} is VALID [2022-04-08 08:36:57,398 INFO L290 TraceCheckUtils]: 98: Hoare triple {89902#(<= (+ |IofCallDriver_#res| 1073741823) 0)} assume true; {89902#(<= (+ |IofCallDriver_#res| 1073741823) 0)} is VALID [2022-04-08 08:36:57,399 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {89902#(<= (+ |IofCallDriver_#res| 1073741823) 0)} {89727#true} #1192#return; {89883#(<= (+ 1073741823 |KbFilter_PnP_#t~ret109|) 0)} is VALID [2022-04-08 08:36:57,400 INFO L290 TraceCheckUtils]: 100: Hoare triple {89883#(<= (+ 1073741823 |KbFilter_PnP_#t~ret109|) 0)} assume -2147483648 <= #t~ret109 && #t~ret109 <= 2147483647;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {89884#(<= (+ KbFilter_PnP_~status~3 1073741823) 0)} is VALID [2022-04-08 08:36:57,400 INFO L290 TraceCheckUtils]: 101: Hoare triple {89884#(<= (+ KbFilter_PnP_~status~3 1073741823) 0)} assume !(259 == ~status~3); {89884#(<= (+ KbFilter_PnP_~status~3 1073741823) 0)} is VALID [2022-04-08 08:36:57,401 INFO L290 TraceCheckUtils]: 102: Hoare triple {89884#(<= (+ KbFilter_PnP_~status~3 1073741823) 0)} assume ~status~3 >= 0; {89728#false} is VALID [2022-04-08 08:36:57,401 INFO L290 TraceCheckUtils]: 103: Hoare triple {89728#false} assume ~myStatus~0 >= 0;call write~int(1, ~devExt~3.base, 52 + ~devExt~3.offset, 1);call write~int(0, ~devExt~3.base, 54 + ~devExt~3.offset, 1);call write~int(0, ~devExt~3.base, 53 + ~devExt~3.offset, 1); {89728#false} is VALID [2022-04-08 08:36:57,401 INFO L290 TraceCheckUtils]: 104: Hoare triple {89728#false} call write~int(~status~3, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~3;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4); {89728#false} is VALID [2022-04-08 08:36:57,401 INFO L272 TraceCheckUtils]: 105: Hoare triple {89728#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {89907#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:36:57,401 INFO L290 TraceCheckUtils]: 106: Hoare triple {89907#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {89727#true} is VALID [2022-04-08 08:36:57,401 INFO L290 TraceCheckUtils]: 107: Hoare triple {89727#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {89727#true} is VALID [2022-04-08 08:36:57,401 INFO L290 TraceCheckUtils]: 108: Hoare triple {89727#true} assume true; {89727#true} is VALID [2022-04-08 08:36:57,401 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {89727#true} {89728#false} #1196#return; {89728#false} is VALID [2022-04-08 08:36:57,401 INFO L290 TraceCheckUtils]: 110: Hoare triple {89728#false} #res := ~status~3;call ULTIMATE.dealloc(~#event~1.base, ~#event~1.offset);havoc ~#event~1.base, ~#event~1.offset; {89728#false} is VALID [2022-04-08 08:36:57,401 INFO L290 TraceCheckUtils]: 111: Hoare triple {89728#false} assume true; {89728#false} is VALID [2022-04-08 08:36:57,401 INFO L284 TraceCheckUtils]: 112: Hoare quadruple {89728#false} {89727#true} #1230#return; {89825#(not (= 259 |main_#t~ret174|))} is VALID [2022-04-08 08:36:57,401 INFO L290 TraceCheckUtils]: 113: Hoare triple {89825#(not (= 259 |main_#t~ret174|))} assume -2147483648 <= #t~ret174 && #t~ret174 <= 2147483647;~status~5 := #t~ret174;havoc #t~ret174; {89826#(not (= main_~status~5 259))} is VALID [2022-04-08 08:36:57,402 INFO L290 TraceCheckUtils]: 114: Hoare triple {89826#(not (= main_~status~5 259))} assume 0 != ~we_should_unload~0; {89826#(not (= main_~status~5 259))} is VALID [2022-04-08 08:36:57,402 INFO L290 TraceCheckUtils]: 115: Hoare triple {89826#(not (= main_~status~5 259))} assume !(1 == ~pended~0); {89826#(not (= main_~status~5 259))} is VALID [2022-04-08 08:36:57,402 INFO L290 TraceCheckUtils]: 116: Hoare triple {89826#(not (= main_~status~5 259))} assume !(1 == ~pended~0); {89826#(not (= main_~status~5 259))} is VALID [2022-04-08 08:36:57,403 INFO L290 TraceCheckUtils]: 117: Hoare triple {89826#(not (= main_~status~5 259))} assume !(~s~0 == ~UNLOADED~0); {89826#(not (= main_~status~5 259))} is VALID [2022-04-08 08:36:57,403 INFO L290 TraceCheckUtils]: 118: Hoare triple {89826#(not (= main_~status~5 259))} assume !(-1 == ~status~5); {89826#(not (= main_~status~5 259))} is VALID [2022-04-08 08:36:57,403 INFO L290 TraceCheckUtils]: 119: Hoare triple {89826#(not (= main_~status~5 259))} assume ~s~0 != ~SKIP2~0; {89826#(not (= main_~status~5 259))} is VALID [2022-04-08 08:36:57,404 INFO L290 TraceCheckUtils]: 120: Hoare triple {89826#(not (= main_~status~5 259))} assume ~s~0 != ~IPC~0; {89826#(not (= main_~status~5 259))} is VALID [2022-04-08 08:36:57,404 INFO L290 TraceCheckUtils]: 121: Hoare triple {89826#(not (= main_~status~5 259))} assume !(~s~0 != ~DC~0); {89826#(not (= main_~status~5 259))} is VALID [2022-04-08 08:36:57,404 INFO L290 TraceCheckUtils]: 122: Hoare triple {89826#(not (= main_~status~5 259))} assume !(1 == ~pended~0); {89826#(not (= main_~status~5 259))} is VALID [2022-04-08 08:36:57,404 INFO L290 TraceCheckUtils]: 123: Hoare triple {89826#(not (= main_~status~5 259))} assume ~s~0 == ~DC~0; {89826#(not (= main_~status~5 259))} is VALID [2022-04-08 08:36:57,405 INFO L290 TraceCheckUtils]: 124: Hoare triple {89826#(not (= main_~status~5 259))} assume 259 == ~status~5; {89728#false} is VALID [2022-04-08 08:36:57,405 INFO L272 TraceCheckUtils]: 125: Hoare triple {89728#false} call errorFn(); {89728#false} is VALID [2022-04-08 08:36:57,405 INFO L290 TraceCheckUtils]: 126: Hoare triple {89728#false} assume !false; {89728#false} is VALID [2022-04-08 08:36:57,405 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 08:36:57,405 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:36:57,405 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [668856866] [2022-04-08 08:36:57,405 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [668856866] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:36:57,405 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:36:57,406 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-08 08:36:57,406 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:36:57,406 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [169160945] [2022-04-08 08:36:57,406 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [169160945] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:36:57,406 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:36:57,406 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-08 08:36:57,406 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [348998551] [2022-04-08 08:36:57,406 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:36:57,407 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 5.470588235294118) internal successors, (93), 6 states have internal predecessors, (93), 2 states have call successors, (18), 11 states have call predecessors, (18), 3 states have return successors, (16), 4 states have call predecessors, (16), 2 states have call successors, (16) Word has length 127 [2022-04-08 08:36:57,407 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:36:57,407 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 17 states have (on average 5.470588235294118) internal successors, (93), 6 states have internal predecessors, (93), 2 states have call successors, (18), 11 states have call predecessors, (18), 3 states have return successors, (16), 4 states have call predecessors, (16), 2 states have call successors, (16) [2022-04-08 08:36:57,494 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 127 edges. 127 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:36:57,495 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-08 08:36:57,495 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:36:57,495 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-08 08:36:57,495 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=221, Unknown=0, NotChecked=0, Total=272 [2022-04-08 08:36:57,495 INFO L87 Difference]: Start difference. First operand 271 states and 294 transitions. Second operand has 17 states, 17 states have (on average 5.470588235294118) internal successors, (93), 6 states have internal predecessors, (93), 2 states have call successors, (18), 11 states have call predecessors, (18), 3 states have return successors, (16), 4 states have call predecessors, (16), 2 states have call successors, (16) [2022-04-08 08:36:59,640 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:37:07,610 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 08:37:10,255 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:37:10,255 INFO L93 Difference]: Finished difference Result 323 states and 354 transitions. [2022-04-08 08:37:10,255 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 08:37:10,255 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 5.470588235294118) internal successors, (93), 6 states have internal predecessors, (93), 2 states have call successors, (18), 11 states have call predecessors, (18), 3 states have return successors, (16), 4 states have call predecessors, (16), 2 states have call successors, (16) Word has length 127 [2022-04-08 08:37:10,255 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:37:10,255 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 5.470588235294118) internal successors, (93), 6 states have internal predecessors, (93), 2 states have call successors, (18), 11 states have call predecessors, (18), 3 states have return successors, (16), 4 states have call predecessors, (16), 2 states have call successors, (16) [2022-04-08 08:37:10,257 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 213 transitions. [2022-04-08 08:37:10,257 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 5.470588235294118) internal successors, (93), 6 states have internal predecessors, (93), 2 states have call successors, (18), 11 states have call predecessors, (18), 3 states have return successors, (16), 4 states have call predecessors, (16), 2 states have call successors, (16) [2022-04-08 08:37:10,258 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 213 transitions. [2022-04-08 08:37:10,258 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 213 transitions. [2022-04-08 08:37:10,501 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 213 edges. 213 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:37:10,506 INFO L225 Difference]: With dead ends: 323 [2022-04-08 08:37:10,506 INFO L226 Difference]: Without dead ends: 253 [2022-04-08 08:37:10,507 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 48 GetRequests, 27 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 46 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=98, Invalid=408, Unknown=0, NotChecked=0, Total=506 [2022-04-08 08:37:10,507 INFO L913 BasicCegarLoop]: 123 mSDtfsCounter, 251 mSDsluCounter, 367 mSDsCounter, 0 mSdLazyCounter, 982 mSolverCounterSat, 146 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 7.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 253 SdHoareTripleChecker+Valid, 490 SdHoareTripleChecker+Invalid, 1130 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 146 IncrementalHoareTripleChecker+Valid, 982 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 7.8s IncrementalHoareTripleChecker+Time [2022-04-08 08:37:10,507 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [253 Valid, 490 Invalid, 1130 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [146 Valid, 982 Invalid, 2 Unknown, 0 Unchecked, 7.8s Time] [2022-04-08 08:37:10,508 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 253 states. [2022-04-08 08:37:11,118 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 253 to 233. [2022-04-08 08:37:11,118 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:37:11,119 INFO L82 GeneralOperation]: Start isEquivalent. First operand 253 states. Second operand has 233 states, 173 states have (on average 1.0867052023121386) internal successors, (188), 173 states have internal predecessors, (188), 31 states have call successors, (31), 31 states have call predecessors, (31), 28 states have return successors, (29), 28 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-08 08:37:11,119 INFO L74 IsIncluded]: Start isIncluded. First operand 253 states. Second operand has 233 states, 173 states have (on average 1.0867052023121386) internal successors, (188), 173 states have internal predecessors, (188), 31 states have call successors, (31), 31 states have call predecessors, (31), 28 states have return successors, (29), 28 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-08 08:37:11,119 INFO L87 Difference]: Start difference. First operand 253 states. Second operand has 233 states, 173 states have (on average 1.0867052023121386) internal successors, (188), 173 states have internal predecessors, (188), 31 states have call successors, (31), 31 states have call predecessors, (31), 28 states have return successors, (29), 28 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-08 08:37:11,122 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:37:11,122 INFO L93 Difference]: Finished difference Result 253 states and 274 transitions. [2022-04-08 08:37:11,122 INFO L276 IsEmpty]: Start isEmpty. Operand 253 states and 274 transitions. [2022-04-08 08:37:11,122 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:37:11,122 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:37:11,123 INFO L74 IsIncluded]: Start isIncluded. First operand has 233 states, 173 states have (on average 1.0867052023121386) internal successors, (188), 173 states have internal predecessors, (188), 31 states have call successors, (31), 31 states have call predecessors, (31), 28 states have return successors, (29), 28 states have call predecessors, (29), 29 states have call successors, (29) Second operand 253 states. [2022-04-08 08:37:11,123 INFO L87 Difference]: Start difference. First operand has 233 states, 173 states have (on average 1.0867052023121386) internal successors, (188), 173 states have internal predecessors, (188), 31 states have call successors, (31), 31 states have call predecessors, (31), 28 states have return successors, (29), 28 states have call predecessors, (29), 29 states have call successors, (29) Second operand 253 states. [2022-04-08 08:37:11,125 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:37:11,125 INFO L93 Difference]: Finished difference Result 253 states and 274 transitions. [2022-04-08 08:37:11,125 INFO L276 IsEmpty]: Start isEmpty. Operand 253 states and 274 transitions. [2022-04-08 08:37:11,126 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:37:11,126 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:37:11,126 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:37:11,126 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:37:11,126 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 233 states, 173 states have (on average 1.0867052023121386) internal successors, (188), 173 states have internal predecessors, (188), 31 states have call successors, (31), 31 states have call predecessors, (31), 28 states have return successors, (29), 28 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-08 08:37:11,129 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 233 states to 233 states and 248 transitions. [2022-04-08 08:37:11,129 INFO L78 Accepts]: Start accepts. Automaton has 233 states and 248 transitions. Word has length 127 [2022-04-08 08:37:11,129 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:37:11,129 INFO L478 AbstractCegarLoop]: Abstraction has 233 states and 248 transitions. [2022-04-08 08:37:11,129 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 17 states have (on average 5.470588235294118) internal successors, (93), 6 states have internal predecessors, (93), 2 states have call successors, (18), 11 states have call predecessors, (18), 3 states have return successors, (16), 4 states have call predecessors, (16), 2 states have call successors, (16) [2022-04-08 08:37:11,129 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 233 states and 248 transitions. [2022-04-08 08:37:11,904 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 248 edges. 248 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:37:11,904 INFO L276 IsEmpty]: Start isEmpty. Operand 233 states and 248 transitions. [2022-04-08 08:37:11,905 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 137 [2022-04-08 08:37:11,905 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:37:11,905 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:37:11,905 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable37 [2022-04-08 08:37:11,905 INFO L403 AbstractCegarLoop]: === Iteration 39 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:37:11,906 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:37:11,906 INFO L85 PathProgramCache]: Analyzing trace with hash -558415743, now seen corresponding path program 1 times [2022-04-08 08:37:11,906 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:37:11,906 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1912100081] [2022-04-08 08:37:11,908 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 4 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 08:37:11,908 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 08:37:11,908 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 08:37:11,908 INFO L85 PathProgramCache]: Analyzing trace with hash -558415743, now seen corresponding path program 2 times [2022-04-08 08:37:11,908 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:37:11,908 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [55240598] [2022-04-08 08:37:11,908 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:37:11,908 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:37:12,115 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:12,254 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:37:12,256 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:12,262 INFO L290 TraceCheckUtils]: 0: Hoare triple {91648#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {91541#true} is VALID [2022-04-08 08:37:12,262 INFO L290 TraceCheckUtils]: 1: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,263 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {91541#true} {91541#true} #1270#return; {91541#true} is VALID [2022-04-08 08:37:12,282 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:37:12,284 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:12,289 INFO L290 TraceCheckUtils]: 0: Hoare triple {91649#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {91541#true} is VALID [2022-04-08 08:37:12,289 INFO L290 TraceCheckUtils]: 1: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,290 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {91541#true} {91541#true} #1216#return; {91541#true} is VALID [2022-04-08 08:37:12,295 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:37:12,300 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:12,306 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:37:12,307 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:12,310 INFO L290 TraceCheckUtils]: 0: Hoare triple {91541#true} ~cond := #in~cond; {91541#true} is VALID [2022-04-08 08:37:12,310 INFO L290 TraceCheckUtils]: 1: Hoare triple {91541#true} assume !(0 == ~cond); {91541#true} is VALID [2022-04-08 08:37:12,311 INFO L290 TraceCheckUtils]: 2: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,311 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {91541#true} {91541#true} #1254#return; {91541#true} is VALID [2022-04-08 08:37:12,311 INFO L290 TraceCheckUtils]: 0: Hoare triple {91650#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {91541#true} is VALID [2022-04-08 08:37:12,311 INFO L272 TraceCheckUtils]: 1: Hoare triple {91541#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {91541#true} is VALID [2022-04-08 08:37:12,311 INFO L290 TraceCheckUtils]: 2: Hoare triple {91541#true} ~cond := #in~cond; {91541#true} is VALID [2022-04-08 08:37:12,311 INFO L290 TraceCheckUtils]: 3: Hoare triple {91541#true} assume !(0 == ~cond); {91541#true} is VALID [2022-04-08 08:37:12,311 INFO L290 TraceCheckUtils]: 4: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,311 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {91541#true} {91541#true} #1254#return; {91541#true} is VALID [2022-04-08 08:37:12,311 INFO L290 TraceCheckUtils]: 6: Hoare triple {91541#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {91541#true} is VALID [2022-04-08 08:37:12,311 INFO L290 TraceCheckUtils]: 7: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,311 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {91541#true} {91541#true} #1218#return; {91541#true} is VALID [2022-04-08 08:37:12,319 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:37:12,341 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:12,355 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:37:12,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:12,366 INFO L290 TraceCheckUtils]: 0: Hoare triple {91655#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {91541#true} is VALID [2022-04-08 08:37:12,366 INFO L290 TraceCheckUtils]: 1: Hoare triple {91541#true} assume 0 == ~__BLAST_NONDET~5; {91541#true} is VALID [2022-04-08 08:37:12,366 INFO L290 TraceCheckUtils]: 2: Hoare triple {91541#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {91541#true} is VALID [2022-04-08 08:37:12,366 INFO L290 TraceCheckUtils]: 3: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,366 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {91541#true} {91541#true} #1176#return; {91541#true} is VALID [2022-04-08 08:37:12,367 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 08:37:12,375 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:12,465 INFO L290 TraceCheckUtils]: 0: Hoare triple {91650#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {91671#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 08:37:12,466 INFO L290 TraceCheckUtils]: 1: Hoare triple {91671#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {91672#(and (or (<= (+ (* (div |#Ultimate.C_memset_#amount| 4294967296) 4294967296) 1) |#Ultimate.C_memset_#amount|) (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (or (not (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 4294967296) 1) 0)))} is VALID [2022-04-08 08:37:12,467 INFO L290 TraceCheckUtils]: 2: Hoare triple {91672#(and (or (<= (+ (* (div |#Ultimate.C_memset_#amount| 4294967296) 4294967296) 1) |#Ultimate.C_memset_#amount|) (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (or (not (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 4294967296) 1) 0)))} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {91673#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 08:37:12,468 INFO L290 TraceCheckUtils]: 3: Hoare triple {91673#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {91673#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 08:37:12,469 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {91673#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} {91541#true} #1178#return; {91542#false} is VALID [2022-04-08 08:37:12,469 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-08 08:37:12,471 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:12,476 INFO L290 TraceCheckUtils]: 0: Hoare triple {91541#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {91541#true} is VALID [2022-04-08 08:37:12,476 INFO L290 TraceCheckUtils]: 1: Hoare triple {91541#true} assume 0 == ~__BLAST_NONDET~2; {91541#true} is VALID [2022-04-08 08:37:12,476 INFO L290 TraceCheckUtils]: 2: Hoare triple {91541#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {91541#true} is VALID [2022-04-08 08:37:12,477 INFO L290 TraceCheckUtils]: 3: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,477 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {91541#true} {91542#false} #1180#return; {91542#false} is VALID [2022-04-08 08:37:12,477 INFO L290 TraceCheckUtils]: 0: Hoare triple {91655#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {91541#true} is VALID [2022-04-08 08:37:12,478 INFO L272 TraceCheckUtils]: 1: Hoare triple {91541#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {91655#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:37:12,478 INFO L290 TraceCheckUtils]: 2: Hoare triple {91655#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {91541#true} is VALID [2022-04-08 08:37:12,478 INFO L290 TraceCheckUtils]: 3: Hoare triple {91541#true} assume 0 == ~__BLAST_NONDET~5; {91541#true} is VALID [2022-04-08 08:37:12,478 INFO L290 TraceCheckUtils]: 4: Hoare triple {91541#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {91541#true} is VALID [2022-04-08 08:37:12,478 INFO L290 TraceCheckUtils]: 5: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,478 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {91541#true} {91541#true} #1176#return; {91541#true} is VALID [2022-04-08 08:37:12,478 INFO L290 TraceCheckUtils]: 7: Hoare triple {91541#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {91541#true} is VALID [2022-04-08 08:37:12,478 INFO L290 TraceCheckUtils]: 8: Hoare triple {91541#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {91541#true} is VALID [2022-04-08 08:37:12,479 INFO L272 TraceCheckUtils]: 9: Hoare triple {91541#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {91650#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:37:12,479 INFO L290 TraceCheckUtils]: 10: Hoare triple {91650#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {91671#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 08:37:12,481 INFO L290 TraceCheckUtils]: 11: Hoare triple {91671#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {91672#(and (or (<= (+ (* (div |#Ultimate.C_memset_#amount| 4294967296) 4294967296) 1) |#Ultimate.C_memset_#amount|) (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (or (not (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 4294967296) 1) 0)))} is VALID [2022-04-08 08:37:12,481 INFO L290 TraceCheckUtils]: 12: Hoare triple {91672#(and (or (<= (+ (* (div |#Ultimate.C_memset_#amount| 4294967296) 4294967296) 1) |#Ultimate.C_memset_#amount|) (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (or (not (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 4294967296) 1) 0)))} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {91673#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 08:37:12,482 INFO L290 TraceCheckUtils]: 13: Hoare triple {91673#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {91673#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 08:37:12,482 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {91673#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} {91541#true} #1178#return; {91542#false} is VALID [2022-04-08 08:37:12,483 INFO L290 TraceCheckUtils]: 15: Hoare triple {91542#false} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {91542#false} is VALID [2022-04-08 08:37:12,483 INFO L272 TraceCheckUtils]: 16: Hoare triple {91542#false} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {91541#true} is VALID [2022-04-08 08:37:12,483 INFO L290 TraceCheckUtils]: 17: Hoare triple {91541#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {91541#true} is VALID [2022-04-08 08:37:12,483 INFO L290 TraceCheckUtils]: 18: Hoare triple {91541#true} assume 0 == ~__BLAST_NONDET~2; {91541#true} is VALID [2022-04-08 08:37:12,483 INFO L290 TraceCheckUtils]: 19: Hoare triple {91541#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {91541#true} is VALID [2022-04-08 08:37:12,483 INFO L290 TraceCheckUtils]: 20: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,483 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {91541#true} {91542#false} #1180#return; {91542#false} is VALID [2022-04-08 08:37:12,483 INFO L290 TraceCheckUtils]: 22: Hoare triple {91542#false} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {91542#false} is VALID [2022-04-08 08:37:12,483 INFO L290 TraceCheckUtils]: 23: Hoare triple {91542#false} assume true; {91542#false} is VALID [2022-04-08 08:37:12,483 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {91542#false} {91541#true} #1220#return; {91542#false} is VALID [2022-04-08 08:37:12,500 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-08 08:37:12,501 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:12,506 INFO L290 TraceCheckUtils]: 0: Hoare triple {91674#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {91541#true} is VALID [2022-04-08 08:37:12,506 INFO L290 TraceCheckUtils]: 1: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,506 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {91541#true} {91542#false} #1222#return; {91542#false} is VALID [2022-04-08 08:37:12,530 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 59 [2022-04-08 08:37:12,563 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:12,576 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-04-08 08:37:12,578 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:12,582 INFO L290 TraceCheckUtils]: 0: Hoare triple {91650#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {91541#true} is VALID [2022-04-08 08:37:12,583 INFO L290 TraceCheckUtils]: 1: Hoare triple {91541#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {91541#true} is VALID [2022-04-08 08:37:12,583 INFO L290 TraceCheckUtils]: 2: Hoare triple {91541#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {91541#true} is VALID [2022-04-08 08:37:12,583 INFO L290 TraceCheckUtils]: 3: Hoare triple {91541#true} assume #res.base == dest.base && #res.offset == dest.offset; {91541#true} is VALID [2022-04-08 08:37:12,583 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {91541#true} {91541#true} #1186#return; {91541#true} is VALID [2022-04-08 08:37:12,594 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 08:37:12,598 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:12,614 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 08:37:12,616 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:12,620 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:37:12,622 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:12,639 INFO L290 TraceCheckUtils]: 0: Hoare triple {91730#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {91541#true} is VALID [2022-04-08 08:37:12,640 INFO L290 TraceCheckUtils]: 1: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,640 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {91541#true} {91541#true} #1174#return; {91541#true} is VALID [2022-04-08 08:37:12,640 INFO L290 TraceCheckUtils]: 0: Hoare triple {91730#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {91541#true} is VALID [2022-04-08 08:37:12,641 INFO L272 TraceCheckUtils]: 1: Hoare triple {91541#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {91730#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:37:12,641 INFO L290 TraceCheckUtils]: 2: Hoare triple {91730#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {91541#true} is VALID [2022-04-08 08:37:12,641 INFO L290 TraceCheckUtils]: 3: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,641 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {91541#true} {91541#true} #1174#return; {91541#true} is VALID [2022-04-08 08:37:12,641 INFO L290 TraceCheckUtils]: 5: Hoare triple {91541#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {91541#true} is VALID [2022-04-08 08:37:12,641 INFO L290 TraceCheckUtils]: 6: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,641 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {91541#true} {91541#true} #1210#return; {91541#true} is VALID [2022-04-08 08:37:12,652 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 08:37:12,652 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:12,656 INFO L290 TraceCheckUtils]: 0: Hoare triple {91734#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {91541#true} is VALID [2022-04-08 08:37:12,656 INFO L290 TraceCheckUtils]: 1: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,657 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {91541#true} {91541#true} #1212#return; {91541#true} is VALID [2022-04-08 08:37:12,657 INFO L290 TraceCheckUtils]: 0: Hoare triple {91718#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {91541#true} is VALID [2022-04-08 08:37:12,657 INFO L290 TraceCheckUtils]: 1: Hoare triple {91541#true} assume 0 != ~compRegistered~0; {91541#true} is VALID [2022-04-08 08:37:12,658 INFO L272 TraceCheckUtils]: 2: Hoare triple {91541#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {91730#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:37:12,658 INFO L290 TraceCheckUtils]: 3: Hoare triple {91730#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {91541#true} is VALID [2022-04-08 08:37:12,658 INFO L272 TraceCheckUtils]: 4: Hoare triple {91541#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {91730#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:37:12,658 INFO L290 TraceCheckUtils]: 5: Hoare triple {91730#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {91541#true} is VALID [2022-04-08 08:37:12,658 INFO L290 TraceCheckUtils]: 6: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,658 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {91541#true} {91541#true} #1174#return; {91541#true} is VALID [2022-04-08 08:37:12,658 INFO L290 TraceCheckUtils]: 8: Hoare triple {91541#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {91541#true} is VALID [2022-04-08 08:37:12,659 INFO L290 TraceCheckUtils]: 9: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,659 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {91541#true} {91541#true} #1210#return; {91541#true} is VALID [2022-04-08 08:37:12,659 INFO L290 TraceCheckUtils]: 11: Hoare triple {91541#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {91541#true} is VALID [2022-04-08 08:37:12,659 INFO L290 TraceCheckUtils]: 12: Hoare triple {91541#true} assume -1073741802 == ~compRetStatus~0; {91541#true} is VALID [2022-04-08 08:37:12,659 INFO L272 TraceCheckUtils]: 13: Hoare triple {91541#true} call stubMoreProcessingRequired(); {91734#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:37:12,659 INFO L290 TraceCheckUtils]: 14: Hoare triple {91734#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {91541#true} is VALID [2022-04-08 08:37:12,659 INFO L290 TraceCheckUtils]: 15: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,659 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {91541#true} {91541#true} #1212#return; {91541#true} is VALID [2022-04-08 08:37:12,659 INFO L290 TraceCheckUtils]: 17: Hoare triple {91541#true} assume !(0 == ~__BLAST_NONDET~11); {91541#true} is VALID [2022-04-08 08:37:12,659 INFO L290 TraceCheckUtils]: 18: Hoare triple {91541#true} assume !(1 == ~__BLAST_NONDET~11); {91541#true} is VALID [2022-04-08 08:37:12,659 INFO L290 TraceCheckUtils]: 19: Hoare triple {91541#true} ~returnVal2~0 := 259; {91541#true} is VALID [2022-04-08 08:37:12,659 INFO L290 TraceCheckUtils]: 20: Hoare triple {91541#true} assume !(~s~0 == ~NP~0); {91541#true} is VALID [2022-04-08 08:37:12,659 INFO L290 TraceCheckUtils]: 21: Hoare triple {91541#true} assume ~s~0 == ~MPR1~0; {91541#true} is VALID [2022-04-08 08:37:12,660 INFO L290 TraceCheckUtils]: 22: Hoare triple {91541#true} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := ~returnVal2~0; {91541#true} is VALID [2022-04-08 08:37:12,660 INFO L290 TraceCheckUtils]: 23: Hoare triple {91541#true} #res := ~returnVal2~0; {91541#true} is VALID [2022-04-08 08:37:12,660 INFO L290 TraceCheckUtils]: 24: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,660 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {91541#true} {91541#true} #1192#return; {91541#true} is VALID [2022-04-08 08:37:12,672 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 42 [2022-04-08 08:37:12,674 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:12,679 INFO L290 TraceCheckUtils]: 0: Hoare triple {91735#(and (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~s~0 |old(~s~0)|))} ~Object.base, ~Object.offset := #in~Object.base, #in~Object.offset;~WaitReason := #in~WaitReason;~WaitMode := #in~WaitMode;~Alertable := #in~Alertable;~Timeout.base, ~Timeout.offset := #in~Timeout.base, #in~Timeout.offset;assume -2147483648 <= #t~nondet200 && #t~nondet200 <= 2147483647;~__BLAST_NONDET~13 := #t~nondet200;havoc #t~nondet200; {91541#true} is VALID [2022-04-08 08:37:12,679 INFO L290 TraceCheckUtils]: 1: Hoare triple {91541#true} assume ~s~0 == ~MPR3~0; {91541#true} is VALID [2022-04-08 08:37:12,679 INFO L290 TraceCheckUtils]: 2: Hoare triple {91541#true} assume 1 == ~setEventCalled~0;~s~0 := ~NP~0;~setEventCalled~0 := 0; {91541#true} is VALID [2022-04-08 08:37:12,679 INFO L290 TraceCheckUtils]: 3: Hoare triple {91541#true} assume 0 == ~__BLAST_NONDET~13; {91541#true} is VALID [2022-04-08 08:37:12,679 INFO L290 TraceCheckUtils]: 4: Hoare triple {91541#true} #res := 0; {91541#true} is VALID [2022-04-08 08:37:12,679 INFO L290 TraceCheckUtils]: 5: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,679 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {91541#true} {91541#true} #1194#return; {91541#true} is VALID [2022-04-08 08:37:12,679 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 54 [2022-04-08 08:37:12,680 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:12,683 INFO L290 TraceCheckUtils]: 0: Hoare triple {91734#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {91541#true} is VALID [2022-04-08 08:37:12,684 INFO L290 TraceCheckUtils]: 1: Hoare triple {91541#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {91541#true} is VALID [2022-04-08 08:37:12,684 INFO L290 TraceCheckUtils]: 2: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,684 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {91541#true} {91541#true} #1196#return; {91541#true} is VALID [2022-04-08 08:37:12,684 INFO L290 TraceCheckUtils]: 0: Hoare triple {91675#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(#length)| |#length|) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~devExt~3.base, ~devExt~3.offset;havoc ~irpStack~3.base, ~irpStack~3.offset;havoc ~status~3;call ~#event~1.base, ~#event~1.offset := #Ultimate.allocOnStack(16);havoc ~irpSp~0.base, ~irpSp~0.offset;havoc ~nextIrpSp~0.base, ~nextIrpSp~0.offset;havoc ~irpSp___0~0.base, ~irpSp___0~0.offset;~status~3 := 0;call #t~mem79.base, #t~mem79.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~3.base, ~devExt~3.offset := #t~mem79.base, #t~mem79.offset;havoc #t~mem79.base, #t~mem79.offset;call #t~mem80.base, #t~mem80.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~3.base, ~irpStack~3.offset := #t~mem80.base, #t~mem80.offset;havoc #t~mem80.base, #t~mem80.offset;call #t~mem81 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {91541#true} is VALID [2022-04-08 08:37:12,684 INFO L290 TraceCheckUtils]: 1: Hoare triple {91541#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {91541#true} is VALID [2022-04-08 08:37:12,684 INFO L290 TraceCheckUtils]: 2: Hoare triple {91541#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp~0.base, ~irpSp~0.offset := #t~mem102.base, #t~mem102.offset;havoc #t~mem102.base, #t~mem102.offset;call #t~mem103.base, #t~mem103.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 36;havoc #t~mem103.base, #t~mem103.offset; {91541#true} is VALID [2022-04-08 08:37:12,685 INFO L272 TraceCheckUtils]: 3: Hoare triple {91541#true} call #t~memmove~res104.base, #t~memmove~res104.offset := #Ultimate.C_memmove(~nextIrpSp~0.base, ~nextIrpSp~0.offset, ~irpSp~0.base, ~irpSp~0.offset, 28); {91650#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:37:12,685 INFO L290 TraceCheckUtils]: 4: Hoare triple {91650#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {91541#true} is VALID [2022-04-08 08:37:12,685 INFO L290 TraceCheckUtils]: 5: Hoare triple {91541#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {91541#true} is VALID [2022-04-08 08:37:12,685 INFO L290 TraceCheckUtils]: 6: Hoare triple {91541#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {91541#true} is VALID [2022-04-08 08:37:12,685 INFO L290 TraceCheckUtils]: 7: Hoare triple {91541#true} assume #res.base == dest.base && #res.offset == dest.offset; {91541#true} is VALID [2022-04-08 08:37:12,685 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {91541#true} {91541#true} #1186#return; {91541#true} is VALID [2022-04-08 08:37:12,685 INFO L290 TraceCheckUtils]: 9: Hoare triple {91541#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {91541#true} is VALID [2022-04-08 08:37:12,685 INFO L290 TraceCheckUtils]: 10: Hoare triple {91541#true} assume !(~s~0 != ~NP~0); {91541#true} is VALID [2022-04-08 08:37:12,685 INFO L290 TraceCheckUtils]: 11: Hoare triple {91541#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {91541#true} is VALID [2022-04-08 08:37:12,685 INFO L290 TraceCheckUtils]: 12: Hoare triple {91541#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 36;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 28 + ~irpSp___0~0.offset, 4);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 32 + ~irpSp___0~0.offset, 4);call write~int(0, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(64, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call #t~mem106 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem106 % 256, 128), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem106;call #t~mem107 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem107 % 256, 32), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem107;call #t~mem108.base, #t~mem108.offset := read~$Pointer$(~devExt~3.base, 8 + ~devExt~3.offset, 4); {91541#true} is VALID [2022-04-08 08:37:12,686 INFO L272 TraceCheckUtils]: 13: Hoare triple {91541#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {91718#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:37:12,686 INFO L290 TraceCheckUtils]: 14: Hoare triple {91718#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {91541#true} is VALID [2022-04-08 08:37:12,686 INFO L290 TraceCheckUtils]: 15: Hoare triple {91541#true} assume 0 != ~compRegistered~0; {91541#true} is VALID [2022-04-08 08:37:12,687 INFO L272 TraceCheckUtils]: 16: Hoare triple {91541#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {91730#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:37:12,687 INFO L290 TraceCheckUtils]: 17: Hoare triple {91730#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {91541#true} is VALID [2022-04-08 08:37:12,702 INFO L272 TraceCheckUtils]: 18: Hoare triple {91541#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {91730#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:37:12,702 INFO L290 TraceCheckUtils]: 19: Hoare triple {91730#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {91541#true} is VALID [2022-04-08 08:37:12,702 INFO L290 TraceCheckUtils]: 20: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,702 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {91541#true} {91541#true} #1174#return; {91541#true} is VALID [2022-04-08 08:37:12,702 INFO L290 TraceCheckUtils]: 22: Hoare triple {91541#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {91541#true} is VALID [2022-04-08 08:37:12,702 INFO L290 TraceCheckUtils]: 23: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,702 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {91541#true} {91541#true} #1210#return; {91541#true} is VALID [2022-04-08 08:37:12,702 INFO L290 TraceCheckUtils]: 25: Hoare triple {91541#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {91541#true} is VALID [2022-04-08 08:37:12,702 INFO L290 TraceCheckUtils]: 26: Hoare triple {91541#true} assume -1073741802 == ~compRetStatus~0; {91541#true} is VALID [2022-04-08 08:37:12,703 INFO L272 TraceCheckUtils]: 27: Hoare triple {91541#true} call stubMoreProcessingRequired(); {91734#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:37:12,703 INFO L290 TraceCheckUtils]: 28: Hoare triple {91734#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {91541#true} is VALID [2022-04-08 08:37:12,703 INFO L290 TraceCheckUtils]: 29: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,703 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {91541#true} {91541#true} #1212#return; {91541#true} is VALID [2022-04-08 08:37:12,703 INFO L290 TraceCheckUtils]: 31: Hoare triple {91541#true} assume !(0 == ~__BLAST_NONDET~11); {91541#true} is VALID [2022-04-08 08:37:12,703 INFO L290 TraceCheckUtils]: 32: Hoare triple {91541#true} assume !(1 == ~__BLAST_NONDET~11); {91541#true} is VALID [2022-04-08 08:37:12,703 INFO L290 TraceCheckUtils]: 33: Hoare triple {91541#true} ~returnVal2~0 := 259; {91541#true} is VALID [2022-04-08 08:37:12,703 INFO L290 TraceCheckUtils]: 34: Hoare triple {91541#true} assume !(~s~0 == ~NP~0); {91541#true} is VALID [2022-04-08 08:37:12,703 INFO L290 TraceCheckUtils]: 35: Hoare triple {91541#true} assume ~s~0 == ~MPR1~0; {91541#true} is VALID [2022-04-08 08:37:12,703 INFO L290 TraceCheckUtils]: 36: Hoare triple {91541#true} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := ~returnVal2~0; {91541#true} is VALID [2022-04-08 08:37:12,703 INFO L290 TraceCheckUtils]: 37: Hoare triple {91541#true} #res := ~returnVal2~0; {91541#true} is VALID [2022-04-08 08:37:12,703 INFO L290 TraceCheckUtils]: 38: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,703 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {91541#true} {91541#true} #1192#return; {91541#true} is VALID [2022-04-08 08:37:12,703 INFO L290 TraceCheckUtils]: 40: Hoare triple {91541#true} assume -2147483648 <= #t~ret109 && #t~ret109 <= 2147483647;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {91541#true} is VALID [2022-04-08 08:37:12,704 INFO L290 TraceCheckUtils]: 41: Hoare triple {91541#true} assume 259 == ~status~3; {91541#true} is VALID [2022-04-08 08:37:12,704 INFO L272 TraceCheckUtils]: 42: Hoare triple {91541#true} call #t~ret110 := KeWaitForSingleObject(~#event~1.base, ~#event~1.offset, 0, 0, 0, 0, 0); {91735#(and (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:37:12,704 INFO L290 TraceCheckUtils]: 43: Hoare triple {91735#(and (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~s~0 |old(~s~0)|))} ~Object.base, ~Object.offset := #in~Object.base, #in~Object.offset;~WaitReason := #in~WaitReason;~WaitMode := #in~WaitMode;~Alertable := #in~Alertable;~Timeout.base, ~Timeout.offset := #in~Timeout.base, #in~Timeout.offset;assume -2147483648 <= #t~nondet200 && #t~nondet200 <= 2147483647;~__BLAST_NONDET~13 := #t~nondet200;havoc #t~nondet200; {91541#true} is VALID [2022-04-08 08:37:12,705 INFO L290 TraceCheckUtils]: 44: Hoare triple {91541#true} assume ~s~0 == ~MPR3~0; {91541#true} is VALID [2022-04-08 08:37:12,705 INFO L290 TraceCheckUtils]: 45: Hoare triple {91541#true} assume 1 == ~setEventCalled~0;~s~0 := ~NP~0;~setEventCalled~0 := 0; {91541#true} is VALID [2022-04-08 08:37:12,705 INFO L290 TraceCheckUtils]: 46: Hoare triple {91541#true} assume 0 == ~__BLAST_NONDET~13; {91541#true} is VALID [2022-04-08 08:37:12,705 INFO L290 TraceCheckUtils]: 47: Hoare triple {91541#true} #res := 0; {91541#true} is VALID [2022-04-08 08:37:12,705 INFO L290 TraceCheckUtils]: 48: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,705 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {91541#true} {91541#true} #1194#return; {91541#true} is VALID [2022-04-08 08:37:12,705 INFO L290 TraceCheckUtils]: 50: Hoare triple {91541#true} assume -2147483648 <= #t~ret110 && #t~ret110 <= 2147483647;havoc #t~ret110; {91541#true} is VALID [2022-04-08 08:37:12,705 INFO L290 TraceCheckUtils]: 51: Hoare triple {91541#true} assume ~status~3 >= 0; {91541#true} is VALID [2022-04-08 08:37:12,705 INFO L290 TraceCheckUtils]: 52: Hoare triple {91541#true} assume ~myStatus~0 >= 0;call write~int(1, ~devExt~3.base, 52 + ~devExt~3.offset, 1);call write~int(0, ~devExt~3.base, 54 + ~devExt~3.offset, 1);call write~int(0, ~devExt~3.base, 53 + ~devExt~3.offset, 1); {91541#true} is VALID [2022-04-08 08:37:12,705 INFO L290 TraceCheckUtils]: 53: Hoare triple {91541#true} call write~int(~status~3, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~3;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4); {91541#true} is VALID [2022-04-08 08:37:12,706 INFO L272 TraceCheckUtils]: 54: Hoare triple {91541#true} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {91734#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:37:12,706 INFO L290 TraceCheckUtils]: 55: Hoare triple {91734#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {91541#true} is VALID [2022-04-08 08:37:12,706 INFO L290 TraceCheckUtils]: 56: Hoare triple {91541#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {91541#true} is VALID [2022-04-08 08:37:12,706 INFO L290 TraceCheckUtils]: 57: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,706 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {91541#true} {91541#true} #1196#return; {91541#true} is VALID [2022-04-08 08:37:12,706 INFO L290 TraceCheckUtils]: 59: Hoare triple {91541#true} #res := ~status~3;call ULTIMATE.dealloc(~#event~1.base, ~#event~1.offset);havoc ~#event~1.base, ~#event~1.offset; {91541#true} is VALID [2022-04-08 08:37:12,706 INFO L290 TraceCheckUtils]: 60: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,706 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {91541#true} {91542#false} #1230#return; {91542#false} is VALID [2022-04-08 08:37:12,708 INFO L272 TraceCheckUtils]: 0: Hoare triple {91541#true} call ULTIMATE.init(); {91648#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:37:12,708 INFO L290 TraceCheckUtils]: 1: Hoare triple {91648#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {91541#true} is VALID [2022-04-08 08:37:12,708 INFO L290 TraceCheckUtils]: 2: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,708 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {91541#true} {91541#true} #1270#return; {91541#true} is VALID [2022-04-08 08:37:12,708 INFO L272 TraceCheckUtils]: 4: Hoare triple {91541#true} call #t~ret213 := main(); {91541#true} is VALID [2022-04-08 08:37:12,708 INFO L290 TraceCheckUtils]: 5: Hoare triple {91541#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {91541#true} is VALID [2022-04-08 08:37:12,709 INFO L272 TraceCheckUtils]: 6: Hoare triple {91541#true} call _BLAST_init(); {91649#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:37:12,709 INFO L290 TraceCheckUtils]: 7: Hoare triple {91649#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {91541#true} is VALID [2022-04-08 08:37:12,709 INFO L290 TraceCheckUtils]: 8: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,709 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {91541#true} {91541#true} #1216#return; {91541#true} is VALID [2022-04-08 08:37:12,710 INFO L272 TraceCheckUtils]: 10: Hoare triple {91541#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {91650#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:37:12,710 INFO L290 TraceCheckUtils]: 11: Hoare triple {91650#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {91541#true} is VALID [2022-04-08 08:37:12,710 INFO L272 TraceCheckUtils]: 12: Hoare triple {91541#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {91541#true} is VALID [2022-04-08 08:37:12,710 INFO L290 TraceCheckUtils]: 13: Hoare triple {91541#true} ~cond := #in~cond; {91541#true} is VALID [2022-04-08 08:37:12,710 INFO L290 TraceCheckUtils]: 14: Hoare triple {91541#true} assume !(0 == ~cond); {91541#true} is VALID [2022-04-08 08:37:12,710 INFO L290 TraceCheckUtils]: 15: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,710 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {91541#true} {91541#true} #1254#return; {91541#true} is VALID [2022-04-08 08:37:12,710 INFO L290 TraceCheckUtils]: 17: Hoare triple {91541#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {91541#true} is VALID [2022-04-08 08:37:12,710 INFO L290 TraceCheckUtils]: 18: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,710 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {91541#true} {91541#true} #1218#return; {91541#true} is VALID [2022-04-08 08:37:12,710 INFO L290 TraceCheckUtils]: 20: Hoare triple {91541#true} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {91541#true} is VALID [2022-04-08 08:37:12,710 INFO L290 TraceCheckUtils]: 21: Hoare triple {91541#true} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {91541#true} is VALID [2022-04-08 08:37:12,710 INFO L290 TraceCheckUtils]: 22: Hoare triple {91541#true} assume !(0 == ~irp_choice~0); {91541#true} is VALID [2022-04-08 08:37:12,711 INFO L272 TraceCheckUtils]: 23: Hoare triple {91541#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {91655#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:37:12,711 INFO L290 TraceCheckUtils]: 24: Hoare triple {91655#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {91541#true} is VALID [2022-04-08 08:37:12,712 INFO L272 TraceCheckUtils]: 25: Hoare triple {91541#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {91655#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:37:12,712 INFO L290 TraceCheckUtils]: 26: Hoare triple {91655#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {91541#true} is VALID [2022-04-08 08:37:12,713 INFO L290 TraceCheckUtils]: 27: Hoare triple {91541#true} assume 0 == ~__BLAST_NONDET~5; {91541#true} is VALID [2022-04-08 08:37:12,713 INFO L290 TraceCheckUtils]: 28: Hoare triple {91541#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {91541#true} is VALID [2022-04-08 08:37:12,713 INFO L290 TraceCheckUtils]: 29: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,713 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {91541#true} {91541#true} #1176#return; {91541#true} is VALID [2022-04-08 08:37:12,713 INFO L290 TraceCheckUtils]: 31: Hoare triple {91541#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {91541#true} is VALID [2022-04-08 08:37:12,713 INFO L290 TraceCheckUtils]: 32: Hoare triple {91541#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {91541#true} is VALID [2022-04-08 08:37:12,714 INFO L272 TraceCheckUtils]: 33: Hoare triple {91541#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {91650#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:37:12,715 INFO L290 TraceCheckUtils]: 34: Hoare triple {91650#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {91671#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 08:37:12,716 INFO L290 TraceCheckUtils]: 35: Hoare triple {91671#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {91672#(and (or (<= (+ (* (div |#Ultimate.C_memset_#amount| 4294967296) 4294967296) 1) |#Ultimate.C_memset_#amount|) (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (or (not (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 4294967296) 1) 0)))} is VALID [2022-04-08 08:37:12,717 INFO L290 TraceCheckUtils]: 36: Hoare triple {91672#(and (or (<= (+ (* (div |#Ultimate.C_memset_#amount| 4294967296) 4294967296) 1) |#Ultimate.C_memset_#amount|) (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (or (not (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 4294967296) 1) 0)))} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {91673#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 08:37:12,717 INFO L290 TraceCheckUtils]: 37: Hoare triple {91673#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {91673#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 08:37:12,718 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {91673#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} {91541#true} #1178#return; {91542#false} is VALID [2022-04-08 08:37:12,718 INFO L290 TraceCheckUtils]: 39: Hoare triple {91542#false} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {91542#false} is VALID [2022-04-08 08:37:12,718 INFO L272 TraceCheckUtils]: 40: Hoare triple {91542#false} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {91541#true} is VALID [2022-04-08 08:37:12,718 INFO L290 TraceCheckUtils]: 41: Hoare triple {91541#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {91541#true} is VALID [2022-04-08 08:37:12,718 INFO L290 TraceCheckUtils]: 42: Hoare triple {91541#true} assume 0 == ~__BLAST_NONDET~2; {91541#true} is VALID [2022-04-08 08:37:12,718 INFO L290 TraceCheckUtils]: 43: Hoare triple {91541#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {91541#true} is VALID [2022-04-08 08:37:12,718 INFO L290 TraceCheckUtils]: 44: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,718 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {91541#true} {91542#false} #1180#return; {91542#false} is VALID [2022-04-08 08:37:12,718 INFO L290 TraceCheckUtils]: 46: Hoare triple {91542#false} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {91542#false} is VALID [2022-04-08 08:37:12,719 INFO L290 TraceCheckUtils]: 47: Hoare triple {91542#false} assume true; {91542#false} is VALID [2022-04-08 08:37:12,719 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {91542#false} {91541#true} #1220#return; {91542#false} is VALID [2022-04-08 08:37:12,719 INFO L290 TraceCheckUtils]: 49: Hoare triple {91542#false} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {91542#false} is VALID [2022-04-08 08:37:12,719 INFO L272 TraceCheckUtils]: 50: Hoare triple {91542#false} call stub_driver_init(); {91674#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:37:12,719 INFO L290 TraceCheckUtils]: 51: Hoare triple {91674#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {91541#true} is VALID [2022-04-08 08:37:12,719 INFO L290 TraceCheckUtils]: 52: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,719 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {91541#true} {91542#false} #1222#return; {91542#false} is VALID [2022-04-08 08:37:12,719 INFO L290 TraceCheckUtils]: 54: Hoare triple {91542#false} assume !!(~status~5 >= 0); {91542#false} is VALID [2022-04-08 08:37:12,719 INFO L290 TraceCheckUtils]: 55: Hoare triple {91542#false} assume !(0 == ~__BLAST_NONDET~0); {91542#false} is VALID [2022-04-08 08:37:12,719 INFO L290 TraceCheckUtils]: 56: Hoare triple {91542#false} assume !(1 == ~__BLAST_NONDET~0); {91542#false} is VALID [2022-04-08 08:37:12,719 INFO L290 TraceCheckUtils]: 57: Hoare triple {91542#false} assume !(2 == ~__BLAST_NONDET~0); {91542#false} is VALID [2022-04-08 08:37:12,719 INFO L290 TraceCheckUtils]: 58: Hoare triple {91542#false} assume 3 == ~__BLAST_NONDET~0; {91542#false} is VALID [2022-04-08 08:37:12,719 INFO L272 TraceCheckUtils]: 59: Hoare triple {91542#false} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {91675#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(#length)| |#length|) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:37:12,719 INFO L290 TraceCheckUtils]: 60: Hoare triple {91675#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(#length)| |#length|) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~devExt~3.base, ~devExt~3.offset;havoc ~irpStack~3.base, ~irpStack~3.offset;havoc ~status~3;call ~#event~1.base, ~#event~1.offset := #Ultimate.allocOnStack(16);havoc ~irpSp~0.base, ~irpSp~0.offset;havoc ~nextIrpSp~0.base, ~nextIrpSp~0.offset;havoc ~irpSp___0~0.base, ~irpSp___0~0.offset;~status~3 := 0;call #t~mem79.base, #t~mem79.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~3.base, ~devExt~3.offset := #t~mem79.base, #t~mem79.offset;havoc #t~mem79.base, #t~mem79.offset;call #t~mem80.base, #t~mem80.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~3.base, ~irpStack~3.offset := #t~mem80.base, #t~mem80.offset;havoc #t~mem80.base, #t~mem80.offset;call #t~mem81 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {91541#true} is VALID [2022-04-08 08:37:12,719 INFO L290 TraceCheckUtils]: 61: Hoare triple {91541#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {91541#true} is VALID [2022-04-08 08:37:12,719 INFO L290 TraceCheckUtils]: 62: Hoare triple {91541#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp~0.base, ~irpSp~0.offset := #t~mem102.base, #t~mem102.offset;havoc #t~mem102.base, #t~mem102.offset;call #t~mem103.base, #t~mem103.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 36;havoc #t~mem103.base, #t~mem103.offset; {91541#true} is VALID [2022-04-08 08:37:12,720 INFO L272 TraceCheckUtils]: 63: Hoare triple {91541#true} call #t~memmove~res104.base, #t~memmove~res104.offset := #Ultimate.C_memmove(~nextIrpSp~0.base, ~nextIrpSp~0.offset, ~irpSp~0.base, ~irpSp~0.offset, 28); {91650#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:37:12,720 INFO L290 TraceCheckUtils]: 64: Hoare triple {91650#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {91541#true} is VALID [2022-04-08 08:37:12,720 INFO L290 TraceCheckUtils]: 65: Hoare triple {91541#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {91541#true} is VALID [2022-04-08 08:37:12,720 INFO L290 TraceCheckUtils]: 66: Hoare triple {91541#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {91541#true} is VALID [2022-04-08 08:37:12,721 INFO L290 TraceCheckUtils]: 67: Hoare triple {91541#true} assume #res.base == dest.base && #res.offset == dest.offset; {91541#true} is VALID [2022-04-08 08:37:12,721 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {91541#true} {91541#true} #1186#return; {91541#true} is VALID [2022-04-08 08:37:12,721 INFO L290 TraceCheckUtils]: 69: Hoare triple {91541#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {91541#true} is VALID [2022-04-08 08:37:12,721 INFO L290 TraceCheckUtils]: 70: Hoare triple {91541#true} assume !(~s~0 != ~NP~0); {91541#true} is VALID [2022-04-08 08:37:12,721 INFO L290 TraceCheckUtils]: 71: Hoare triple {91541#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {91541#true} is VALID [2022-04-08 08:37:12,721 INFO L290 TraceCheckUtils]: 72: Hoare triple {91541#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 36;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 28 + ~irpSp___0~0.offset, 4);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 32 + ~irpSp___0~0.offset, 4);call write~int(0, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(64, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call #t~mem106 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem106 % 256, 128), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem106;call #t~mem107 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem107 % 256, 32), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem107;call #t~mem108.base, #t~mem108.offset := read~$Pointer$(~devExt~3.base, 8 + ~devExt~3.offset, 4); {91541#true} is VALID [2022-04-08 08:37:12,722 INFO L272 TraceCheckUtils]: 73: Hoare triple {91541#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {91718#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:37:12,722 INFO L290 TraceCheckUtils]: 74: Hoare triple {91718#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {91541#true} is VALID [2022-04-08 08:37:12,722 INFO L290 TraceCheckUtils]: 75: Hoare triple {91541#true} assume 0 != ~compRegistered~0; {91541#true} is VALID [2022-04-08 08:37:12,723 INFO L272 TraceCheckUtils]: 76: Hoare triple {91541#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {91730#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:37:12,723 INFO L290 TraceCheckUtils]: 77: Hoare triple {91730#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {91541#true} is VALID [2022-04-08 08:37:12,723 INFO L272 TraceCheckUtils]: 78: Hoare triple {91541#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {91730#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:37:12,723 INFO L290 TraceCheckUtils]: 79: Hoare triple {91730#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {91541#true} is VALID [2022-04-08 08:37:12,723 INFO L290 TraceCheckUtils]: 80: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,723 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {91541#true} {91541#true} #1174#return; {91541#true} is VALID [2022-04-08 08:37:12,723 INFO L290 TraceCheckUtils]: 82: Hoare triple {91541#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {91541#true} is VALID [2022-04-08 08:37:12,724 INFO L290 TraceCheckUtils]: 83: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,724 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {91541#true} {91541#true} #1210#return; {91541#true} is VALID [2022-04-08 08:37:12,724 INFO L290 TraceCheckUtils]: 85: Hoare triple {91541#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {91541#true} is VALID [2022-04-08 08:37:12,724 INFO L290 TraceCheckUtils]: 86: Hoare triple {91541#true} assume -1073741802 == ~compRetStatus~0; {91541#true} is VALID [2022-04-08 08:37:12,724 INFO L272 TraceCheckUtils]: 87: Hoare triple {91541#true} call stubMoreProcessingRequired(); {91734#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:37:12,724 INFO L290 TraceCheckUtils]: 88: Hoare triple {91734#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {91541#true} is VALID [2022-04-08 08:37:12,724 INFO L290 TraceCheckUtils]: 89: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,724 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {91541#true} {91541#true} #1212#return; {91541#true} is VALID [2022-04-08 08:37:12,724 INFO L290 TraceCheckUtils]: 91: Hoare triple {91541#true} assume !(0 == ~__BLAST_NONDET~11); {91541#true} is VALID [2022-04-08 08:37:12,724 INFO L290 TraceCheckUtils]: 92: Hoare triple {91541#true} assume !(1 == ~__BLAST_NONDET~11); {91541#true} is VALID [2022-04-08 08:37:12,724 INFO L290 TraceCheckUtils]: 93: Hoare triple {91541#true} ~returnVal2~0 := 259; {91541#true} is VALID [2022-04-08 08:37:12,724 INFO L290 TraceCheckUtils]: 94: Hoare triple {91541#true} assume !(~s~0 == ~NP~0); {91541#true} is VALID [2022-04-08 08:37:12,724 INFO L290 TraceCheckUtils]: 95: Hoare triple {91541#true} assume ~s~0 == ~MPR1~0; {91541#true} is VALID [2022-04-08 08:37:12,724 INFO L290 TraceCheckUtils]: 96: Hoare triple {91541#true} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := ~returnVal2~0; {91541#true} is VALID [2022-04-08 08:37:12,724 INFO L290 TraceCheckUtils]: 97: Hoare triple {91541#true} #res := ~returnVal2~0; {91541#true} is VALID [2022-04-08 08:37:12,724 INFO L290 TraceCheckUtils]: 98: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,725 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {91541#true} {91541#true} #1192#return; {91541#true} is VALID [2022-04-08 08:37:12,725 INFO L290 TraceCheckUtils]: 100: Hoare triple {91541#true} assume -2147483648 <= #t~ret109 && #t~ret109 <= 2147483647;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {91541#true} is VALID [2022-04-08 08:37:12,725 INFO L290 TraceCheckUtils]: 101: Hoare triple {91541#true} assume 259 == ~status~3; {91541#true} is VALID [2022-04-08 08:37:12,725 INFO L272 TraceCheckUtils]: 102: Hoare triple {91541#true} call #t~ret110 := KeWaitForSingleObject(~#event~1.base, ~#event~1.offset, 0, 0, 0, 0, 0); {91735#(and (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:37:12,726 INFO L290 TraceCheckUtils]: 103: Hoare triple {91735#(and (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~s~0 |old(~s~0)|))} ~Object.base, ~Object.offset := #in~Object.base, #in~Object.offset;~WaitReason := #in~WaitReason;~WaitMode := #in~WaitMode;~Alertable := #in~Alertable;~Timeout.base, ~Timeout.offset := #in~Timeout.base, #in~Timeout.offset;assume -2147483648 <= #t~nondet200 && #t~nondet200 <= 2147483647;~__BLAST_NONDET~13 := #t~nondet200;havoc #t~nondet200; {91541#true} is VALID [2022-04-08 08:37:12,726 INFO L290 TraceCheckUtils]: 104: Hoare triple {91541#true} assume ~s~0 == ~MPR3~0; {91541#true} is VALID [2022-04-08 08:37:12,726 INFO L290 TraceCheckUtils]: 105: Hoare triple {91541#true} assume 1 == ~setEventCalled~0;~s~0 := ~NP~0;~setEventCalled~0 := 0; {91541#true} is VALID [2022-04-08 08:37:12,726 INFO L290 TraceCheckUtils]: 106: Hoare triple {91541#true} assume 0 == ~__BLAST_NONDET~13; {91541#true} is VALID [2022-04-08 08:37:12,726 INFO L290 TraceCheckUtils]: 107: Hoare triple {91541#true} #res := 0; {91541#true} is VALID [2022-04-08 08:37:12,726 INFO L290 TraceCheckUtils]: 108: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,726 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {91541#true} {91541#true} #1194#return; {91541#true} is VALID [2022-04-08 08:37:12,726 INFO L290 TraceCheckUtils]: 110: Hoare triple {91541#true} assume -2147483648 <= #t~ret110 && #t~ret110 <= 2147483647;havoc #t~ret110; {91541#true} is VALID [2022-04-08 08:37:12,726 INFO L290 TraceCheckUtils]: 111: Hoare triple {91541#true} assume ~status~3 >= 0; {91541#true} is VALID [2022-04-08 08:37:12,726 INFO L290 TraceCheckUtils]: 112: Hoare triple {91541#true} assume ~myStatus~0 >= 0;call write~int(1, ~devExt~3.base, 52 + ~devExt~3.offset, 1);call write~int(0, ~devExt~3.base, 54 + ~devExt~3.offset, 1);call write~int(0, ~devExt~3.base, 53 + ~devExt~3.offset, 1); {91541#true} is VALID [2022-04-08 08:37:12,726 INFO L290 TraceCheckUtils]: 113: Hoare triple {91541#true} call write~int(~status~3, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~3;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4); {91541#true} is VALID [2022-04-08 08:37:12,727 INFO L272 TraceCheckUtils]: 114: Hoare triple {91541#true} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {91734#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:37:12,727 INFO L290 TraceCheckUtils]: 115: Hoare triple {91734#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {91541#true} is VALID [2022-04-08 08:37:12,727 INFO L290 TraceCheckUtils]: 116: Hoare triple {91541#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {91541#true} is VALID [2022-04-08 08:37:12,727 INFO L290 TraceCheckUtils]: 117: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,727 INFO L284 TraceCheckUtils]: 118: Hoare quadruple {91541#true} {91541#true} #1196#return; {91541#true} is VALID [2022-04-08 08:37:12,728 INFO L290 TraceCheckUtils]: 119: Hoare triple {91541#true} #res := ~status~3;call ULTIMATE.dealloc(~#event~1.base, ~#event~1.offset);havoc ~#event~1.base, ~#event~1.offset; {91541#true} is VALID [2022-04-08 08:37:12,728 INFO L290 TraceCheckUtils]: 120: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:12,728 INFO L284 TraceCheckUtils]: 121: Hoare quadruple {91541#true} {91542#false} #1230#return; {91542#false} is VALID [2022-04-08 08:37:12,728 INFO L290 TraceCheckUtils]: 122: Hoare triple {91542#false} assume -2147483648 <= #t~ret174 && #t~ret174 <= 2147483647;~status~5 := #t~ret174;havoc #t~ret174; {91542#false} is VALID [2022-04-08 08:37:12,728 INFO L290 TraceCheckUtils]: 123: Hoare triple {91542#false} assume 0 != ~we_should_unload~0; {91542#false} is VALID [2022-04-08 08:37:12,728 INFO L290 TraceCheckUtils]: 124: Hoare triple {91542#false} assume !(1 == ~pended~0); {91542#false} is VALID [2022-04-08 08:37:12,728 INFO L290 TraceCheckUtils]: 125: Hoare triple {91542#false} assume !(1 == ~pended~0); {91542#false} is VALID [2022-04-08 08:37:12,728 INFO L290 TraceCheckUtils]: 126: Hoare triple {91542#false} assume !(~s~0 == ~UNLOADED~0); {91542#false} is VALID [2022-04-08 08:37:12,728 INFO L290 TraceCheckUtils]: 127: Hoare triple {91542#false} assume !(-1 == ~status~5); {91542#false} is VALID [2022-04-08 08:37:12,728 INFO L290 TraceCheckUtils]: 128: Hoare triple {91542#false} assume ~s~0 != ~SKIP2~0; {91542#false} is VALID [2022-04-08 08:37:12,728 INFO L290 TraceCheckUtils]: 129: Hoare triple {91542#false} assume ~s~0 != ~IPC~0; {91542#false} is VALID [2022-04-08 08:37:12,728 INFO L290 TraceCheckUtils]: 130: Hoare triple {91542#false} assume !(~s~0 != ~DC~0); {91542#false} is VALID [2022-04-08 08:37:12,728 INFO L290 TraceCheckUtils]: 131: Hoare triple {91542#false} assume !(1 == ~pended~0); {91542#false} is VALID [2022-04-08 08:37:12,728 INFO L290 TraceCheckUtils]: 132: Hoare triple {91542#false} assume ~s~0 == ~DC~0; {91542#false} is VALID [2022-04-08 08:37:12,728 INFO L290 TraceCheckUtils]: 133: Hoare triple {91542#false} assume 259 == ~status~5; {91542#false} is VALID [2022-04-08 08:37:12,728 INFO L272 TraceCheckUtils]: 134: Hoare triple {91542#false} call errorFn(); {91542#false} is VALID [2022-04-08 08:37:12,728 INFO L290 TraceCheckUtils]: 135: Hoare triple {91542#false} assume !false; {91542#false} is VALID [2022-04-08 08:37:12,729 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 08:37:12,729 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:37:12,729 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [55240598] [2022-04-08 08:37:12,729 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [55240598] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 08:37:12,729 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1494966655] [2022-04-08 08:37:12,729 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 08:37:12,729 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 08:37:12,729 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 08:37:12,730 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 08:37:12,730 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-08 08:37:14,026 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 08:37:14,026 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 08:37:14,036 INFO L263 TraceCheckSpWp]: Trace formula consists of 1877 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-08 08:37:14,076 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:14,079 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 08:37:14,350 INFO L272 TraceCheckUtils]: 0: Hoare triple {91541#true} call ULTIMATE.init(); {91541#true} is VALID [2022-04-08 08:37:14,351 INFO L290 TraceCheckUtils]: 1: Hoare triple {91541#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {91541#true} is VALID [2022-04-08 08:37:14,351 INFO L290 TraceCheckUtils]: 2: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:14,351 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {91541#true} {91541#true} #1270#return; {91541#true} is VALID [2022-04-08 08:37:14,351 INFO L272 TraceCheckUtils]: 4: Hoare triple {91541#true} call #t~ret213 := main(); {91541#true} is VALID [2022-04-08 08:37:14,351 INFO L290 TraceCheckUtils]: 5: Hoare triple {91541#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {91541#true} is VALID [2022-04-08 08:37:14,351 INFO L272 TraceCheckUtils]: 6: Hoare triple {91541#true} call _BLAST_init(); {91541#true} is VALID [2022-04-08 08:37:14,351 INFO L290 TraceCheckUtils]: 7: Hoare triple {91541#true} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {91541#true} is VALID [2022-04-08 08:37:14,351 INFO L290 TraceCheckUtils]: 8: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:14,351 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {91541#true} {91541#true} #1216#return; {91541#true} is VALID [2022-04-08 08:37:14,351 INFO L272 TraceCheckUtils]: 10: Hoare triple {91541#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {91541#true} is VALID [2022-04-08 08:37:14,351 INFO L290 TraceCheckUtils]: 11: Hoare triple {91541#true} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {91541#true} is VALID [2022-04-08 08:37:14,351 INFO L272 TraceCheckUtils]: 12: Hoare triple {91541#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {91541#true} is VALID [2022-04-08 08:37:14,351 INFO L290 TraceCheckUtils]: 13: Hoare triple {91541#true} ~cond := #in~cond; {91541#true} is VALID [2022-04-08 08:37:14,351 INFO L290 TraceCheckUtils]: 14: Hoare triple {91541#true} assume !(0 == ~cond); {91541#true} is VALID [2022-04-08 08:37:14,351 INFO L290 TraceCheckUtils]: 15: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:14,351 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {91541#true} {91541#true} #1254#return; {91541#true} is VALID [2022-04-08 08:37:14,352 INFO L290 TraceCheckUtils]: 17: Hoare triple {91541#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {91541#true} is VALID [2022-04-08 08:37:14,352 INFO L290 TraceCheckUtils]: 18: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:14,352 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {91541#true} {91541#true} #1218#return; {91541#true} is VALID [2022-04-08 08:37:14,352 INFO L290 TraceCheckUtils]: 20: Hoare triple {91541#true} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {91541#true} is VALID [2022-04-08 08:37:14,352 INFO L290 TraceCheckUtils]: 21: Hoare triple {91541#true} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {91541#true} is VALID [2022-04-08 08:37:14,352 INFO L290 TraceCheckUtils]: 22: Hoare triple {91541#true} assume !(0 == ~irp_choice~0); {91541#true} is VALID [2022-04-08 08:37:14,352 INFO L272 TraceCheckUtils]: 23: Hoare triple {91541#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {91541#true} is VALID [2022-04-08 08:37:14,352 INFO L290 TraceCheckUtils]: 24: Hoare triple {91541#true} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {91541#true} is VALID [2022-04-08 08:37:14,352 INFO L272 TraceCheckUtils]: 25: Hoare triple {91541#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {91541#true} is VALID [2022-04-08 08:37:14,352 INFO L290 TraceCheckUtils]: 26: Hoare triple {91541#true} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {91541#true} is VALID [2022-04-08 08:37:14,352 INFO L290 TraceCheckUtils]: 27: Hoare triple {91541#true} assume 0 == ~__BLAST_NONDET~5; {91541#true} is VALID [2022-04-08 08:37:14,352 INFO L290 TraceCheckUtils]: 28: Hoare triple {91541#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {91541#true} is VALID [2022-04-08 08:37:14,352 INFO L290 TraceCheckUtils]: 29: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:14,352 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {91541#true} {91541#true} #1176#return; {91541#true} is VALID [2022-04-08 08:37:14,352 INFO L290 TraceCheckUtils]: 31: Hoare triple {91541#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {91541#true} is VALID [2022-04-08 08:37:14,352 INFO L290 TraceCheckUtils]: 32: Hoare triple {91541#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {91541#true} is VALID [2022-04-08 08:37:14,352 INFO L272 TraceCheckUtils]: 33: Hoare triple {91541#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {91541#true} is VALID [2022-04-08 08:37:14,352 INFO L290 TraceCheckUtils]: 34: Hoare triple {91541#true} #t~loopctr214 := 0; {91541#true} is VALID [2022-04-08 08:37:14,352 INFO L290 TraceCheckUtils]: 35: Hoare triple {91541#true} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {91541#true} is VALID [2022-04-08 08:37:14,353 INFO L290 TraceCheckUtils]: 36: Hoare triple {91541#true} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {91541#true} is VALID [2022-04-08 08:37:14,353 INFO L290 TraceCheckUtils]: 37: Hoare triple {91541#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {91541#true} is VALID [2022-04-08 08:37:14,353 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {91541#true} {91541#true} #1178#return; {91541#true} is VALID [2022-04-08 08:37:14,353 INFO L290 TraceCheckUtils]: 39: Hoare triple {91541#true} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {91541#true} is VALID [2022-04-08 08:37:14,353 INFO L272 TraceCheckUtils]: 40: Hoare triple {91541#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {91541#true} is VALID [2022-04-08 08:37:14,353 INFO L290 TraceCheckUtils]: 41: Hoare triple {91541#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {91541#true} is VALID [2022-04-08 08:37:14,353 INFO L290 TraceCheckUtils]: 42: Hoare triple {91541#true} assume 0 == ~__BLAST_NONDET~2; {91541#true} is VALID [2022-04-08 08:37:14,353 INFO L290 TraceCheckUtils]: 43: Hoare triple {91541#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {91541#true} is VALID [2022-04-08 08:37:14,353 INFO L290 TraceCheckUtils]: 44: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:14,353 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {91541#true} {91541#true} #1180#return; {91541#true} is VALID [2022-04-08 08:37:14,353 INFO L290 TraceCheckUtils]: 46: Hoare triple {91541#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {91541#true} is VALID [2022-04-08 08:37:14,353 INFO L290 TraceCheckUtils]: 47: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:14,353 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {91541#true} {91541#true} #1220#return; {91541#true} is VALID [2022-04-08 08:37:14,353 INFO L290 TraceCheckUtils]: 49: Hoare triple {91541#true} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {91541#true} is VALID [2022-04-08 08:37:14,353 INFO L272 TraceCheckUtils]: 50: Hoare triple {91541#true} call stub_driver_init(); {91541#true} is VALID [2022-04-08 08:37:14,353 INFO L290 TraceCheckUtils]: 51: Hoare triple {91541#true} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {91541#true} is VALID [2022-04-08 08:37:14,353 INFO L290 TraceCheckUtils]: 52: Hoare triple {91541#true} assume true; {91541#true} is VALID [2022-04-08 08:37:14,353 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {91541#true} {91541#true} #1222#return; {91541#true} is VALID [2022-04-08 08:37:14,353 INFO L290 TraceCheckUtils]: 54: Hoare triple {91541#true} assume !!(~status~5 >= 0); {91541#true} is VALID [2022-04-08 08:37:14,354 INFO L290 TraceCheckUtils]: 55: Hoare triple {91541#true} assume !(0 == ~__BLAST_NONDET~0); {91541#true} is VALID [2022-04-08 08:37:14,354 INFO L290 TraceCheckUtils]: 56: Hoare triple {91541#true} assume !(1 == ~__BLAST_NONDET~0); {91541#true} is VALID [2022-04-08 08:37:14,354 INFO L290 TraceCheckUtils]: 57: Hoare triple {91541#true} assume !(2 == ~__BLAST_NONDET~0); {91541#true} is VALID [2022-04-08 08:37:14,354 INFO L290 TraceCheckUtils]: 58: Hoare triple {91541#true} assume 3 == ~__BLAST_NONDET~0; {91541#true} is VALID [2022-04-08 08:37:14,354 INFO L272 TraceCheckUtils]: 59: Hoare triple {91541#true} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {91541#true} is VALID [2022-04-08 08:37:14,354 INFO L290 TraceCheckUtils]: 60: Hoare triple {91541#true} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~devExt~3.base, ~devExt~3.offset;havoc ~irpStack~3.base, ~irpStack~3.offset;havoc ~status~3;call ~#event~1.base, ~#event~1.offset := #Ultimate.allocOnStack(16);havoc ~irpSp~0.base, ~irpSp~0.offset;havoc ~nextIrpSp~0.base, ~nextIrpSp~0.offset;havoc ~irpSp___0~0.base, ~irpSp___0~0.offset;~status~3 := 0;call #t~mem79.base, #t~mem79.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~3.base, ~devExt~3.offset := #t~mem79.base, #t~mem79.offset;havoc #t~mem79.base, #t~mem79.offset;call #t~mem80.base, #t~mem80.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~3.base, ~irpStack~3.offset := #t~mem80.base, #t~mem80.offset;havoc #t~mem80.base, #t~mem80.offset;call #t~mem81 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {91541#true} is VALID [2022-04-08 08:37:14,354 INFO L290 TraceCheckUtils]: 61: Hoare triple {91541#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {91541#true} is VALID [2022-04-08 08:37:14,354 INFO L290 TraceCheckUtils]: 62: Hoare triple {91541#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp~0.base, ~irpSp~0.offset := #t~mem102.base, #t~mem102.offset;havoc #t~mem102.base, #t~mem102.offset;call #t~mem103.base, #t~mem103.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 36;havoc #t~mem103.base, #t~mem103.offset; {91541#true} is VALID [2022-04-08 08:37:14,354 INFO L272 TraceCheckUtils]: 63: Hoare triple {91541#true} call #t~memmove~res104.base, #t~memmove~res104.offset := #Ultimate.C_memmove(~nextIrpSp~0.base, ~nextIrpSp~0.offset, ~irpSp~0.base, ~irpSp~0.offset, 28); {91541#true} is VALID [2022-04-08 08:37:14,354 INFO L290 TraceCheckUtils]: 64: Hoare triple {91541#true} #t~loopctr215 := 0; {91931#(= |#Ultimate.C_memmove_#t~loopctr215| 0)} is VALID [2022-04-08 08:37:14,355 INFO L290 TraceCheckUtils]: 65: Hoare triple {91931#(= |#Ultimate.C_memmove_#t~loopctr215| 0)} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {91935#(not (< 0 (mod |#Ultimate.C_memmove_size| 4294967296)))} is VALID [2022-04-08 08:37:14,355 INFO L290 TraceCheckUtils]: 66: Hoare triple {91935#(not (< 0 (mod |#Ultimate.C_memmove_size| 4294967296)))} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {91935#(not (< 0 (mod |#Ultimate.C_memmove_size| 4294967296)))} is VALID [2022-04-08 08:37:14,355 INFO L290 TraceCheckUtils]: 67: Hoare triple {91935#(not (< 0 (mod |#Ultimate.C_memmove_size| 4294967296)))} assume #res.base == dest.base && #res.offset == dest.offset; {91935#(not (< 0 (mod |#Ultimate.C_memmove_size| 4294967296)))} is VALID [2022-04-08 08:37:14,356 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {91935#(not (< 0 (mod |#Ultimate.C_memmove_size| 4294967296)))} {91541#true} #1186#return; {91542#false} is VALID [2022-04-08 08:37:14,356 INFO L290 TraceCheckUtils]: 69: Hoare triple {91542#false} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {91542#false} is VALID [2022-04-08 08:37:14,356 INFO L290 TraceCheckUtils]: 70: Hoare triple {91542#false} assume !(~s~0 != ~NP~0); {91542#false} is VALID [2022-04-08 08:37:14,356 INFO L290 TraceCheckUtils]: 71: Hoare triple {91542#false} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {91542#false} is VALID [2022-04-08 08:37:14,356 INFO L290 TraceCheckUtils]: 72: Hoare triple {91542#false} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 36;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 28 + ~irpSp___0~0.offset, 4);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 32 + ~irpSp___0~0.offset, 4);call write~int(0, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(64, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call #t~mem106 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem106 % 256, 128), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem106;call #t~mem107 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem107 % 256, 32), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem107;call #t~mem108.base, #t~mem108.offset := read~$Pointer$(~devExt~3.base, 8 + ~devExt~3.offset, 4); {91542#false} is VALID [2022-04-08 08:37:14,356 INFO L272 TraceCheckUtils]: 73: Hoare triple {91542#false} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {91542#false} is VALID [2022-04-08 08:37:14,356 INFO L290 TraceCheckUtils]: 74: Hoare triple {91542#false} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {91542#false} is VALID [2022-04-08 08:37:14,356 INFO L290 TraceCheckUtils]: 75: Hoare triple {91542#false} assume 0 != ~compRegistered~0; {91542#false} is VALID [2022-04-08 08:37:14,356 INFO L272 TraceCheckUtils]: 76: Hoare triple {91542#false} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {91542#false} is VALID [2022-04-08 08:37:14,357 INFO L290 TraceCheckUtils]: 77: Hoare triple {91542#false} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {91542#false} is VALID [2022-04-08 08:37:14,357 INFO L272 TraceCheckUtils]: 78: Hoare triple {91542#false} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {91542#false} is VALID [2022-04-08 08:37:14,357 INFO L290 TraceCheckUtils]: 79: Hoare triple {91542#false} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {91542#false} is VALID [2022-04-08 08:37:14,357 INFO L290 TraceCheckUtils]: 80: Hoare triple {91542#false} assume true; {91542#false} is VALID [2022-04-08 08:37:14,357 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {91542#false} {91542#false} #1174#return; {91542#false} is VALID [2022-04-08 08:37:14,357 INFO L290 TraceCheckUtils]: 82: Hoare triple {91542#false} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {91542#false} is VALID [2022-04-08 08:37:14,357 INFO L290 TraceCheckUtils]: 83: Hoare triple {91542#false} assume true; {91542#false} is VALID [2022-04-08 08:37:14,357 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {91542#false} {91542#false} #1210#return; {91542#false} is VALID [2022-04-08 08:37:14,357 INFO L290 TraceCheckUtils]: 85: Hoare triple {91542#false} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {91542#false} is VALID [2022-04-08 08:37:14,357 INFO L290 TraceCheckUtils]: 86: Hoare triple {91542#false} assume -1073741802 == ~compRetStatus~0; {91542#false} is VALID [2022-04-08 08:37:14,357 INFO L272 TraceCheckUtils]: 87: Hoare triple {91542#false} call stubMoreProcessingRequired(); {91542#false} is VALID [2022-04-08 08:37:14,357 INFO L290 TraceCheckUtils]: 88: Hoare triple {91542#false} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {91542#false} is VALID [2022-04-08 08:37:14,357 INFO L290 TraceCheckUtils]: 89: Hoare triple {91542#false} assume true; {91542#false} is VALID [2022-04-08 08:37:14,357 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {91542#false} {91542#false} #1212#return; {91542#false} is VALID [2022-04-08 08:37:14,357 INFO L290 TraceCheckUtils]: 91: Hoare triple {91542#false} assume !(0 == ~__BLAST_NONDET~11); {91542#false} is VALID [2022-04-08 08:37:14,357 INFO L290 TraceCheckUtils]: 92: Hoare triple {91542#false} assume !(1 == ~__BLAST_NONDET~11); {91542#false} is VALID [2022-04-08 08:37:14,357 INFO L290 TraceCheckUtils]: 93: Hoare triple {91542#false} ~returnVal2~0 := 259; {91542#false} is VALID [2022-04-08 08:37:14,357 INFO L290 TraceCheckUtils]: 94: Hoare triple {91542#false} assume !(~s~0 == ~NP~0); {91542#false} is VALID [2022-04-08 08:37:14,357 INFO L290 TraceCheckUtils]: 95: Hoare triple {91542#false} assume ~s~0 == ~MPR1~0; {91542#false} is VALID [2022-04-08 08:37:14,358 INFO L290 TraceCheckUtils]: 96: Hoare triple {91542#false} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := ~returnVal2~0; {91542#false} is VALID [2022-04-08 08:37:14,358 INFO L290 TraceCheckUtils]: 97: Hoare triple {91542#false} #res := ~returnVal2~0; {91542#false} is VALID [2022-04-08 08:37:14,358 INFO L290 TraceCheckUtils]: 98: Hoare triple {91542#false} assume true; {91542#false} is VALID [2022-04-08 08:37:14,358 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {91542#false} {91542#false} #1192#return; {91542#false} is VALID [2022-04-08 08:37:14,358 INFO L290 TraceCheckUtils]: 100: Hoare triple {91542#false} assume -2147483648 <= #t~ret109 && #t~ret109 <= 2147483647;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {91542#false} is VALID [2022-04-08 08:37:14,358 INFO L290 TraceCheckUtils]: 101: Hoare triple {91542#false} assume 259 == ~status~3; {91542#false} is VALID [2022-04-08 08:37:14,358 INFO L272 TraceCheckUtils]: 102: Hoare triple {91542#false} call #t~ret110 := KeWaitForSingleObject(~#event~1.base, ~#event~1.offset, 0, 0, 0, 0, 0); {91542#false} is VALID [2022-04-08 08:37:14,358 INFO L290 TraceCheckUtils]: 103: Hoare triple {91542#false} ~Object.base, ~Object.offset := #in~Object.base, #in~Object.offset;~WaitReason := #in~WaitReason;~WaitMode := #in~WaitMode;~Alertable := #in~Alertable;~Timeout.base, ~Timeout.offset := #in~Timeout.base, #in~Timeout.offset;assume -2147483648 <= #t~nondet200 && #t~nondet200 <= 2147483647;~__BLAST_NONDET~13 := #t~nondet200;havoc #t~nondet200; {91542#false} is VALID [2022-04-08 08:37:14,358 INFO L290 TraceCheckUtils]: 104: Hoare triple {91542#false} assume ~s~0 == ~MPR3~0; {91542#false} is VALID [2022-04-08 08:37:14,358 INFO L290 TraceCheckUtils]: 105: Hoare triple {91542#false} assume 1 == ~setEventCalled~0;~s~0 := ~NP~0;~setEventCalled~0 := 0; {91542#false} is VALID [2022-04-08 08:37:14,358 INFO L290 TraceCheckUtils]: 106: Hoare triple {91542#false} assume 0 == ~__BLAST_NONDET~13; {91542#false} is VALID [2022-04-08 08:37:14,358 INFO L290 TraceCheckUtils]: 107: Hoare triple {91542#false} #res := 0; {91542#false} is VALID [2022-04-08 08:37:14,358 INFO L290 TraceCheckUtils]: 108: Hoare triple {91542#false} assume true; {91542#false} is VALID [2022-04-08 08:37:14,358 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {91542#false} {91542#false} #1194#return; {91542#false} is VALID [2022-04-08 08:37:14,358 INFO L290 TraceCheckUtils]: 110: Hoare triple {91542#false} assume -2147483648 <= #t~ret110 && #t~ret110 <= 2147483647;havoc #t~ret110; {91542#false} is VALID [2022-04-08 08:37:14,358 INFO L290 TraceCheckUtils]: 111: Hoare triple {91542#false} assume ~status~3 >= 0; {91542#false} is VALID [2022-04-08 08:37:14,358 INFO L290 TraceCheckUtils]: 112: Hoare triple {91542#false} assume ~myStatus~0 >= 0;call write~int(1, ~devExt~3.base, 52 + ~devExt~3.offset, 1);call write~int(0, ~devExt~3.base, 54 + ~devExt~3.offset, 1);call write~int(0, ~devExt~3.base, 53 + ~devExt~3.offset, 1); {91542#false} is VALID [2022-04-08 08:37:14,358 INFO L290 TraceCheckUtils]: 113: Hoare triple {91542#false} call write~int(~status~3, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~3;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4); {91542#false} is VALID [2022-04-08 08:37:14,358 INFO L272 TraceCheckUtils]: 114: Hoare triple {91542#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {91542#false} is VALID [2022-04-08 08:37:14,358 INFO L290 TraceCheckUtils]: 115: Hoare triple {91542#false} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {91542#false} is VALID [2022-04-08 08:37:14,359 INFO L290 TraceCheckUtils]: 116: Hoare triple {91542#false} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {91542#false} is VALID [2022-04-08 08:37:14,359 INFO L290 TraceCheckUtils]: 117: Hoare triple {91542#false} assume true; {91542#false} is VALID [2022-04-08 08:37:14,359 INFO L284 TraceCheckUtils]: 118: Hoare quadruple {91542#false} {91542#false} #1196#return; {91542#false} is VALID [2022-04-08 08:37:14,359 INFO L290 TraceCheckUtils]: 119: Hoare triple {91542#false} #res := ~status~3;call ULTIMATE.dealloc(~#event~1.base, ~#event~1.offset);havoc ~#event~1.base, ~#event~1.offset; {91542#false} is VALID [2022-04-08 08:37:14,359 INFO L290 TraceCheckUtils]: 120: Hoare triple {91542#false} assume true; {91542#false} is VALID [2022-04-08 08:37:14,359 INFO L284 TraceCheckUtils]: 121: Hoare quadruple {91542#false} {91541#true} #1230#return; {91542#false} is VALID [2022-04-08 08:37:14,359 INFO L290 TraceCheckUtils]: 122: Hoare triple {91542#false} assume -2147483648 <= #t~ret174 && #t~ret174 <= 2147483647;~status~5 := #t~ret174;havoc #t~ret174; {91542#false} is VALID [2022-04-08 08:37:14,359 INFO L290 TraceCheckUtils]: 123: Hoare triple {91542#false} assume 0 != ~we_should_unload~0; {91542#false} is VALID [2022-04-08 08:37:14,359 INFO L290 TraceCheckUtils]: 124: Hoare triple {91542#false} assume !(1 == ~pended~0); {91542#false} is VALID [2022-04-08 08:37:14,359 INFO L290 TraceCheckUtils]: 125: Hoare triple {91542#false} assume !(1 == ~pended~0); {91542#false} is VALID [2022-04-08 08:37:14,359 INFO L290 TraceCheckUtils]: 126: Hoare triple {91542#false} assume !(~s~0 == ~UNLOADED~0); {91542#false} is VALID [2022-04-08 08:37:14,359 INFO L290 TraceCheckUtils]: 127: Hoare triple {91542#false} assume !(-1 == ~status~5); {91542#false} is VALID [2022-04-08 08:37:14,359 INFO L290 TraceCheckUtils]: 128: Hoare triple {91542#false} assume ~s~0 != ~SKIP2~0; {91542#false} is VALID [2022-04-08 08:37:14,359 INFO L290 TraceCheckUtils]: 129: Hoare triple {91542#false} assume ~s~0 != ~IPC~0; {91542#false} is VALID [2022-04-08 08:37:14,359 INFO L290 TraceCheckUtils]: 130: Hoare triple {91542#false} assume !(~s~0 != ~DC~0); {91542#false} is VALID [2022-04-08 08:37:14,359 INFO L290 TraceCheckUtils]: 131: Hoare triple {91542#false} assume !(1 == ~pended~0); {91542#false} is VALID [2022-04-08 08:37:14,359 INFO L290 TraceCheckUtils]: 132: Hoare triple {91542#false} assume ~s~0 == ~DC~0; {91542#false} is VALID [2022-04-08 08:37:14,359 INFO L290 TraceCheckUtils]: 133: Hoare triple {91542#false} assume 259 == ~status~5; {91542#false} is VALID [2022-04-08 08:37:14,359 INFO L272 TraceCheckUtils]: 134: Hoare triple {91542#false} call errorFn(); {91542#false} is VALID [2022-04-08 08:37:14,360 INFO L290 TraceCheckUtils]: 135: Hoare triple {91542#false} assume !false; {91542#false} is VALID [2022-04-08 08:37:14,360 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 08:37:14,360 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 08:37:14,360 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1494966655] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:37:14,360 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 08:37:14,360 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [15] total 17 [2022-04-08 08:37:14,360 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:37:14,360 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1912100081] [2022-04-08 08:37:14,360 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1912100081] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:37:14,360 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:37:14,360 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-08 08:37:14,360 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [863205760] [2022-04-08 08:37:14,360 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:37:14,361 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 25.0) internal successors, (100), 4 states have internal predecessors, (100), 2 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 2 states have call predecessors, (17), 2 states have call successors, (17) Word has length 136 [2022-04-08 08:37:14,361 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:37:14,361 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 25.0) internal successors, (100), 4 states have internal predecessors, (100), 2 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 2 states have call predecessors, (17), 2 states have call successors, (17) [2022-04-08 08:37:14,464 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 136 edges. 136 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:37:14,464 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-08 08:37:14,464 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:37:14,464 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-08 08:37:14,464 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=215, Unknown=0, NotChecked=0, Total=272 [2022-04-08 08:37:14,465 INFO L87 Difference]: Start difference. First operand 233 states and 248 transitions. Second operand has 4 states, 4 states have (on average 25.0) internal successors, (100), 4 states have internal predecessors, (100), 2 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 2 states have call predecessors, (17), 2 states have call successors, (17) [2022-04-08 08:37:22,242 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:37:22,242 INFO L93 Difference]: Finished difference Result 361 states and 386 transitions. [2022-04-08 08:37:22,242 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-08 08:37:22,242 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 25.0) internal successors, (100), 4 states have internal predecessors, (100), 2 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 2 states have call predecessors, (17), 2 states have call successors, (17) Word has length 136 [2022-04-08 08:37:22,242 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:37:22,242 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 25.0) internal successors, (100), 4 states have internal predecessors, (100), 2 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 2 states have call predecessors, (17), 2 states have call successors, (17) [2022-04-08 08:37:22,244 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 228 transitions. [2022-04-08 08:37:22,244 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 25.0) internal successors, (100), 4 states have internal predecessors, (100), 2 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 2 states have call predecessors, (17), 2 states have call successors, (17) [2022-04-08 08:37:22,246 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 228 transitions. [2022-04-08 08:37:22,246 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 228 transitions. [2022-04-08 08:37:22,387 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 228 edges. 228 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:37:22,391 INFO L225 Difference]: With dead ends: 361 [2022-04-08 08:37:22,391 INFO L226 Difference]: Without dead ends: 235 [2022-04-08 08:37:22,391 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 175 GetRequests, 159 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 42 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=61, Invalid=245, Unknown=0, NotChecked=0, Total=306 [2022-04-08 08:37:22,391 INFO L913 BasicCegarLoop]: 144 mSDtfsCounter, 3 mSDsluCounter, 286 mSDsCounter, 0 mSdLazyCounter, 10 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 430 SdHoareTripleChecker+Invalid, 11 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 10 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 08:37:22,391 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [3 Valid, 430 Invalid, 11 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 10 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 08:37:22,392 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 235 states. [2022-04-08 08:37:22,949 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 235 to 235. [2022-04-08 08:37:22,950 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:37:22,950 INFO L82 GeneralOperation]: Start isEquivalent. First operand 235 states. Second operand has 235 states, 175 states have (on average 1.0857142857142856) internal successors, (190), 175 states have internal predecessors, (190), 31 states have call successors, (31), 31 states have call predecessors, (31), 28 states have return successors, (29), 28 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-08 08:37:22,950 INFO L74 IsIncluded]: Start isIncluded. First operand 235 states. Second operand has 235 states, 175 states have (on average 1.0857142857142856) internal successors, (190), 175 states have internal predecessors, (190), 31 states have call successors, (31), 31 states have call predecessors, (31), 28 states have return successors, (29), 28 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-08 08:37:22,956 INFO L87 Difference]: Start difference. First operand 235 states. Second operand has 235 states, 175 states have (on average 1.0857142857142856) internal successors, (190), 175 states have internal predecessors, (190), 31 states have call successors, (31), 31 states have call predecessors, (31), 28 states have return successors, (29), 28 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-08 08:37:22,960 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:37:22,960 INFO L93 Difference]: Finished difference Result 235 states and 250 transitions. [2022-04-08 08:37:22,960 INFO L276 IsEmpty]: Start isEmpty. Operand 235 states and 250 transitions. [2022-04-08 08:37:22,961 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:37:22,961 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:37:22,961 INFO L74 IsIncluded]: Start isIncluded. First operand has 235 states, 175 states have (on average 1.0857142857142856) internal successors, (190), 175 states have internal predecessors, (190), 31 states have call successors, (31), 31 states have call predecessors, (31), 28 states have return successors, (29), 28 states have call predecessors, (29), 29 states have call successors, (29) Second operand 235 states. [2022-04-08 08:37:22,961 INFO L87 Difference]: Start difference. First operand has 235 states, 175 states have (on average 1.0857142857142856) internal successors, (190), 175 states have internal predecessors, (190), 31 states have call successors, (31), 31 states have call predecessors, (31), 28 states have return successors, (29), 28 states have call predecessors, (29), 29 states have call successors, (29) Second operand 235 states. [2022-04-08 08:37:22,963 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:37:22,963 INFO L93 Difference]: Finished difference Result 235 states and 250 transitions. [2022-04-08 08:37:22,963 INFO L276 IsEmpty]: Start isEmpty. Operand 235 states and 250 transitions. [2022-04-08 08:37:22,964 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:37:22,964 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:37:22,964 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:37:22,964 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:37:22,964 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 235 states, 175 states have (on average 1.0857142857142856) internal successors, (190), 175 states have internal predecessors, (190), 31 states have call successors, (31), 31 states have call predecessors, (31), 28 states have return successors, (29), 28 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-08 08:37:22,967 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 235 states to 235 states and 250 transitions. [2022-04-08 08:37:22,967 INFO L78 Accepts]: Start accepts. Automaton has 235 states and 250 transitions. Word has length 136 [2022-04-08 08:37:22,967 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:37:22,967 INFO L478 AbstractCegarLoop]: Abstraction has 235 states and 250 transitions. [2022-04-08 08:37:22,967 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 25.0) internal successors, (100), 4 states have internal predecessors, (100), 2 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 2 states have call predecessors, (17), 2 states have call successors, (17) [2022-04-08 08:37:22,967 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 235 states and 250 transitions. [2022-04-08 08:37:23,660 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 250 edges. 250 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:37:23,660 INFO L276 IsEmpty]: Start isEmpty. Operand 235 states and 250 transitions. [2022-04-08 08:37:23,660 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 138 [2022-04-08 08:37:23,660 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:37:23,660 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:37:23,687 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-08 08:37:23,861 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable38,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 08:37:23,863 INFO L403 AbstractCegarLoop]: === Iteration 40 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:37:23,863 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:37:23,863 INFO L85 PathProgramCache]: Analyzing trace with hash -1917947804, now seen corresponding path program 1 times [2022-04-08 08:37:23,863 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:37:23,863 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1560915214] [2022-04-08 08:37:23,865 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 4 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 08:37:23,865 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 08:37:23,865 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 08:37:23,865 INFO L85 PathProgramCache]: Analyzing trace with hash -1917947804, now seen corresponding path program 2 times [2022-04-08 08:37:23,865 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:37:23,866 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2071533977] [2022-04-08 08:37:23,866 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:37:23,866 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:37:24,154 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:24,258 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:37:24,259 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:24,264 INFO L290 TraceCheckUtils]: 0: Hoare triple {93917#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {93809#true} is VALID [2022-04-08 08:37:24,264 INFO L290 TraceCheckUtils]: 1: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,264 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {93809#true} {93809#true} #1270#return; {93809#true} is VALID [2022-04-08 08:37:24,284 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:37:24,285 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:24,290 INFO L290 TraceCheckUtils]: 0: Hoare triple {93918#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {93809#true} is VALID [2022-04-08 08:37:24,290 INFO L290 TraceCheckUtils]: 1: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,290 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {93809#true} {93809#true} #1216#return; {93809#true} is VALID [2022-04-08 08:37:24,296 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:37:24,301 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:24,307 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:37:24,307 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:24,311 INFO L290 TraceCheckUtils]: 0: Hoare triple {93809#true} ~cond := #in~cond; {93809#true} is VALID [2022-04-08 08:37:24,311 INFO L290 TraceCheckUtils]: 1: Hoare triple {93809#true} assume !(0 == ~cond); {93809#true} is VALID [2022-04-08 08:37:24,311 INFO L290 TraceCheckUtils]: 2: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,311 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {93809#true} {93809#true} #1254#return; {93809#true} is VALID [2022-04-08 08:37:24,311 INFO L290 TraceCheckUtils]: 0: Hoare triple {93919#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {93809#true} is VALID [2022-04-08 08:37:24,311 INFO L272 TraceCheckUtils]: 1: Hoare triple {93809#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {93809#true} is VALID [2022-04-08 08:37:24,312 INFO L290 TraceCheckUtils]: 2: Hoare triple {93809#true} ~cond := #in~cond; {93809#true} is VALID [2022-04-08 08:37:24,312 INFO L290 TraceCheckUtils]: 3: Hoare triple {93809#true} assume !(0 == ~cond); {93809#true} is VALID [2022-04-08 08:37:24,312 INFO L290 TraceCheckUtils]: 4: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,312 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {93809#true} {93809#true} #1254#return; {93809#true} is VALID [2022-04-08 08:37:24,312 INFO L290 TraceCheckUtils]: 6: Hoare triple {93809#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {93809#true} is VALID [2022-04-08 08:37:24,312 INFO L290 TraceCheckUtils]: 7: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,312 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {93809#true} {93809#true} #1218#return; {93809#true} is VALID [2022-04-08 08:37:24,320 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:37:24,341 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:24,354 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:37:24,357 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:24,362 INFO L290 TraceCheckUtils]: 0: Hoare triple {93924#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {93809#true} is VALID [2022-04-08 08:37:24,362 INFO L290 TraceCheckUtils]: 1: Hoare triple {93809#true} assume 0 == ~__BLAST_NONDET~5; {93809#true} is VALID [2022-04-08 08:37:24,362 INFO L290 TraceCheckUtils]: 2: Hoare triple {93809#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {93809#true} is VALID [2022-04-08 08:37:24,362 INFO L290 TraceCheckUtils]: 3: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,362 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {93809#true} {93809#true} #1176#return; {93809#true} is VALID [2022-04-08 08:37:24,362 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 08:37:24,368 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:24,437 INFO L290 TraceCheckUtils]: 0: Hoare triple {93919#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {93940#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 08:37:24,438 INFO L290 TraceCheckUtils]: 1: Hoare triple {93940#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {93941#(and (or (not (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (or (and (<= (+ (* (div |#Ultimate.C_memset_#amount| 4294967296) 4294967296) 1) |#Ultimate.C_memset_#amount|) (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 4294967296) 1) 0))) (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))))} is VALID [2022-04-08 08:37:24,439 INFO L290 TraceCheckUtils]: 2: Hoare triple {93941#(and (or (not (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (or (and (<= (+ (* (div |#Ultimate.C_memset_#amount| 4294967296) 4294967296) 1) |#Ultimate.C_memset_#amount|) (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 4294967296) 1) 0))) (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))))} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {93942#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 08:37:24,439 INFO L290 TraceCheckUtils]: 3: Hoare triple {93942#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {93942#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 08:37:24,440 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {93942#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} {93809#true} #1178#return; {93810#false} is VALID [2022-04-08 08:37:24,440 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-08 08:37:24,441 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:24,446 INFO L290 TraceCheckUtils]: 0: Hoare triple {93809#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {93809#true} is VALID [2022-04-08 08:37:24,446 INFO L290 TraceCheckUtils]: 1: Hoare triple {93809#true} assume 0 == ~__BLAST_NONDET~2; {93809#true} is VALID [2022-04-08 08:37:24,446 INFO L290 TraceCheckUtils]: 2: Hoare triple {93809#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {93809#true} is VALID [2022-04-08 08:37:24,446 INFO L290 TraceCheckUtils]: 3: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,446 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {93809#true} {93810#false} #1180#return; {93810#false} is VALID [2022-04-08 08:37:24,446 INFO L290 TraceCheckUtils]: 0: Hoare triple {93924#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {93809#true} is VALID [2022-04-08 08:37:24,447 INFO L272 TraceCheckUtils]: 1: Hoare triple {93809#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {93924#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:37:24,447 INFO L290 TraceCheckUtils]: 2: Hoare triple {93924#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {93809#true} is VALID [2022-04-08 08:37:24,447 INFO L290 TraceCheckUtils]: 3: Hoare triple {93809#true} assume 0 == ~__BLAST_NONDET~5; {93809#true} is VALID [2022-04-08 08:37:24,448 INFO L290 TraceCheckUtils]: 4: Hoare triple {93809#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {93809#true} is VALID [2022-04-08 08:37:24,448 INFO L290 TraceCheckUtils]: 5: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,448 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {93809#true} {93809#true} #1176#return; {93809#true} is VALID [2022-04-08 08:37:24,448 INFO L290 TraceCheckUtils]: 7: Hoare triple {93809#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {93809#true} is VALID [2022-04-08 08:37:24,448 INFO L290 TraceCheckUtils]: 8: Hoare triple {93809#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {93809#true} is VALID [2022-04-08 08:37:24,448 INFO L272 TraceCheckUtils]: 9: Hoare triple {93809#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {93919#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:37:24,449 INFO L290 TraceCheckUtils]: 10: Hoare triple {93919#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {93940#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 08:37:24,450 INFO L290 TraceCheckUtils]: 11: Hoare triple {93940#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {93941#(and (or (not (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (or (and (<= (+ (* (div |#Ultimate.C_memset_#amount| 4294967296) 4294967296) 1) |#Ultimate.C_memset_#amount|) (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 4294967296) 1) 0))) (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))))} is VALID [2022-04-08 08:37:24,451 INFO L290 TraceCheckUtils]: 12: Hoare triple {93941#(and (or (not (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (or (and (<= (+ (* (div |#Ultimate.C_memset_#amount| 4294967296) 4294967296) 1) |#Ultimate.C_memset_#amount|) (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 4294967296) 1) 0))) (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))))} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {93942#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 08:37:24,451 INFO L290 TraceCheckUtils]: 13: Hoare triple {93942#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {93942#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 08:37:24,452 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {93942#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} {93809#true} #1178#return; {93810#false} is VALID [2022-04-08 08:37:24,452 INFO L290 TraceCheckUtils]: 15: Hoare triple {93810#false} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {93810#false} is VALID [2022-04-08 08:37:24,452 INFO L272 TraceCheckUtils]: 16: Hoare triple {93810#false} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {93809#true} is VALID [2022-04-08 08:37:24,452 INFO L290 TraceCheckUtils]: 17: Hoare triple {93809#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {93809#true} is VALID [2022-04-08 08:37:24,452 INFO L290 TraceCheckUtils]: 18: Hoare triple {93809#true} assume 0 == ~__BLAST_NONDET~2; {93809#true} is VALID [2022-04-08 08:37:24,453 INFO L290 TraceCheckUtils]: 19: Hoare triple {93809#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {93809#true} is VALID [2022-04-08 08:37:24,453 INFO L290 TraceCheckUtils]: 20: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,453 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {93809#true} {93810#false} #1180#return; {93810#false} is VALID [2022-04-08 08:37:24,453 INFO L290 TraceCheckUtils]: 22: Hoare triple {93810#false} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {93810#false} is VALID [2022-04-08 08:37:24,453 INFO L290 TraceCheckUtils]: 23: Hoare triple {93810#false} assume true; {93810#false} is VALID [2022-04-08 08:37:24,453 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {93810#false} {93809#true} #1220#return; {93810#false} is VALID [2022-04-08 08:37:24,469 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-08 08:37:24,470 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:24,474 INFO L290 TraceCheckUtils]: 0: Hoare triple {93943#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {93809#true} is VALID [2022-04-08 08:37:24,474 INFO L290 TraceCheckUtils]: 1: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,474 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {93809#true} {93810#false} #1222#return; {93810#false} is VALID [2022-04-08 08:37:24,498 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 59 [2022-04-08 08:37:24,518 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:24,531 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-04-08 08:37:24,535 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:24,541 INFO L290 TraceCheckUtils]: 0: Hoare triple {93919#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {93809#true} is VALID [2022-04-08 08:37:24,541 INFO L290 TraceCheckUtils]: 1: Hoare triple {93809#true} assume #t~loopctr215 % 4294967296 < size % 4294967296;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 4);#t~loopctr215 := 1 + #t~loopctr215; {93809#true} is VALID [2022-04-08 08:37:24,541 INFO L290 TraceCheckUtils]: 2: Hoare triple {93809#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {93809#true} is VALID [2022-04-08 08:37:24,541 INFO L290 TraceCheckUtils]: 3: Hoare triple {93809#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {93809#true} is VALID [2022-04-08 08:37:24,541 INFO L290 TraceCheckUtils]: 4: Hoare triple {93809#true} assume #res.base == dest.base && #res.offset == dest.offset; {93809#true} is VALID [2022-04-08 08:37:24,542 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {93809#true} {93809#true} #1186#return; {93809#true} is VALID [2022-04-08 08:37:24,555 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 14 [2022-04-08 08:37:24,558 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:24,574 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 08:37:24,577 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:24,582 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:37:24,583 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:24,589 INFO L290 TraceCheckUtils]: 0: Hoare triple {94000#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {93809#true} is VALID [2022-04-08 08:37:24,590 INFO L290 TraceCheckUtils]: 1: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,590 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {93809#true} {93809#true} #1174#return; {93809#true} is VALID [2022-04-08 08:37:24,590 INFO L290 TraceCheckUtils]: 0: Hoare triple {94000#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {93809#true} is VALID [2022-04-08 08:37:24,590 INFO L272 TraceCheckUtils]: 1: Hoare triple {93809#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {94000#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:37:24,591 INFO L290 TraceCheckUtils]: 2: Hoare triple {94000#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {93809#true} is VALID [2022-04-08 08:37:24,591 INFO L290 TraceCheckUtils]: 3: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,591 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {93809#true} {93809#true} #1174#return; {93809#true} is VALID [2022-04-08 08:37:24,591 INFO L290 TraceCheckUtils]: 5: Hoare triple {93809#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {93809#true} is VALID [2022-04-08 08:37:24,591 INFO L290 TraceCheckUtils]: 6: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,591 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {93809#true} {93809#true} #1210#return; {93809#true} is VALID [2022-04-08 08:37:24,601 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 08:37:24,601 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:24,607 INFO L290 TraceCheckUtils]: 0: Hoare triple {94004#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {93809#true} is VALID [2022-04-08 08:37:24,607 INFO L290 TraceCheckUtils]: 1: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,607 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {93809#true} {93809#true} #1212#return; {93809#true} is VALID [2022-04-08 08:37:24,607 INFO L290 TraceCheckUtils]: 0: Hoare triple {93988#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {93809#true} is VALID [2022-04-08 08:37:24,607 INFO L290 TraceCheckUtils]: 1: Hoare triple {93809#true} assume 0 != ~compRegistered~0; {93809#true} is VALID [2022-04-08 08:37:24,608 INFO L272 TraceCheckUtils]: 2: Hoare triple {93809#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {94000#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:37:24,608 INFO L290 TraceCheckUtils]: 3: Hoare triple {94000#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {93809#true} is VALID [2022-04-08 08:37:24,609 INFO L272 TraceCheckUtils]: 4: Hoare triple {93809#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {94000#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:37:24,609 INFO L290 TraceCheckUtils]: 5: Hoare triple {94000#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {93809#true} is VALID [2022-04-08 08:37:24,609 INFO L290 TraceCheckUtils]: 6: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,609 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {93809#true} {93809#true} #1174#return; {93809#true} is VALID [2022-04-08 08:37:24,609 INFO L290 TraceCheckUtils]: 8: Hoare triple {93809#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {93809#true} is VALID [2022-04-08 08:37:24,609 INFO L290 TraceCheckUtils]: 9: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,609 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {93809#true} {93809#true} #1210#return; {93809#true} is VALID [2022-04-08 08:37:24,609 INFO L290 TraceCheckUtils]: 11: Hoare triple {93809#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {93809#true} is VALID [2022-04-08 08:37:24,609 INFO L290 TraceCheckUtils]: 12: Hoare triple {93809#true} assume -1073741802 == ~compRetStatus~0; {93809#true} is VALID [2022-04-08 08:37:24,609 INFO L272 TraceCheckUtils]: 13: Hoare triple {93809#true} call stubMoreProcessingRequired(); {94004#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:37:24,609 INFO L290 TraceCheckUtils]: 14: Hoare triple {94004#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {93809#true} is VALID [2022-04-08 08:37:24,609 INFO L290 TraceCheckUtils]: 15: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,610 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {93809#true} {93809#true} #1212#return; {93809#true} is VALID [2022-04-08 08:37:24,610 INFO L290 TraceCheckUtils]: 17: Hoare triple {93809#true} assume !(0 == ~__BLAST_NONDET~11); {93809#true} is VALID [2022-04-08 08:37:24,610 INFO L290 TraceCheckUtils]: 18: Hoare triple {93809#true} assume !(1 == ~__BLAST_NONDET~11); {93809#true} is VALID [2022-04-08 08:37:24,610 INFO L290 TraceCheckUtils]: 19: Hoare triple {93809#true} ~returnVal2~0 := 259; {93809#true} is VALID [2022-04-08 08:37:24,610 INFO L290 TraceCheckUtils]: 20: Hoare triple {93809#true} assume !(~s~0 == ~NP~0); {93809#true} is VALID [2022-04-08 08:37:24,610 INFO L290 TraceCheckUtils]: 21: Hoare triple {93809#true} assume ~s~0 == ~MPR1~0; {93809#true} is VALID [2022-04-08 08:37:24,610 INFO L290 TraceCheckUtils]: 22: Hoare triple {93809#true} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := ~returnVal2~0; {93809#true} is VALID [2022-04-08 08:37:24,610 INFO L290 TraceCheckUtils]: 23: Hoare triple {93809#true} #res := ~returnVal2~0; {93809#true} is VALID [2022-04-08 08:37:24,610 INFO L290 TraceCheckUtils]: 24: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,610 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {93809#true} {93809#true} #1192#return; {93809#true} is VALID [2022-04-08 08:37:24,623 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 43 [2022-04-08 08:37:24,625 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:24,630 INFO L290 TraceCheckUtils]: 0: Hoare triple {94005#(and (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~s~0 |old(~s~0)|))} ~Object.base, ~Object.offset := #in~Object.base, #in~Object.offset;~WaitReason := #in~WaitReason;~WaitMode := #in~WaitMode;~Alertable := #in~Alertable;~Timeout.base, ~Timeout.offset := #in~Timeout.base, #in~Timeout.offset;assume -2147483648 <= #t~nondet200 && #t~nondet200 <= 2147483647;~__BLAST_NONDET~13 := #t~nondet200;havoc #t~nondet200; {93809#true} is VALID [2022-04-08 08:37:24,630 INFO L290 TraceCheckUtils]: 1: Hoare triple {93809#true} assume ~s~0 == ~MPR3~0; {93809#true} is VALID [2022-04-08 08:37:24,630 INFO L290 TraceCheckUtils]: 2: Hoare triple {93809#true} assume 1 == ~setEventCalled~0;~s~0 := ~NP~0;~setEventCalled~0 := 0; {93809#true} is VALID [2022-04-08 08:37:24,630 INFO L290 TraceCheckUtils]: 3: Hoare triple {93809#true} assume 0 == ~__BLAST_NONDET~13; {93809#true} is VALID [2022-04-08 08:37:24,630 INFO L290 TraceCheckUtils]: 4: Hoare triple {93809#true} #res := 0; {93809#true} is VALID [2022-04-08 08:37:24,630 INFO L290 TraceCheckUtils]: 5: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,630 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {93809#true} {93809#true} #1194#return; {93809#true} is VALID [2022-04-08 08:37:24,631 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 55 [2022-04-08 08:37:24,631 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:24,635 INFO L290 TraceCheckUtils]: 0: Hoare triple {94004#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {93809#true} is VALID [2022-04-08 08:37:24,635 INFO L290 TraceCheckUtils]: 1: Hoare triple {93809#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {93809#true} is VALID [2022-04-08 08:37:24,635 INFO L290 TraceCheckUtils]: 2: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,635 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {93809#true} {93809#true} #1196#return; {93809#true} is VALID [2022-04-08 08:37:24,635 INFO L290 TraceCheckUtils]: 0: Hoare triple {93944#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(#length)| |#length|) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~devExt~3.base, ~devExt~3.offset;havoc ~irpStack~3.base, ~irpStack~3.offset;havoc ~status~3;call ~#event~1.base, ~#event~1.offset := #Ultimate.allocOnStack(16);havoc ~irpSp~0.base, ~irpSp~0.offset;havoc ~nextIrpSp~0.base, ~nextIrpSp~0.offset;havoc ~irpSp___0~0.base, ~irpSp___0~0.offset;~status~3 := 0;call #t~mem79.base, #t~mem79.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~3.base, ~devExt~3.offset := #t~mem79.base, #t~mem79.offset;havoc #t~mem79.base, #t~mem79.offset;call #t~mem80.base, #t~mem80.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~3.base, ~irpStack~3.offset := #t~mem80.base, #t~mem80.offset;havoc #t~mem80.base, #t~mem80.offset;call #t~mem81 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {93809#true} is VALID [2022-04-08 08:37:24,636 INFO L290 TraceCheckUtils]: 1: Hoare triple {93809#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {93809#true} is VALID [2022-04-08 08:37:24,636 INFO L290 TraceCheckUtils]: 2: Hoare triple {93809#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp~0.base, ~irpSp~0.offset := #t~mem102.base, #t~mem102.offset;havoc #t~mem102.base, #t~mem102.offset;call #t~mem103.base, #t~mem103.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 36;havoc #t~mem103.base, #t~mem103.offset; {93809#true} is VALID [2022-04-08 08:37:24,636 INFO L272 TraceCheckUtils]: 3: Hoare triple {93809#true} call #t~memmove~res104.base, #t~memmove~res104.offset := #Ultimate.C_memmove(~nextIrpSp~0.base, ~nextIrpSp~0.offset, ~irpSp~0.base, ~irpSp~0.offset, 28); {93919#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:37:24,637 INFO L290 TraceCheckUtils]: 4: Hoare triple {93919#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {93809#true} is VALID [2022-04-08 08:37:24,637 INFO L290 TraceCheckUtils]: 5: Hoare triple {93809#true} assume #t~loopctr215 % 4294967296 < size % 4294967296;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 4);#t~loopctr215 := 1 + #t~loopctr215; {93809#true} is VALID [2022-04-08 08:37:24,637 INFO L290 TraceCheckUtils]: 6: Hoare triple {93809#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {93809#true} is VALID [2022-04-08 08:37:24,637 INFO L290 TraceCheckUtils]: 7: Hoare triple {93809#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {93809#true} is VALID [2022-04-08 08:37:24,637 INFO L290 TraceCheckUtils]: 8: Hoare triple {93809#true} assume #res.base == dest.base && #res.offset == dest.offset; {93809#true} is VALID [2022-04-08 08:37:24,637 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {93809#true} {93809#true} #1186#return; {93809#true} is VALID [2022-04-08 08:37:24,637 INFO L290 TraceCheckUtils]: 10: Hoare triple {93809#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {93809#true} is VALID [2022-04-08 08:37:24,637 INFO L290 TraceCheckUtils]: 11: Hoare triple {93809#true} assume !(~s~0 != ~NP~0); {93809#true} is VALID [2022-04-08 08:37:24,637 INFO L290 TraceCheckUtils]: 12: Hoare triple {93809#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {93809#true} is VALID [2022-04-08 08:37:24,637 INFO L290 TraceCheckUtils]: 13: Hoare triple {93809#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 36;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 28 + ~irpSp___0~0.offset, 4);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 32 + ~irpSp___0~0.offset, 4);call write~int(0, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(64, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call #t~mem106 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem106 % 256, 128), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem106;call #t~mem107 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem107 % 256, 32), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem107;call #t~mem108.base, #t~mem108.offset := read~$Pointer$(~devExt~3.base, 8 + ~devExt~3.offset, 4); {93809#true} is VALID [2022-04-08 08:37:24,638 INFO L272 TraceCheckUtils]: 14: Hoare triple {93809#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {93988#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:37:24,638 INFO L290 TraceCheckUtils]: 15: Hoare triple {93988#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {93809#true} is VALID [2022-04-08 08:37:24,638 INFO L290 TraceCheckUtils]: 16: Hoare triple {93809#true} assume 0 != ~compRegistered~0; {93809#true} is VALID [2022-04-08 08:37:24,639 INFO L272 TraceCheckUtils]: 17: Hoare triple {93809#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {94000#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:37:24,639 INFO L290 TraceCheckUtils]: 18: Hoare triple {94000#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {93809#true} is VALID [2022-04-08 08:37:24,639 INFO L272 TraceCheckUtils]: 19: Hoare triple {93809#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {94000#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:37:24,639 INFO L290 TraceCheckUtils]: 20: Hoare triple {94000#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {93809#true} is VALID [2022-04-08 08:37:24,640 INFO L290 TraceCheckUtils]: 21: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,640 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {93809#true} {93809#true} #1174#return; {93809#true} is VALID [2022-04-08 08:37:24,640 INFO L290 TraceCheckUtils]: 23: Hoare triple {93809#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {93809#true} is VALID [2022-04-08 08:37:24,640 INFO L290 TraceCheckUtils]: 24: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,640 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {93809#true} {93809#true} #1210#return; {93809#true} is VALID [2022-04-08 08:37:24,640 INFO L290 TraceCheckUtils]: 26: Hoare triple {93809#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {93809#true} is VALID [2022-04-08 08:37:24,640 INFO L290 TraceCheckUtils]: 27: Hoare triple {93809#true} assume -1073741802 == ~compRetStatus~0; {93809#true} is VALID [2022-04-08 08:37:24,640 INFO L272 TraceCheckUtils]: 28: Hoare triple {93809#true} call stubMoreProcessingRequired(); {94004#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:37:24,640 INFO L290 TraceCheckUtils]: 29: Hoare triple {94004#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {93809#true} is VALID [2022-04-08 08:37:24,640 INFO L290 TraceCheckUtils]: 30: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,640 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {93809#true} {93809#true} #1212#return; {93809#true} is VALID [2022-04-08 08:37:24,640 INFO L290 TraceCheckUtils]: 32: Hoare triple {93809#true} assume !(0 == ~__BLAST_NONDET~11); {93809#true} is VALID [2022-04-08 08:37:24,640 INFO L290 TraceCheckUtils]: 33: Hoare triple {93809#true} assume !(1 == ~__BLAST_NONDET~11); {93809#true} is VALID [2022-04-08 08:37:24,640 INFO L290 TraceCheckUtils]: 34: Hoare triple {93809#true} ~returnVal2~0 := 259; {93809#true} is VALID [2022-04-08 08:37:24,641 INFO L290 TraceCheckUtils]: 35: Hoare triple {93809#true} assume !(~s~0 == ~NP~0); {93809#true} is VALID [2022-04-08 08:37:24,641 INFO L290 TraceCheckUtils]: 36: Hoare triple {93809#true} assume ~s~0 == ~MPR1~0; {93809#true} is VALID [2022-04-08 08:37:24,641 INFO L290 TraceCheckUtils]: 37: Hoare triple {93809#true} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := ~returnVal2~0; {93809#true} is VALID [2022-04-08 08:37:24,641 INFO L290 TraceCheckUtils]: 38: Hoare triple {93809#true} #res := ~returnVal2~0; {93809#true} is VALID [2022-04-08 08:37:24,641 INFO L290 TraceCheckUtils]: 39: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,641 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {93809#true} {93809#true} #1192#return; {93809#true} is VALID [2022-04-08 08:37:24,641 INFO L290 TraceCheckUtils]: 41: Hoare triple {93809#true} assume -2147483648 <= #t~ret109 && #t~ret109 <= 2147483647;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {93809#true} is VALID [2022-04-08 08:37:24,641 INFO L290 TraceCheckUtils]: 42: Hoare triple {93809#true} assume 259 == ~status~3; {93809#true} is VALID [2022-04-08 08:37:24,642 INFO L272 TraceCheckUtils]: 43: Hoare triple {93809#true} call #t~ret110 := KeWaitForSingleObject(~#event~1.base, ~#event~1.offset, 0, 0, 0, 0, 0); {94005#(and (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:37:24,642 INFO L290 TraceCheckUtils]: 44: Hoare triple {94005#(and (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~s~0 |old(~s~0)|))} ~Object.base, ~Object.offset := #in~Object.base, #in~Object.offset;~WaitReason := #in~WaitReason;~WaitMode := #in~WaitMode;~Alertable := #in~Alertable;~Timeout.base, ~Timeout.offset := #in~Timeout.base, #in~Timeout.offset;assume -2147483648 <= #t~nondet200 && #t~nondet200 <= 2147483647;~__BLAST_NONDET~13 := #t~nondet200;havoc #t~nondet200; {93809#true} is VALID [2022-04-08 08:37:24,642 INFO L290 TraceCheckUtils]: 45: Hoare triple {93809#true} assume ~s~0 == ~MPR3~0; {93809#true} is VALID [2022-04-08 08:37:24,642 INFO L290 TraceCheckUtils]: 46: Hoare triple {93809#true} assume 1 == ~setEventCalled~0;~s~0 := ~NP~0;~setEventCalled~0 := 0; {93809#true} is VALID [2022-04-08 08:37:24,642 INFO L290 TraceCheckUtils]: 47: Hoare triple {93809#true} assume 0 == ~__BLAST_NONDET~13; {93809#true} is VALID [2022-04-08 08:37:24,642 INFO L290 TraceCheckUtils]: 48: Hoare triple {93809#true} #res := 0; {93809#true} is VALID [2022-04-08 08:37:24,642 INFO L290 TraceCheckUtils]: 49: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,642 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {93809#true} {93809#true} #1194#return; {93809#true} is VALID [2022-04-08 08:37:24,642 INFO L290 TraceCheckUtils]: 51: Hoare triple {93809#true} assume -2147483648 <= #t~ret110 && #t~ret110 <= 2147483647;havoc #t~ret110; {93809#true} is VALID [2022-04-08 08:37:24,642 INFO L290 TraceCheckUtils]: 52: Hoare triple {93809#true} assume ~status~3 >= 0; {93809#true} is VALID [2022-04-08 08:37:24,642 INFO L290 TraceCheckUtils]: 53: Hoare triple {93809#true} assume !(~myStatus~0 >= 0); {93809#true} is VALID [2022-04-08 08:37:24,642 INFO L290 TraceCheckUtils]: 54: Hoare triple {93809#true} call write~int(~status~3, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~3;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4); {93809#true} is VALID [2022-04-08 08:37:24,643 INFO L272 TraceCheckUtils]: 55: Hoare triple {93809#true} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {94004#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:37:24,643 INFO L290 TraceCheckUtils]: 56: Hoare triple {94004#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {93809#true} is VALID [2022-04-08 08:37:24,643 INFO L290 TraceCheckUtils]: 57: Hoare triple {93809#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {93809#true} is VALID [2022-04-08 08:37:24,643 INFO L290 TraceCheckUtils]: 58: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,643 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {93809#true} {93809#true} #1196#return; {93809#true} is VALID [2022-04-08 08:37:24,643 INFO L290 TraceCheckUtils]: 60: Hoare triple {93809#true} #res := ~status~3;call ULTIMATE.dealloc(~#event~1.base, ~#event~1.offset);havoc ~#event~1.base, ~#event~1.offset; {93809#true} is VALID [2022-04-08 08:37:24,643 INFO L290 TraceCheckUtils]: 61: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,643 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {93809#true} {93810#false} #1230#return; {93810#false} is VALID [2022-04-08 08:37:24,645 INFO L272 TraceCheckUtils]: 0: Hoare triple {93809#true} call ULTIMATE.init(); {93917#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:37:24,645 INFO L290 TraceCheckUtils]: 1: Hoare triple {93917#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {93809#true} is VALID [2022-04-08 08:37:24,645 INFO L290 TraceCheckUtils]: 2: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,645 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {93809#true} {93809#true} #1270#return; {93809#true} is VALID [2022-04-08 08:37:24,645 INFO L272 TraceCheckUtils]: 4: Hoare triple {93809#true} call #t~ret213 := main(); {93809#true} is VALID [2022-04-08 08:37:24,645 INFO L290 TraceCheckUtils]: 5: Hoare triple {93809#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {93809#true} is VALID [2022-04-08 08:37:24,646 INFO L272 TraceCheckUtils]: 6: Hoare triple {93809#true} call _BLAST_init(); {93918#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:37:24,646 INFO L290 TraceCheckUtils]: 7: Hoare triple {93918#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {93809#true} is VALID [2022-04-08 08:37:24,646 INFO L290 TraceCheckUtils]: 8: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,646 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {93809#true} {93809#true} #1216#return; {93809#true} is VALID [2022-04-08 08:37:24,647 INFO L272 TraceCheckUtils]: 10: Hoare triple {93809#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {93919#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:37:24,647 INFO L290 TraceCheckUtils]: 11: Hoare triple {93919#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {93809#true} is VALID [2022-04-08 08:37:24,647 INFO L272 TraceCheckUtils]: 12: Hoare triple {93809#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {93809#true} is VALID [2022-04-08 08:37:24,647 INFO L290 TraceCheckUtils]: 13: Hoare triple {93809#true} ~cond := #in~cond; {93809#true} is VALID [2022-04-08 08:37:24,647 INFO L290 TraceCheckUtils]: 14: Hoare triple {93809#true} assume !(0 == ~cond); {93809#true} is VALID [2022-04-08 08:37:24,647 INFO L290 TraceCheckUtils]: 15: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,647 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {93809#true} {93809#true} #1254#return; {93809#true} is VALID [2022-04-08 08:37:24,647 INFO L290 TraceCheckUtils]: 17: Hoare triple {93809#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {93809#true} is VALID [2022-04-08 08:37:24,647 INFO L290 TraceCheckUtils]: 18: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,647 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {93809#true} {93809#true} #1218#return; {93809#true} is VALID [2022-04-08 08:37:24,647 INFO L290 TraceCheckUtils]: 20: Hoare triple {93809#true} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {93809#true} is VALID [2022-04-08 08:37:24,647 INFO L290 TraceCheckUtils]: 21: Hoare triple {93809#true} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {93809#true} is VALID [2022-04-08 08:37:24,648 INFO L290 TraceCheckUtils]: 22: Hoare triple {93809#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {93809#true} is VALID [2022-04-08 08:37:24,648 INFO L272 TraceCheckUtils]: 23: Hoare triple {93809#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {93924#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:37:24,649 INFO L290 TraceCheckUtils]: 24: Hoare triple {93924#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {93809#true} is VALID [2022-04-08 08:37:24,650 INFO L272 TraceCheckUtils]: 25: Hoare triple {93809#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {93924#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:37:24,650 INFO L290 TraceCheckUtils]: 26: Hoare triple {93924#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {93809#true} is VALID [2022-04-08 08:37:24,650 INFO L290 TraceCheckUtils]: 27: Hoare triple {93809#true} assume 0 == ~__BLAST_NONDET~5; {93809#true} is VALID [2022-04-08 08:37:24,650 INFO L290 TraceCheckUtils]: 28: Hoare triple {93809#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {93809#true} is VALID [2022-04-08 08:37:24,650 INFO L290 TraceCheckUtils]: 29: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,650 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {93809#true} {93809#true} #1176#return; {93809#true} is VALID [2022-04-08 08:37:24,650 INFO L290 TraceCheckUtils]: 31: Hoare triple {93809#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {93809#true} is VALID [2022-04-08 08:37:24,650 INFO L290 TraceCheckUtils]: 32: Hoare triple {93809#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {93809#true} is VALID [2022-04-08 08:37:24,651 INFO L272 TraceCheckUtils]: 33: Hoare triple {93809#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {93919#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:37:24,651 INFO L290 TraceCheckUtils]: 34: Hoare triple {93919#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {93940#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 08:37:24,653 INFO L290 TraceCheckUtils]: 35: Hoare triple {93940#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {93941#(and (or (not (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (or (and (<= (+ (* (div |#Ultimate.C_memset_#amount| 4294967296) 4294967296) 1) |#Ultimate.C_memset_#amount|) (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 4294967296) 1) 0))) (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))))} is VALID [2022-04-08 08:37:24,653 INFO L290 TraceCheckUtils]: 36: Hoare triple {93941#(and (or (not (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (or (and (<= (+ (* (div |#Ultimate.C_memset_#amount| 4294967296) 4294967296) 1) |#Ultimate.C_memset_#amount|) (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 4294967296) 1) 0))) (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))))} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {93942#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 08:37:24,654 INFO L290 TraceCheckUtils]: 37: Hoare triple {93942#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {93942#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 08:37:24,655 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {93942#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} {93809#true} #1178#return; {93810#false} is VALID [2022-04-08 08:37:24,655 INFO L290 TraceCheckUtils]: 39: Hoare triple {93810#false} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {93810#false} is VALID [2022-04-08 08:37:24,655 INFO L272 TraceCheckUtils]: 40: Hoare triple {93810#false} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {93809#true} is VALID [2022-04-08 08:37:24,655 INFO L290 TraceCheckUtils]: 41: Hoare triple {93809#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {93809#true} is VALID [2022-04-08 08:37:24,655 INFO L290 TraceCheckUtils]: 42: Hoare triple {93809#true} assume 0 == ~__BLAST_NONDET~2; {93809#true} is VALID [2022-04-08 08:37:24,655 INFO L290 TraceCheckUtils]: 43: Hoare triple {93809#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {93809#true} is VALID [2022-04-08 08:37:24,655 INFO L290 TraceCheckUtils]: 44: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,655 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {93809#true} {93810#false} #1180#return; {93810#false} is VALID [2022-04-08 08:37:24,655 INFO L290 TraceCheckUtils]: 46: Hoare triple {93810#false} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {93810#false} is VALID [2022-04-08 08:37:24,655 INFO L290 TraceCheckUtils]: 47: Hoare triple {93810#false} assume true; {93810#false} is VALID [2022-04-08 08:37:24,655 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {93810#false} {93809#true} #1220#return; {93810#false} is VALID [2022-04-08 08:37:24,655 INFO L290 TraceCheckUtils]: 49: Hoare triple {93810#false} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {93810#false} is VALID [2022-04-08 08:37:24,655 INFO L272 TraceCheckUtils]: 50: Hoare triple {93810#false} call stub_driver_init(); {93943#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:37:24,655 INFO L290 TraceCheckUtils]: 51: Hoare triple {93943#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {93809#true} is VALID [2022-04-08 08:37:24,655 INFO L290 TraceCheckUtils]: 52: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,655 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {93809#true} {93810#false} #1222#return; {93810#false} is VALID [2022-04-08 08:37:24,655 INFO L290 TraceCheckUtils]: 54: Hoare triple {93810#false} assume !!(~status~5 >= 0); {93810#false} is VALID [2022-04-08 08:37:24,655 INFO L290 TraceCheckUtils]: 55: Hoare triple {93810#false} assume !(0 == ~__BLAST_NONDET~0); {93810#false} is VALID [2022-04-08 08:37:24,655 INFO L290 TraceCheckUtils]: 56: Hoare triple {93810#false} assume !(1 == ~__BLAST_NONDET~0); {93810#false} is VALID [2022-04-08 08:37:24,656 INFO L290 TraceCheckUtils]: 57: Hoare triple {93810#false} assume !(2 == ~__BLAST_NONDET~0); {93810#false} is VALID [2022-04-08 08:37:24,656 INFO L290 TraceCheckUtils]: 58: Hoare triple {93810#false} assume 3 == ~__BLAST_NONDET~0; {93810#false} is VALID [2022-04-08 08:37:24,656 INFO L272 TraceCheckUtils]: 59: Hoare triple {93810#false} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {93944#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(#length)| |#length|) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:37:24,656 INFO L290 TraceCheckUtils]: 60: Hoare triple {93944#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(#length)| |#length|) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~devExt~3.base, ~devExt~3.offset;havoc ~irpStack~3.base, ~irpStack~3.offset;havoc ~status~3;call ~#event~1.base, ~#event~1.offset := #Ultimate.allocOnStack(16);havoc ~irpSp~0.base, ~irpSp~0.offset;havoc ~nextIrpSp~0.base, ~nextIrpSp~0.offset;havoc ~irpSp___0~0.base, ~irpSp___0~0.offset;~status~3 := 0;call #t~mem79.base, #t~mem79.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~3.base, ~devExt~3.offset := #t~mem79.base, #t~mem79.offset;havoc #t~mem79.base, #t~mem79.offset;call #t~mem80.base, #t~mem80.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~3.base, ~irpStack~3.offset := #t~mem80.base, #t~mem80.offset;havoc #t~mem80.base, #t~mem80.offset;call #t~mem81 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {93809#true} is VALID [2022-04-08 08:37:24,656 INFO L290 TraceCheckUtils]: 61: Hoare triple {93809#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {93809#true} is VALID [2022-04-08 08:37:24,656 INFO L290 TraceCheckUtils]: 62: Hoare triple {93809#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp~0.base, ~irpSp~0.offset := #t~mem102.base, #t~mem102.offset;havoc #t~mem102.base, #t~mem102.offset;call #t~mem103.base, #t~mem103.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 36;havoc #t~mem103.base, #t~mem103.offset; {93809#true} is VALID [2022-04-08 08:37:24,657 INFO L272 TraceCheckUtils]: 63: Hoare triple {93809#true} call #t~memmove~res104.base, #t~memmove~res104.offset := #Ultimate.C_memmove(~nextIrpSp~0.base, ~nextIrpSp~0.offset, ~irpSp~0.base, ~irpSp~0.offset, 28); {93919#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:37:24,657 INFO L290 TraceCheckUtils]: 64: Hoare triple {93919#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {93809#true} is VALID [2022-04-08 08:37:24,657 INFO L290 TraceCheckUtils]: 65: Hoare triple {93809#true} assume #t~loopctr215 % 4294967296 < size % 4294967296;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 4);#t~loopctr215 := 1 + #t~loopctr215; {93809#true} is VALID [2022-04-08 08:37:24,657 INFO L290 TraceCheckUtils]: 66: Hoare triple {93809#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {93809#true} is VALID [2022-04-08 08:37:24,657 INFO L290 TraceCheckUtils]: 67: Hoare triple {93809#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {93809#true} is VALID [2022-04-08 08:37:24,657 INFO L290 TraceCheckUtils]: 68: Hoare triple {93809#true} assume #res.base == dest.base && #res.offset == dest.offset; {93809#true} is VALID [2022-04-08 08:37:24,657 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {93809#true} {93809#true} #1186#return; {93809#true} is VALID [2022-04-08 08:37:24,657 INFO L290 TraceCheckUtils]: 70: Hoare triple {93809#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {93809#true} is VALID [2022-04-08 08:37:24,657 INFO L290 TraceCheckUtils]: 71: Hoare triple {93809#true} assume !(~s~0 != ~NP~0); {93809#true} is VALID [2022-04-08 08:37:24,657 INFO L290 TraceCheckUtils]: 72: Hoare triple {93809#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {93809#true} is VALID [2022-04-08 08:37:24,657 INFO L290 TraceCheckUtils]: 73: Hoare triple {93809#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 36;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 28 + ~irpSp___0~0.offset, 4);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 32 + ~irpSp___0~0.offset, 4);call write~int(0, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(64, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call #t~mem106 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem106 % 256, 128), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem106;call #t~mem107 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem107 % 256, 32), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem107;call #t~mem108.base, #t~mem108.offset := read~$Pointer$(~devExt~3.base, 8 + ~devExt~3.offset, 4); {93809#true} is VALID [2022-04-08 08:37:24,658 INFO L272 TraceCheckUtils]: 74: Hoare triple {93809#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {93988#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:37:24,658 INFO L290 TraceCheckUtils]: 75: Hoare triple {93988#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {93809#true} is VALID [2022-04-08 08:37:24,658 INFO L290 TraceCheckUtils]: 76: Hoare triple {93809#true} assume 0 != ~compRegistered~0; {93809#true} is VALID [2022-04-08 08:37:24,659 INFO L272 TraceCheckUtils]: 77: Hoare triple {93809#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {94000#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:37:24,659 INFO L290 TraceCheckUtils]: 78: Hoare triple {94000#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {93809#true} is VALID [2022-04-08 08:37:24,660 INFO L272 TraceCheckUtils]: 79: Hoare triple {93809#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {94000#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:37:24,660 INFO L290 TraceCheckUtils]: 80: Hoare triple {94000#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {93809#true} is VALID [2022-04-08 08:37:24,660 INFO L290 TraceCheckUtils]: 81: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,660 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {93809#true} {93809#true} #1174#return; {93809#true} is VALID [2022-04-08 08:37:24,660 INFO L290 TraceCheckUtils]: 83: Hoare triple {93809#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {93809#true} is VALID [2022-04-08 08:37:24,660 INFO L290 TraceCheckUtils]: 84: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,660 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {93809#true} {93809#true} #1210#return; {93809#true} is VALID [2022-04-08 08:37:24,660 INFO L290 TraceCheckUtils]: 86: Hoare triple {93809#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {93809#true} is VALID [2022-04-08 08:37:24,660 INFO L290 TraceCheckUtils]: 87: Hoare triple {93809#true} assume -1073741802 == ~compRetStatus~0; {93809#true} is VALID [2022-04-08 08:37:24,660 INFO L272 TraceCheckUtils]: 88: Hoare triple {93809#true} call stubMoreProcessingRequired(); {94004#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:37:24,660 INFO L290 TraceCheckUtils]: 89: Hoare triple {94004#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {93809#true} is VALID [2022-04-08 08:37:24,660 INFO L290 TraceCheckUtils]: 90: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,661 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {93809#true} {93809#true} #1212#return; {93809#true} is VALID [2022-04-08 08:37:24,661 INFO L290 TraceCheckUtils]: 92: Hoare triple {93809#true} assume !(0 == ~__BLAST_NONDET~11); {93809#true} is VALID [2022-04-08 08:37:24,661 INFO L290 TraceCheckUtils]: 93: Hoare triple {93809#true} assume !(1 == ~__BLAST_NONDET~11); {93809#true} is VALID [2022-04-08 08:37:24,661 INFO L290 TraceCheckUtils]: 94: Hoare triple {93809#true} ~returnVal2~0 := 259; {93809#true} is VALID [2022-04-08 08:37:24,661 INFO L290 TraceCheckUtils]: 95: Hoare triple {93809#true} assume !(~s~0 == ~NP~0); {93809#true} is VALID [2022-04-08 08:37:24,661 INFO L290 TraceCheckUtils]: 96: Hoare triple {93809#true} assume ~s~0 == ~MPR1~0; {93809#true} is VALID [2022-04-08 08:37:24,661 INFO L290 TraceCheckUtils]: 97: Hoare triple {93809#true} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := ~returnVal2~0; {93809#true} is VALID [2022-04-08 08:37:24,661 INFO L290 TraceCheckUtils]: 98: Hoare triple {93809#true} #res := ~returnVal2~0; {93809#true} is VALID [2022-04-08 08:37:24,661 INFO L290 TraceCheckUtils]: 99: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,661 INFO L284 TraceCheckUtils]: 100: Hoare quadruple {93809#true} {93809#true} #1192#return; {93809#true} is VALID [2022-04-08 08:37:24,661 INFO L290 TraceCheckUtils]: 101: Hoare triple {93809#true} assume -2147483648 <= #t~ret109 && #t~ret109 <= 2147483647;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {93809#true} is VALID [2022-04-08 08:37:24,661 INFO L290 TraceCheckUtils]: 102: Hoare triple {93809#true} assume 259 == ~status~3; {93809#true} is VALID [2022-04-08 08:37:24,662 INFO L272 TraceCheckUtils]: 103: Hoare triple {93809#true} call #t~ret110 := KeWaitForSingleObject(~#event~1.base, ~#event~1.offset, 0, 0, 0, 0, 0); {94005#(and (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:37:24,662 INFO L290 TraceCheckUtils]: 104: Hoare triple {94005#(and (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~s~0 |old(~s~0)|))} ~Object.base, ~Object.offset := #in~Object.base, #in~Object.offset;~WaitReason := #in~WaitReason;~WaitMode := #in~WaitMode;~Alertable := #in~Alertable;~Timeout.base, ~Timeout.offset := #in~Timeout.base, #in~Timeout.offset;assume -2147483648 <= #t~nondet200 && #t~nondet200 <= 2147483647;~__BLAST_NONDET~13 := #t~nondet200;havoc #t~nondet200; {93809#true} is VALID [2022-04-08 08:37:24,662 INFO L290 TraceCheckUtils]: 105: Hoare triple {93809#true} assume ~s~0 == ~MPR3~0; {93809#true} is VALID [2022-04-08 08:37:24,662 INFO L290 TraceCheckUtils]: 106: Hoare triple {93809#true} assume 1 == ~setEventCalled~0;~s~0 := ~NP~0;~setEventCalled~0 := 0; {93809#true} is VALID [2022-04-08 08:37:24,662 INFO L290 TraceCheckUtils]: 107: Hoare triple {93809#true} assume 0 == ~__BLAST_NONDET~13; {93809#true} is VALID [2022-04-08 08:37:24,662 INFO L290 TraceCheckUtils]: 108: Hoare triple {93809#true} #res := 0; {93809#true} is VALID [2022-04-08 08:37:24,662 INFO L290 TraceCheckUtils]: 109: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,662 INFO L284 TraceCheckUtils]: 110: Hoare quadruple {93809#true} {93809#true} #1194#return; {93809#true} is VALID [2022-04-08 08:37:24,662 INFO L290 TraceCheckUtils]: 111: Hoare triple {93809#true} assume -2147483648 <= #t~ret110 && #t~ret110 <= 2147483647;havoc #t~ret110; {93809#true} is VALID [2022-04-08 08:37:24,662 INFO L290 TraceCheckUtils]: 112: Hoare triple {93809#true} assume ~status~3 >= 0; {93809#true} is VALID [2022-04-08 08:37:24,662 INFO L290 TraceCheckUtils]: 113: Hoare triple {93809#true} assume !(~myStatus~0 >= 0); {93809#true} is VALID [2022-04-08 08:37:24,662 INFO L290 TraceCheckUtils]: 114: Hoare triple {93809#true} call write~int(~status~3, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~3;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4); {93809#true} is VALID [2022-04-08 08:37:24,663 INFO L272 TraceCheckUtils]: 115: Hoare triple {93809#true} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {94004#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:37:24,663 INFO L290 TraceCheckUtils]: 116: Hoare triple {94004#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {93809#true} is VALID [2022-04-08 08:37:24,663 INFO L290 TraceCheckUtils]: 117: Hoare triple {93809#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {93809#true} is VALID [2022-04-08 08:37:24,663 INFO L290 TraceCheckUtils]: 118: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,663 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {93809#true} {93809#true} #1196#return; {93809#true} is VALID [2022-04-08 08:37:24,663 INFO L290 TraceCheckUtils]: 120: Hoare triple {93809#true} #res := ~status~3;call ULTIMATE.dealloc(~#event~1.base, ~#event~1.offset);havoc ~#event~1.base, ~#event~1.offset; {93809#true} is VALID [2022-04-08 08:37:24,663 INFO L290 TraceCheckUtils]: 121: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:24,663 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {93809#true} {93810#false} #1230#return; {93810#false} is VALID [2022-04-08 08:37:24,663 INFO L290 TraceCheckUtils]: 123: Hoare triple {93810#false} assume -2147483648 <= #t~ret174 && #t~ret174 <= 2147483647;~status~5 := #t~ret174;havoc #t~ret174; {93810#false} is VALID [2022-04-08 08:37:24,663 INFO L290 TraceCheckUtils]: 124: Hoare triple {93810#false} assume 0 != ~we_should_unload~0; {93810#false} is VALID [2022-04-08 08:37:24,663 INFO L290 TraceCheckUtils]: 125: Hoare triple {93810#false} assume !(1 == ~pended~0); {93810#false} is VALID [2022-04-08 08:37:24,664 INFO L290 TraceCheckUtils]: 126: Hoare triple {93810#false} assume !(1 == ~pended~0); {93810#false} is VALID [2022-04-08 08:37:24,664 INFO L290 TraceCheckUtils]: 127: Hoare triple {93810#false} assume !(~s~0 == ~UNLOADED~0); {93810#false} is VALID [2022-04-08 08:37:24,664 INFO L290 TraceCheckUtils]: 128: Hoare triple {93810#false} assume !(-1 == ~status~5); {93810#false} is VALID [2022-04-08 08:37:24,664 INFO L290 TraceCheckUtils]: 129: Hoare triple {93810#false} assume ~s~0 != ~SKIP2~0; {93810#false} is VALID [2022-04-08 08:37:24,664 INFO L290 TraceCheckUtils]: 130: Hoare triple {93810#false} assume ~s~0 != ~IPC~0; {93810#false} is VALID [2022-04-08 08:37:24,664 INFO L290 TraceCheckUtils]: 131: Hoare triple {93810#false} assume !(~s~0 != ~DC~0); {93810#false} is VALID [2022-04-08 08:37:24,664 INFO L290 TraceCheckUtils]: 132: Hoare triple {93810#false} assume !(1 == ~pended~0); {93810#false} is VALID [2022-04-08 08:37:24,664 INFO L290 TraceCheckUtils]: 133: Hoare triple {93810#false} assume ~s~0 == ~DC~0; {93810#false} is VALID [2022-04-08 08:37:24,664 INFO L290 TraceCheckUtils]: 134: Hoare triple {93810#false} assume 259 == ~status~5; {93810#false} is VALID [2022-04-08 08:37:24,664 INFO L272 TraceCheckUtils]: 135: Hoare triple {93810#false} call errorFn(); {93810#false} is VALID [2022-04-08 08:37:24,664 INFO L290 TraceCheckUtils]: 136: Hoare triple {93810#false} assume !false; {93810#false} is VALID [2022-04-08 08:37:24,664 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 08:37:24,664 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:37:24,664 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2071533977] [2022-04-08 08:37:24,665 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2071533977] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 08:37:24,665 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [202454684] [2022-04-08 08:37:24,665 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 08:37:24,665 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 08:37:24,665 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 08:37:24,666 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 08:37:24,670 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-08 08:37:25,969 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 08:37:25,969 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 08:37:25,978 INFO L263 TraceCheckSpWp]: Trace formula consists of 1860 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-08 08:37:26,018 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:26,022 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 08:37:26,285 INFO L272 TraceCheckUtils]: 0: Hoare triple {93809#true} call ULTIMATE.init(); {93809#true} is VALID [2022-04-08 08:37:26,285 INFO L290 TraceCheckUtils]: 1: Hoare triple {93809#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {93809#true} is VALID [2022-04-08 08:37:26,285 INFO L290 TraceCheckUtils]: 2: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:26,285 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {93809#true} {93809#true} #1270#return; {93809#true} is VALID [2022-04-08 08:37:26,285 INFO L272 TraceCheckUtils]: 4: Hoare triple {93809#true} call #t~ret213 := main(); {93809#true} is VALID [2022-04-08 08:37:26,285 INFO L290 TraceCheckUtils]: 5: Hoare triple {93809#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {93809#true} is VALID [2022-04-08 08:37:26,286 INFO L272 TraceCheckUtils]: 6: Hoare triple {93809#true} call _BLAST_init(); {93809#true} is VALID [2022-04-08 08:37:26,286 INFO L290 TraceCheckUtils]: 7: Hoare triple {93809#true} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {93809#true} is VALID [2022-04-08 08:37:26,286 INFO L290 TraceCheckUtils]: 8: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:26,286 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {93809#true} {93809#true} #1216#return; {93809#true} is VALID [2022-04-08 08:37:26,286 INFO L272 TraceCheckUtils]: 10: Hoare triple {93809#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {93809#true} is VALID [2022-04-08 08:37:26,286 INFO L290 TraceCheckUtils]: 11: Hoare triple {93809#true} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {93809#true} is VALID [2022-04-08 08:37:26,286 INFO L272 TraceCheckUtils]: 12: Hoare triple {93809#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {93809#true} is VALID [2022-04-08 08:37:26,286 INFO L290 TraceCheckUtils]: 13: Hoare triple {93809#true} ~cond := #in~cond; {93809#true} is VALID [2022-04-08 08:37:26,286 INFO L290 TraceCheckUtils]: 14: Hoare triple {93809#true} assume !(0 == ~cond); {93809#true} is VALID [2022-04-08 08:37:26,286 INFO L290 TraceCheckUtils]: 15: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:26,286 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {93809#true} {93809#true} #1254#return; {93809#true} is VALID [2022-04-08 08:37:26,286 INFO L290 TraceCheckUtils]: 17: Hoare triple {93809#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {93809#true} is VALID [2022-04-08 08:37:26,286 INFO L290 TraceCheckUtils]: 18: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:26,286 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {93809#true} {93809#true} #1218#return; {93809#true} is VALID [2022-04-08 08:37:26,286 INFO L290 TraceCheckUtils]: 20: Hoare triple {93809#true} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {93809#true} is VALID [2022-04-08 08:37:26,286 INFO L290 TraceCheckUtils]: 21: Hoare triple {93809#true} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {93809#true} is VALID [2022-04-08 08:37:26,286 INFO L290 TraceCheckUtils]: 22: Hoare triple {93809#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {93809#true} is VALID [2022-04-08 08:37:26,286 INFO L272 TraceCheckUtils]: 23: Hoare triple {93809#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {93809#true} is VALID [2022-04-08 08:37:26,287 INFO L290 TraceCheckUtils]: 24: Hoare triple {93809#true} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {93809#true} is VALID [2022-04-08 08:37:26,287 INFO L272 TraceCheckUtils]: 25: Hoare triple {93809#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {93809#true} is VALID [2022-04-08 08:37:26,287 INFO L290 TraceCheckUtils]: 26: Hoare triple {93809#true} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {93809#true} is VALID [2022-04-08 08:37:26,287 INFO L290 TraceCheckUtils]: 27: Hoare triple {93809#true} assume 0 == ~__BLAST_NONDET~5; {93809#true} is VALID [2022-04-08 08:37:26,287 INFO L290 TraceCheckUtils]: 28: Hoare triple {93809#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {93809#true} is VALID [2022-04-08 08:37:26,287 INFO L290 TraceCheckUtils]: 29: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:26,287 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {93809#true} {93809#true} #1176#return; {93809#true} is VALID [2022-04-08 08:37:26,287 INFO L290 TraceCheckUtils]: 31: Hoare triple {93809#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {93809#true} is VALID [2022-04-08 08:37:26,287 INFO L290 TraceCheckUtils]: 32: Hoare triple {93809#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {93809#true} is VALID [2022-04-08 08:37:26,287 INFO L272 TraceCheckUtils]: 33: Hoare triple {93809#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {93809#true} is VALID [2022-04-08 08:37:26,287 INFO L290 TraceCheckUtils]: 34: Hoare triple {93809#true} #t~loopctr214 := 0; {93809#true} is VALID [2022-04-08 08:37:26,287 INFO L290 TraceCheckUtils]: 35: Hoare triple {93809#true} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {93809#true} is VALID [2022-04-08 08:37:26,287 INFO L290 TraceCheckUtils]: 36: Hoare triple {93809#true} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {93809#true} is VALID [2022-04-08 08:37:26,287 INFO L290 TraceCheckUtils]: 37: Hoare triple {93809#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {93809#true} is VALID [2022-04-08 08:37:26,287 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {93809#true} {93809#true} #1178#return; {93809#true} is VALID [2022-04-08 08:37:26,287 INFO L290 TraceCheckUtils]: 39: Hoare triple {93809#true} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {93809#true} is VALID [2022-04-08 08:37:26,287 INFO L272 TraceCheckUtils]: 40: Hoare triple {93809#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {93809#true} is VALID [2022-04-08 08:37:26,287 INFO L290 TraceCheckUtils]: 41: Hoare triple {93809#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {93809#true} is VALID [2022-04-08 08:37:26,287 INFO L290 TraceCheckUtils]: 42: Hoare triple {93809#true} assume 0 == ~__BLAST_NONDET~2; {93809#true} is VALID [2022-04-08 08:37:26,288 INFO L290 TraceCheckUtils]: 43: Hoare triple {93809#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {93809#true} is VALID [2022-04-08 08:37:26,288 INFO L290 TraceCheckUtils]: 44: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:26,288 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {93809#true} {93809#true} #1180#return; {93809#true} is VALID [2022-04-08 08:37:26,288 INFO L290 TraceCheckUtils]: 46: Hoare triple {93809#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {93809#true} is VALID [2022-04-08 08:37:26,288 INFO L290 TraceCheckUtils]: 47: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:26,288 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {93809#true} {93809#true} #1220#return; {93809#true} is VALID [2022-04-08 08:37:26,288 INFO L290 TraceCheckUtils]: 49: Hoare triple {93809#true} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {93809#true} is VALID [2022-04-08 08:37:26,288 INFO L272 TraceCheckUtils]: 50: Hoare triple {93809#true} call stub_driver_init(); {93809#true} is VALID [2022-04-08 08:37:26,288 INFO L290 TraceCheckUtils]: 51: Hoare triple {93809#true} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {93809#true} is VALID [2022-04-08 08:37:26,288 INFO L290 TraceCheckUtils]: 52: Hoare triple {93809#true} assume true; {93809#true} is VALID [2022-04-08 08:37:26,288 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {93809#true} {93809#true} #1222#return; {93809#true} is VALID [2022-04-08 08:37:26,288 INFO L290 TraceCheckUtils]: 54: Hoare triple {93809#true} assume !!(~status~5 >= 0); {93809#true} is VALID [2022-04-08 08:37:26,288 INFO L290 TraceCheckUtils]: 55: Hoare triple {93809#true} assume !(0 == ~__BLAST_NONDET~0); {93809#true} is VALID [2022-04-08 08:37:26,288 INFO L290 TraceCheckUtils]: 56: Hoare triple {93809#true} assume !(1 == ~__BLAST_NONDET~0); {93809#true} is VALID [2022-04-08 08:37:26,288 INFO L290 TraceCheckUtils]: 57: Hoare triple {93809#true} assume !(2 == ~__BLAST_NONDET~0); {93809#true} is VALID [2022-04-08 08:37:26,288 INFO L290 TraceCheckUtils]: 58: Hoare triple {93809#true} assume 3 == ~__BLAST_NONDET~0; {93809#true} is VALID [2022-04-08 08:37:26,288 INFO L272 TraceCheckUtils]: 59: Hoare triple {93809#true} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {93809#true} is VALID [2022-04-08 08:37:26,288 INFO L290 TraceCheckUtils]: 60: Hoare triple {93809#true} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~devExt~3.base, ~devExt~3.offset;havoc ~irpStack~3.base, ~irpStack~3.offset;havoc ~status~3;call ~#event~1.base, ~#event~1.offset := #Ultimate.allocOnStack(16);havoc ~irpSp~0.base, ~irpSp~0.offset;havoc ~nextIrpSp~0.base, ~nextIrpSp~0.offset;havoc ~irpSp___0~0.base, ~irpSp___0~0.offset;~status~3 := 0;call #t~mem79.base, #t~mem79.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~3.base, ~devExt~3.offset := #t~mem79.base, #t~mem79.offset;havoc #t~mem79.base, #t~mem79.offset;call #t~mem80.base, #t~mem80.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~3.base, ~irpStack~3.offset := #t~mem80.base, #t~mem80.offset;havoc #t~mem80.base, #t~mem80.offset;call #t~mem81 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {93809#true} is VALID [2022-04-08 08:37:26,288 INFO L290 TraceCheckUtils]: 61: Hoare triple {93809#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {93809#true} is VALID [2022-04-08 08:37:26,288 INFO L290 TraceCheckUtils]: 62: Hoare triple {93809#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp~0.base, ~irpSp~0.offset := #t~mem102.base, #t~mem102.offset;havoc #t~mem102.base, #t~mem102.offset;call #t~mem103.base, #t~mem103.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 36;havoc #t~mem103.base, #t~mem103.offset; {93809#true} is VALID [2022-04-08 08:37:26,289 INFO L272 TraceCheckUtils]: 63: Hoare triple {93809#true} call #t~memmove~res104.base, #t~memmove~res104.offset := #Ultimate.C_memmove(~nextIrpSp~0.base, ~nextIrpSp~0.offset, ~irpSp~0.base, ~irpSp~0.offset, 28); {93809#true} is VALID [2022-04-08 08:37:26,289 INFO L290 TraceCheckUtils]: 64: Hoare triple {93809#true} #t~loopctr215 := 0; {93809#true} is VALID [2022-04-08 08:37:26,289 INFO L290 TraceCheckUtils]: 65: Hoare triple {93809#true} assume #t~loopctr215 % 4294967296 < size % 4294967296;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 4);#t~loopctr215 := 1 + #t~loopctr215; {93809#true} is VALID [2022-04-08 08:37:26,289 INFO L290 TraceCheckUtils]: 66: Hoare triple {93809#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {94207#(= |#Ultimate.C_memmove_#t~loopctr221| 0)} is VALID [2022-04-08 08:37:26,289 INFO L290 TraceCheckUtils]: 67: Hoare triple {94207#(= |#Ultimate.C_memmove_#t~loopctr221| 0)} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {94211#(not (< 0 (mod |#Ultimate.C_memmove_size| 4294967296)))} is VALID [2022-04-08 08:37:26,290 INFO L290 TraceCheckUtils]: 68: Hoare triple {94211#(not (< 0 (mod |#Ultimate.C_memmove_size| 4294967296)))} assume #res.base == dest.base && #res.offset == dest.offset; {94211#(not (< 0 (mod |#Ultimate.C_memmove_size| 4294967296)))} is VALID [2022-04-08 08:37:26,291 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {94211#(not (< 0 (mod |#Ultimate.C_memmove_size| 4294967296)))} {93809#true} #1186#return; {93810#false} is VALID [2022-04-08 08:37:26,291 INFO L290 TraceCheckUtils]: 70: Hoare triple {93810#false} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {93810#false} is VALID [2022-04-08 08:37:26,291 INFO L290 TraceCheckUtils]: 71: Hoare triple {93810#false} assume !(~s~0 != ~NP~0); {93810#false} is VALID [2022-04-08 08:37:26,291 INFO L290 TraceCheckUtils]: 72: Hoare triple {93810#false} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {93810#false} is VALID [2022-04-08 08:37:26,291 INFO L290 TraceCheckUtils]: 73: Hoare triple {93810#false} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 36;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 28 + ~irpSp___0~0.offset, 4);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 32 + ~irpSp___0~0.offset, 4);call write~int(0, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(64, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call #t~mem106 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem106 % 256, 128), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem106;call #t~mem107 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem107 % 256, 32), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem107;call #t~mem108.base, #t~mem108.offset := read~$Pointer$(~devExt~3.base, 8 + ~devExt~3.offset, 4); {93810#false} is VALID [2022-04-08 08:37:26,291 INFO L272 TraceCheckUtils]: 74: Hoare triple {93810#false} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {93810#false} is VALID [2022-04-08 08:37:26,291 INFO L290 TraceCheckUtils]: 75: Hoare triple {93810#false} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {93810#false} is VALID [2022-04-08 08:37:26,291 INFO L290 TraceCheckUtils]: 76: Hoare triple {93810#false} assume 0 != ~compRegistered~0; {93810#false} is VALID [2022-04-08 08:37:26,291 INFO L272 TraceCheckUtils]: 77: Hoare triple {93810#false} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {93810#false} is VALID [2022-04-08 08:37:26,291 INFO L290 TraceCheckUtils]: 78: Hoare triple {93810#false} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {93810#false} is VALID [2022-04-08 08:37:26,291 INFO L272 TraceCheckUtils]: 79: Hoare triple {93810#false} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {93810#false} is VALID [2022-04-08 08:37:26,291 INFO L290 TraceCheckUtils]: 80: Hoare triple {93810#false} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {93810#false} is VALID [2022-04-08 08:37:26,291 INFO L290 TraceCheckUtils]: 81: Hoare triple {93810#false} assume true; {93810#false} is VALID [2022-04-08 08:37:26,291 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {93810#false} {93810#false} #1174#return; {93810#false} is VALID [2022-04-08 08:37:26,291 INFO L290 TraceCheckUtils]: 83: Hoare triple {93810#false} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {93810#false} is VALID [2022-04-08 08:37:26,292 INFO L290 TraceCheckUtils]: 84: Hoare triple {93810#false} assume true; {93810#false} is VALID [2022-04-08 08:37:26,292 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {93810#false} {93810#false} #1210#return; {93810#false} is VALID [2022-04-08 08:37:26,292 INFO L290 TraceCheckUtils]: 86: Hoare triple {93810#false} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {93810#false} is VALID [2022-04-08 08:37:26,292 INFO L290 TraceCheckUtils]: 87: Hoare triple {93810#false} assume -1073741802 == ~compRetStatus~0; {93810#false} is VALID [2022-04-08 08:37:26,292 INFO L272 TraceCheckUtils]: 88: Hoare triple {93810#false} call stubMoreProcessingRequired(); {93810#false} is VALID [2022-04-08 08:37:26,292 INFO L290 TraceCheckUtils]: 89: Hoare triple {93810#false} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {93810#false} is VALID [2022-04-08 08:37:26,292 INFO L290 TraceCheckUtils]: 90: Hoare triple {93810#false} assume true; {93810#false} is VALID [2022-04-08 08:37:26,292 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {93810#false} {93810#false} #1212#return; {93810#false} is VALID [2022-04-08 08:37:26,292 INFO L290 TraceCheckUtils]: 92: Hoare triple {93810#false} assume !(0 == ~__BLAST_NONDET~11); {93810#false} is VALID [2022-04-08 08:37:26,292 INFO L290 TraceCheckUtils]: 93: Hoare triple {93810#false} assume !(1 == ~__BLAST_NONDET~11); {93810#false} is VALID [2022-04-08 08:37:26,292 INFO L290 TraceCheckUtils]: 94: Hoare triple {93810#false} ~returnVal2~0 := 259; {93810#false} is VALID [2022-04-08 08:37:26,292 INFO L290 TraceCheckUtils]: 95: Hoare triple {93810#false} assume !(~s~0 == ~NP~0); {93810#false} is VALID [2022-04-08 08:37:26,292 INFO L290 TraceCheckUtils]: 96: Hoare triple {93810#false} assume ~s~0 == ~MPR1~0; {93810#false} is VALID [2022-04-08 08:37:26,292 INFO L290 TraceCheckUtils]: 97: Hoare triple {93810#false} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := ~returnVal2~0; {93810#false} is VALID [2022-04-08 08:37:26,292 INFO L290 TraceCheckUtils]: 98: Hoare triple {93810#false} #res := ~returnVal2~0; {93810#false} is VALID [2022-04-08 08:37:26,292 INFO L290 TraceCheckUtils]: 99: Hoare triple {93810#false} assume true; {93810#false} is VALID [2022-04-08 08:37:26,292 INFO L284 TraceCheckUtils]: 100: Hoare quadruple {93810#false} {93810#false} #1192#return; {93810#false} is VALID [2022-04-08 08:37:26,292 INFO L290 TraceCheckUtils]: 101: Hoare triple {93810#false} assume -2147483648 <= #t~ret109 && #t~ret109 <= 2147483647;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {93810#false} is VALID [2022-04-08 08:37:26,292 INFO L290 TraceCheckUtils]: 102: Hoare triple {93810#false} assume 259 == ~status~3; {93810#false} is VALID [2022-04-08 08:37:26,293 INFO L272 TraceCheckUtils]: 103: Hoare triple {93810#false} call #t~ret110 := KeWaitForSingleObject(~#event~1.base, ~#event~1.offset, 0, 0, 0, 0, 0); {93810#false} is VALID [2022-04-08 08:37:26,293 INFO L290 TraceCheckUtils]: 104: Hoare triple {93810#false} ~Object.base, ~Object.offset := #in~Object.base, #in~Object.offset;~WaitReason := #in~WaitReason;~WaitMode := #in~WaitMode;~Alertable := #in~Alertable;~Timeout.base, ~Timeout.offset := #in~Timeout.base, #in~Timeout.offset;assume -2147483648 <= #t~nondet200 && #t~nondet200 <= 2147483647;~__BLAST_NONDET~13 := #t~nondet200;havoc #t~nondet200; {93810#false} is VALID [2022-04-08 08:37:26,293 INFO L290 TraceCheckUtils]: 105: Hoare triple {93810#false} assume ~s~0 == ~MPR3~0; {93810#false} is VALID [2022-04-08 08:37:26,293 INFO L290 TraceCheckUtils]: 106: Hoare triple {93810#false} assume 1 == ~setEventCalled~0;~s~0 := ~NP~0;~setEventCalled~0 := 0; {93810#false} is VALID [2022-04-08 08:37:26,293 INFO L290 TraceCheckUtils]: 107: Hoare triple {93810#false} assume 0 == ~__BLAST_NONDET~13; {93810#false} is VALID [2022-04-08 08:37:26,293 INFO L290 TraceCheckUtils]: 108: Hoare triple {93810#false} #res := 0; {93810#false} is VALID [2022-04-08 08:37:26,293 INFO L290 TraceCheckUtils]: 109: Hoare triple {93810#false} assume true; {93810#false} is VALID [2022-04-08 08:37:26,293 INFO L284 TraceCheckUtils]: 110: Hoare quadruple {93810#false} {93810#false} #1194#return; {93810#false} is VALID [2022-04-08 08:37:26,293 INFO L290 TraceCheckUtils]: 111: Hoare triple {93810#false} assume -2147483648 <= #t~ret110 && #t~ret110 <= 2147483647;havoc #t~ret110; {93810#false} is VALID [2022-04-08 08:37:26,293 INFO L290 TraceCheckUtils]: 112: Hoare triple {93810#false} assume ~status~3 >= 0; {93810#false} is VALID [2022-04-08 08:37:26,293 INFO L290 TraceCheckUtils]: 113: Hoare triple {93810#false} assume !(~myStatus~0 >= 0); {93810#false} is VALID [2022-04-08 08:37:26,293 INFO L290 TraceCheckUtils]: 114: Hoare triple {93810#false} call write~int(~status~3, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~3;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4); {93810#false} is VALID [2022-04-08 08:37:26,293 INFO L272 TraceCheckUtils]: 115: Hoare triple {93810#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {93810#false} is VALID [2022-04-08 08:37:26,293 INFO L290 TraceCheckUtils]: 116: Hoare triple {93810#false} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {93810#false} is VALID [2022-04-08 08:37:26,293 INFO L290 TraceCheckUtils]: 117: Hoare triple {93810#false} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {93810#false} is VALID [2022-04-08 08:37:26,293 INFO L290 TraceCheckUtils]: 118: Hoare triple {93810#false} assume true; {93810#false} is VALID [2022-04-08 08:37:26,293 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {93810#false} {93810#false} #1196#return; {93810#false} is VALID [2022-04-08 08:37:26,293 INFO L290 TraceCheckUtils]: 120: Hoare triple {93810#false} #res := ~status~3;call ULTIMATE.dealloc(~#event~1.base, ~#event~1.offset);havoc ~#event~1.base, ~#event~1.offset; {93810#false} is VALID [2022-04-08 08:37:26,293 INFO L290 TraceCheckUtils]: 121: Hoare triple {93810#false} assume true; {93810#false} is VALID [2022-04-08 08:37:26,293 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {93810#false} {93809#true} #1230#return; {93810#false} is VALID [2022-04-08 08:37:26,294 INFO L290 TraceCheckUtils]: 123: Hoare triple {93810#false} assume -2147483648 <= #t~ret174 && #t~ret174 <= 2147483647;~status~5 := #t~ret174;havoc #t~ret174; {93810#false} is VALID [2022-04-08 08:37:26,294 INFO L290 TraceCheckUtils]: 124: Hoare triple {93810#false} assume 0 != ~we_should_unload~0; {93810#false} is VALID [2022-04-08 08:37:26,294 INFO L290 TraceCheckUtils]: 125: Hoare triple {93810#false} assume !(1 == ~pended~0); {93810#false} is VALID [2022-04-08 08:37:26,294 INFO L290 TraceCheckUtils]: 126: Hoare triple {93810#false} assume !(1 == ~pended~0); {93810#false} is VALID [2022-04-08 08:37:26,294 INFO L290 TraceCheckUtils]: 127: Hoare triple {93810#false} assume !(~s~0 == ~UNLOADED~0); {93810#false} is VALID [2022-04-08 08:37:26,294 INFO L290 TraceCheckUtils]: 128: Hoare triple {93810#false} assume !(-1 == ~status~5); {93810#false} is VALID [2022-04-08 08:37:26,294 INFO L290 TraceCheckUtils]: 129: Hoare triple {93810#false} assume ~s~0 != ~SKIP2~0; {93810#false} is VALID [2022-04-08 08:37:26,294 INFO L290 TraceCheckUtils]: 130: Hoare triple {93810#false} assume ~s~0 != ~IPC~0; {93810#false} is VALID [2022-04-08 08:37:26,294 INFO L290 TraceCheckUtils]: 131: Hoare triple {93810#false} assume !(~s~0 != ~DC~0); {93810#false} is VALID [2022-04-08 08:37:26,294 INFO L290 TraceCheckUtils]: 132: Hoare triple {93810#false} assume !(1 == ~pended~0); {93810#false} is VALID [2022-04-08 08:37:26,294 INFO L290 TraceCheckUtils]: 133: Hoare triple {93810#false} assume ~s~0 == ~DC~0; {93810#false} is VALID [2022-04-08 08:37:26,294 INFO L290 TraceCheckUtils]: 134: Hoare triple {93810#false} assume 259 == ~status~5; {93810#false} is VALID [2022-04-08 08:37:26,294 INFO L272 TraceCheckUtils]: 135: Hoare triple {93810#false} call errorFn(); {93810#false} is VALID [2022-04-08 08:37:26,294 INFO L290 TraceCheckUtils]: 136: Hoare triple {93810#false} assume !false; {93810#false} is VALID [2022-04-08 08:37:26,294 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-08 08:37:26,294 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 08:37:26,295 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [202454684] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:37:26,295 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 08:37:26,295 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [15] total 17 [2022-04-08 08:37:26,295 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 08:37:26,295 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1560915214] [2022-04-08 08:37:26,295 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1560915214] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 08:37:26,295 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 08:37:26,295 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-08 08:37:26,295 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1085916202] [2022-04-08 08:37:26,295 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 08:37:26,296 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 25.25) internal successors, (101), 4 states have internal predecessors, (101), 2 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 2 states have call predecessors, (17), 2 states have call successors, (17) Word has length 137 [2022-04-08 08:37:26,296 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 08:37:26,296 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 25.25) internal successors, (101), 4 states have internal predecessors, (101), 2 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 2 states have call predecessors, (17), 2 states have call successors, (17) [2022-04-08 08:37:26,393 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 137 edges. 137 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:37:26,393 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-08 08:37:26,393 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 08:37:26,393 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-08 08:37:26,394 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=215, Unknown=0, NotChecked=0, Total=272 [2022-04-08 08:37:26,394 INFO L87 Difference]: Start difference. First operand 235 states and 250 transitions. Second operand has 4 states, 4 states have (on average 25.25) internal successors, (101), 4 states have internal predecessors, (101), 2 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 2 states have call predecessors, (17), 2 states have call successors, (17) [2022-04-08 08:37:33,886 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:37:33,887 INFO L93 Difference]: Finished difference Result 355 states and 376 transitions. [2022-04-08 08:37:33,887 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-08 08:37:33,887 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 25.25) internal successors, (101), 4 states have internal predecessors, (101), 2 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 2 states have call predecessors, (17), 2 states have call successors, (17) Word has length 137 [2022-04-08 08:37:33,887 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 08:37:33,887 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 25.25) internal successors, (101), 4 states have internal predecessors, (101), 2 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 2 states have call predecessors, (17), 2 states have call successors, (17) [2022-04-08 08:37:33,888 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 222 transitions. [2022-04-08 08:37:33,888 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 25.25) internal successors, (101), 4 states have internal predecessors, (101), 2 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 2 states have call predecessors, (17), 2 states have call successors, (17) [2022-04-08 08:37:33,889 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 222 transitions. [2022-04-08 08:37:33,889 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 222 transitions. [2022-04-08 08:37:34,026 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 222 edges. 222 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:37:34,029 INFO L225 Difference]: With dead ends: 355 [2022-04-08 08:37:34,029 INFO L226 Difference]: Without dead ends: 237 [2022-04-08 08:37:34,030 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 176 GetRequests, 160 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 42 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=61, Invalid=245, Unknown=0, NotChecked=0, Total=306 [2022-04-08 08:37:34,030 INFO L913 BasicCegarLoop]: 145 mSDtfsCounter, 2 mSDsluCounter, 286 mSDsCounter, 0 mSdLazyCounter, 9 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 2 SdHoareTripleChecker+Valid, 431 SdHoareTripleChecker+Invalid, 9 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 9 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 08:37:34,030 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [2 Valid, 431 Invalid, 9 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 9 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 08:37:34,030 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 237 states. [2022-04-08 08:37:34,578 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 237 to 237. [2022-04-08 08:37:34,579 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 08:37:34,579 INFO L82 GeneralOperation]: Start isEquivalent. First operand 237 states. Second operand has 237 states, 177 states have (on average 1.0847457627118644) internal successors, (192), 177 states have internal predecessors, (192), 31 states have call successors, (31), 31 states have call predecessors, (31), 28 states have return successors, (29), 28 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-08 08:37:34,579 INFO L74 IsIncluded]: Start isIncluded. First operand 237 states. Second operand has 237 states, 177 states have (on average 1.0847457627118644) internal successors, (192), 177 states have internal predecessors, (192), 31 states have call successors, (31), 31 states have call predecessors, (31), 28 states have return successors, (29), 28 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-08 08:37:34,579 INFO L87 Difference]: Start difference. First operand 237 states. Second operand has 237 states, 177 states have (on average 1.0847457627118644) internal successors, (192), 177 states have internal predecessors, (192), 31 states have call successors, (31), 31 states have call predecessors, (31), 28 states have return successors, (29), 28 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-08 08:37:34,582 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:37:34,582 INFO L93 Difference]: Finished difference Result 237 states and 252 transitions. [2022-04-08 08:37:34,582 INFO L276 IsEmpty]: Start isEmpty. Operand 237 states and 252 transitions. [2022-04-08 08:37:34,582 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:37:34,582 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:37:34,582 INFO L74 IsIncluded]: Start isIncluded. First operand has 237 states, 177 states have (on average 1.0847457627118644) internal successors, (192), 177 states have internal predecessors, (192), 31 states have call successors, (31), 31 states have call predecessors, (31), 28 states have return successors, (29), 28 states have call predecessors, (29), 29 states have call successors, (29) Second operand 237 states. [2022-04-08 08:37:34,582 INFO L87 Difference]: Start difference. First operand has 237 states, 177 states have (on average 1.0847457627118644) internal successors, (192), 177 states have internal predecessors, (192), 31 states have call successors, (31), 31 states have call predecessors, (31), 28 states have return successors, (29), 28 states have call predecessors, (29), 29 states have call successors, (29) Second operand 237 states. [2022-04-08 08:37:34,588 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 08:37:34,588 INFO L93 Difference]: Finished difference Result 237 states and 252 transitions. [2022-04-08 08:37:34,588 INFO L276 IsEmpty]: Start isEmpty. Operand 237 states and 252 transitions. [2022-04-08 08:37:34,588 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 08:37:34,588 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 08:37:34,588 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 08:37:34,588 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 08:37:34,588 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 237 states, 177 states have (on average 1.0847457627118644) internal successors, (192), 177 states have internal predecessors, (192), 31 states have call successors, (31), 31 states have call predecessors, (31), 28 states have return successors, (29), 28 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-08 08:37:34,591 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 237 states to 237 states and 252 transitions. [2022-04-08 08:37:34,591 INFO L78 Accepts]: Start accepts. Automaton has 237 states and 252 transitions. Word has length 137 [2022-04-08 08:37:34,591 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 08:37:34,591 INFO L478 AbstractCegarLoop]: Abstraction has 237 states and 252 transitions. [2022-04-08 08:37:34,592 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 25.25) internal successors, (101), 4 states have internal predecessors, (101), 2 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 2 states have call predecessors, (17), 2 states have call successors, (17) [2022-04-08 08:37:34,592 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 237 states and 252 transitions. [2022-04-08 08:37:35,323 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 252 edges. 252 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 08:37:35,323 INFO L276 IsEmpty]: Start isEmpty. Operand 237 states and 252 transitions. [2022-04-08 08:37:35,323 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 139 [2022-04-08 08:37:35,323 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 08:37:35,324 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 08:37:35,350 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-08 08:37:35,524 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable39 [2022-04-08 08:37:35,524 INFO L403 AbstractCegarLoop]: === Iteration 41 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 08:37:35,524 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 08:37:35,524 INFO L85 PathProgramCache]: Analyzing trace with hash -1183185629, now seen corresponding path program 1 times [2022-04-08 08:37:35,524 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 08:37:35,524 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [156030834] [2022-04-08 08:37:35,526 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 4 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 08:37:35,526 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONINTEGER_UPDATE [2022-04-08 08:37:35,526 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 08:37:35,527 INFO L85 PathProgramCache]: Analyzing trace with hash -1183185629, now seen corresponding path program 2 times [2022-04-08 08:37:35,527 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 08:37:35,527 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [870463692] [2022-04-08 08:37:35,527 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 08:37:35,527 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 08:37:35,850 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:35,912 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 08:37:35,913 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:35,918 INFO L290 TraceCheckUtils]: 0: Hoare triple {96187#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {96078#true} is VALID [2022-04-08 08:37:35,918 INFO L290 TraceCheckUtils]: 1: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:35,918 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {96078#true} {96078#true} #1270#return; {96078#true} is VALID [2022-04-08 08:37:35,937 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 08:37:35,938 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:35,942 INFO L290 TraceCheckUtils]: 0: Hoare triple {96188#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {96078#true} is VALID [2022-04-08 08:37:35,942 INFO L290 TraceCheckUtils]: 1: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:35,943 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {96078#true} {96078#true} #1216#return; {96078#true} is VALID [2022-04-08 08:37:35,948 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 08:37:35,953 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:35,959 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:37:35,960 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:35,973 INFO L290 TraceCheckUtils]: 0: Hoare triple {96078#true} ~cond := #in~cond; {96078#true} is VALID [2022-04-08 08:37:35,974 INFO L290 TraceCheckUtils]: 1: Hoare triple {96078#true} assume !(0 == ~cond); {96078#true} is VALID [2022-04-08 08:37:35,974 INFO L290 TraceCheckUtils]: 2: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:35,974 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {96078#true} {96078#true} #1254#return; {96078#true} is VALID [2022-04-08 08:37:35,974 INFO L290 TraceCheckUtils]: 0: Hoare triple {96189#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {96078#true} is VALID [2022-04-08 08:37:35,974 INFO L272 TraceCheckUtils]: 1: Hoare triple {96078#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {96078#true} is VALID [2022-04-08 08:37:35,974 INFO L290 TraceCheckUtils]: 2: Hoare triple {96078#true} ~cond := #in~cond; {96078#true} is VALID [2022-04-08 08:37:35,974 INFO L290 TraceCheckUtils]: 3: Hoare triple {96078#true} assume !(0 == ~cond); {96078#true} is VALID [2022-04-08 08:37:35,974 INFO L290 TraceCheckUtils]: 4: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:35,974 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {96078#true} {96078#true} #1254#return; {96078#true} is VALID [2022-04-08 08:37:35,974 INFO L290 TraceCheckUtils]: 6: Hoare triple {96078#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {96078#true} is VALID [2022-04-08 08:37:35,974 INFO L290 TraceCheckUtils]: 7: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:35,974 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {96078#true} {96078#true} #1218#return; {96078#true} is VALID [2022-04-08 08:37:35,984 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 08:37:36,010 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:36,021 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:37:36,024 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:36,030 INFO L290 TraceCheckUtils]: 0: Hoare triple {96194#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {96078#true} is VALID [2022-04-08 08:37:36,030 INFO L290 TraceCheckUtils]: 1: Hoare triple {96078#true} assume 0 == ~__BLAST_NONDET~5; {96078#true} is VALID [2022-04-08 08:37:36,030 INFO L290 TraceCheckUtils]: 2: Hoare triple {96078#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {96078#true} is VALID [2022-04-08 08:37:36,030 INFO L290 TraceCheckUtils]: 3: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,030 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {96078#true} {96078#true} #1176#return; {96078#true} is VALID [2022-04-08 08:37:36,030 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 08:37:36,034 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:36,100 INFO L290 TraceCheckUtils]: 0: Hoare triple {96189#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {96210#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 08:37:36,101 INFO L290 TraceCheckUtils]: 1: Hoare triple {96210#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {96211#(and (or (<= (+ (* (div |#Ultimate.C_memset_#amount| 4294967296) 4294967296) 1) |#Ultimate.C_memset_#amount|) (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (or (not (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 4294967296) 1) 0)))} is VALID [2022-04-08 08:37:36,102 INFO L290 TraceCheckUtils]: 2: Hoare triple {96211#(and (or (<= (+ (* (div |#Ultimate.C_memset_#amount| 4294967296) 4294967296) 1) |#Ultimate.C_memset_#amount|) (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (or (not (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 4294967296) 1) 0)))} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {96212#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 08:37:36,102 INFO L290 TraceCheckUtils]: 3: Hoare triple {96212#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {96212#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 08:37:36,103 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {96212#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} {96078#true} #1178#return; {96079#false} is VALID [2022-04-08 08:37:36,103 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-08 08:37:36,104 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:36,108 INFO L290 TraceCheckUtils]: 0: Hoare triple {96078#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {96078#true} is VALID [2022-04-08 08:37:36,108 INFO L290 TraceCheckUtils]: 1: Hoare triple {96078#true} assume 0 == ~__BLAST_NONDET~2; {96078#true} is VALID [2022-04-08 08:37:36,108 INFO L290 TraceCheckUtils]: 2: Hoare triple {96078#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {96078#true} is VALID [2022-04-08 08:37:36,108 INFO L290 TraceCheckUtils]: 3: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,108 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {96078#true} {96079#false} #1180#return; {96079#false} is VALID [2022-04-08 08:37:36,108 INFO L290 TraceCheckUtils]: 0: Hoare triple {96194#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {96078#true} is VALID [2022-04-08 08:37:36,110 INFO L272 TraceCheckUtils]: 1: Hoare triple {96078#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {96194#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:37:36,110 INFO L290 TraceCheckUtils]: 2: Hoare triple {96194#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {96078#true} is VALID [2022-04-08 08:37:36,110 INFO L290 TraceCheckUtils]: 3: Hoare triple {96078#true} assume 0 == ~__BLAST_NONDET~5; {96078#true} is VALID [2022-04-08 08:37:36,110 INFO L290 TraceCheckUtils]: 4: Hoare triple {96078#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {96078#true} is VALID [2022-04-08 08:37:36,110 INFO L290 TraceCheckUtils]: 5: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,110 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {96078#true} {96078#true} #1176#return; {96078#true} is VALID [2022-04-08 08:37:36,110 INFO L290 TraceCheckUtils]: 7: Hoare triple {96078#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {96078#true} is VALID [2022-04-08 08:37:36,110 INFO L290 TraceCheckUtils]: 8: Hoare triple {96078#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {96078#true} is VALID [2022-04-08 08:37:36,111 INFO L272 TraceCheckUtils]: 9: Hoare triple {96078#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {96189#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:37:36,111 INFO L290 TraceCheckUtils]: 10: Hoare triple {96189#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {96210#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 08:37:36,112 INFO L290 TraceCheckUtils]: 11: Hoare triple {96210#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {96211#(and (or (<= (+ (* (div |#Ultimate.C_memset_#amount| 4294967296) 4294967296) 1) |#Ultimate.C_memset_#amount|) (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (or (not (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 4294967296) 1) 0)))} is VALID [2022-04-08 08:37:36,113 INFO L290 TraceCheckUtils]: 12: Hoare triple {96211#(and (or (<= (+ (* (div |#Ultimate.C_memset_#amount| 4294967296) 4294967296) 1) |#Ultimate.C_memset_#amount|) (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (or (not (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 4294967296) 1) 0)))} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {96212#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 08:37:36,113 INFO L290 TraceCheckUtils]: 13: Hoare triple {96212#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {96212#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 08:37:36,114 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {96212#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} {96078#true} #1178#return; {96079#false} is VALID [2022-04-08 08:37:36,114 INFO L290 TraceCheckUtils]: 15: Hoare triple {96079#false} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {96079#false} is VALID [2022-04-08 08:37:36,114 INFO L272 TraceCheckUtils]: 16: Hoare triple {96079#false} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {96078#true} is VALID [2022-04-08 08:37:36,114 INFO L290 TraceCheckUtils]: 17: Hoare triple {96078#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {96078#true} is VALID [2022-04-08 08:37:36,114 INFO L290 TraceCheckUtils]: 18: Hoare triple {96078#true} assume 0 == ~__BLAST_NONDET~2; {96078#true} is VALID [2022-04-08 08:37:36,114 INFO L290 TraceCheckUtils]: 19: Hoare triple {96078#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {96078#true} is VALID [2022-04-08 08:37:36,114 INFO L290 TraceCheckUtils]: 20: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,114 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {96078#true} {96079#false} #1180#return; {96079#false} is VALID [2022-04-08 08:37:36,114 INFO L290 TraceCheckUtils]: 22: Hoare triple {96079#false} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {96079#false} is VALID [2022-04-08 08:37:36,114 INFO L290 TraceCheckUtils]: 23: Hoare triple {96079#false} assume true; {96079#false} is VALID [2022-04-08 08:37:36,114 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {96079#false} {96078#true} #1220#return; {96079#false} is VALID [2022-04-08 08:37:36,129 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-08 08:37:36,130 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:36,134 INFO L290 TraceCheckUtils]: 0: Hoare triple {96213#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {96078#true} is VALID [2022-04-08 08:37:36,134 INFO L290 TraceCheckUtils]: 1: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,134 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {96078#true} {96079#false} #1222#return; {96079#false} is VALID [2022-04-08 08:37:36,168 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 59 [2022-04-08 08:37:36,184 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:36,199 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-04-08 08:37:36,203 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:36,220 INFO L290 TraceCheckUtils]: 0: Hoare triple {96189#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {96078#true} is VALID [2022-04-08 08:37:36,220 INFO L290 TraceCheckUtils]: 1: Hoare triple {96078#true} assume #t~loopctr215 % 4294967296 < size % 4294967296;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 4);#t~loopctr215 := 1 + #t~loopctr215; {96078#true} is VALID [2022-04-08 08:37:36,220 INFO L290 TraceCheckUtils]: 2: Hoare triple {96078#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {96078#true} is VALID [2022-04-08 08:37:36,220 INFO L290 TraceCheckUtils]: 3: Hoare triple {96078#true} assume #t~loopctr221 % 4294967296 < size % 4294967296;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 4);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 4);#t~loopctr221 := 4 + #t~loopctr221; {96078#true} is VALID [2022-04-08 08:37:36,220 INFO L290 TraceCheckUtils]: 4: Hoare triple {96078#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {96078#true} is VALID [2022-04-08 08:37:36,220 INFO L290 TraceCheckUtils]: 5: Hoare triple {96078#true} assume #res.base == dest.base && #res.offset == dest.offset; {96078#true} is VALID [2022-04-08 08:37:36,220 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {96078#true} {96078#true} #1186#return; {96078#true} is VALID [2022-04-08 08:37:36,231 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 15 [2022-04-08 08:37:36,234 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:36,248 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 08:37:36,249 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:36,253 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 08:37:36,254 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:36,260 INFO L290 TraceCheckUtils]: 0: Hoare triple {96271#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {96078#true} is VALID [2022-04-08 08:37:36,260 INFO L290 TraceCheckUtils]: 1: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,260 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {96078#true} {96078#true} #1174#return; {96078#true} is VALID [2022-04-08 08:37:36,260 INFO L290 TraceCheckUtils]: 0: Hoare triple {96271#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {96078#true} is VALID [2022-04-08 08:37:36,261 INFO L272 TraceCheckUtils]: 1: Hoare triple {96078#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {96271#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:37:36,261 INFO L290 TraceCheckUtils]: 2: Hoare triple {96271#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {96078#true} is VALID [2022-04-08 08:37:36,261 INFO L290 TraceCheckUtils]: 3: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,261 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {96078#true} {96078#true} #1174#return; {96078#true} is VALID [2022-04-08 08:37:36,261 INFO L290 TraceCheckUtils]: 5: Hoare triple {96078#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {96078#true} is VALID [2022-04-08 08:37:36,261 INFO L290 TraceCheckUtils]: 6: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,261 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {96078#true} {96078#true} #1210#return; {96078#true} is VALID [2022-04-08 08:37:36,270 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 08:37:36,271 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:36,274 INFO L290 TraceCheckUtils]: 0: Hoare triple {96275#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {96078#true} is VALID [2022-04-08 08:37:36,275 INFO L290 TraceCheckUtils]: 1: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,275 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {96078#true} {96078#true} #1212#return; {96078#true} is VALID [2022-04-08 08:37:36,275 INFO L290 TraceCheckUtils]: 0: Hoare triple {96259#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {96078#true} is VALID [2022-04-08 08:37:36,275 INFO L290 TraceCheckUtils]: 1: Hoare triple {96078#true} assume 0 != ~compRegistered~0; {96078#true} is VALID [2022-04-08 08:37:36,275 INFO L272 TraceCheckUtils]: 2: Hoare triple {96078#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {96271#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:37:36,276 INFO L290 TraceCheckUtils]: 3: Hoare triple {96271#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {96078#true} is VALID [2022-04-08 08:37:36,276 INFO L272 TraceCheckUtils]: 4: Hoare triple {96078#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {96271#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:37:36,276 INFO L290 TraceCheckUtils]: 5: Hoare triple {96271#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {96078#true} is VALID [2022-04-08 08:37:36,276 INFO L290 TraceCheckUtils]: 6: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,276 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {96078#true} {96078#true} #1174#return; {96078#true} is VALID [2022-04-08 08:37:36,276 INFO L290 TraceCheckUtils]: 8: Hoare triple {96078#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {96078#true} is VALID [2022-04-08 08:37:36,276 INFO L290 TraceCheckUtils]: 9: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,276 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {96078#true} {96078#true} #1210#return; {96078#true} is VALID [2022-04-08 08:37:36,276 INFO L290 TraceCheckUtils]: 11: Hoare triple {96078#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {96078#true} is VALID [2022-04-08 08:37:36,277 INFO L290 TraceCheckUtils]: 12: Hoare triple {96078#true} assume -1073741802 == ~compRetStatus~0; {96078#true} is VALID [2022-04-08 08:37:36,277 INFO L272 TraceCheckUtils]: 13: Hoare triple {96078#true} call stubMoreProcessingRequired(); {96275#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:37:36,277 INFO L290 TraceCheckUtils]: 14: Hoare triple {96275#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {96078#true} is VALID [2022-04-08 08:37:36,277 INFO L290 TraceCheckUtils]: 15: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,277 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {96078#true} {96078#true} #1212#return; {96078#true} is VALID [2022-04-08 08:37:36,277 INFO L290 TraceCheckUtils]: 17: Hoare triple {96078#true} assume !(0 == ~__BLAST_NONDET~11); {96078#true} is VALID [2022-04-08 08:37:36,277 INFO L290 TraceCheckUtils]: 18: Hoare triple {96078#true} assume !(1 == ~__BLAST_NONDET~11); {96078#true} is VALID [2022-04-08 08:37:36,277 INFO L290 TraceCheckUtils]: 19: Hoare triple {96078#true} ~returnVal2~0 := 259; {96078#true} is VALID [2022-04-08 08:37:36,277 INFO L290 TraceCheckUtils]: 20: Hoare triple {96078#true} assume !(~s~0 == ~NP~0); {96078#true} is VALID [2022-04-08 08:37:36,277 INFO L290 TraceCheckUtils]: 21: Hoare triple {96078#true} assume ~s~0 == ~MPR1~0; {96078#true} is VALID [2022-04-08 08:37:36,277 INFO L290 TraceCheckUtils]: 22: Hoare triple {96078#true} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := ~returnVal2~0; {96078#true} is VALID [2022-04-08 08:37:36,277 INFO L290 TraceCheckUtils]: 23: Hoare triple {96078#true} #res := ~returnVal2~0; {96078#true} is VALID [2022-04-08 08:37:36,277 INFO L290 TraceCheckUtils]: 24: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,277 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {96078#true} {96078#true} #1192#return; {96078#true} is VALID [2022-04-08 08:37:36,288 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 44 [2022-04-08 08:37:36,290 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:36,294 INFO L290 TraceCheckUtils]: 0: Hoare triple {96276#(and (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~s~0 |old(~s~0)|))} ~Object.base, ~Object.offset := #in~Object.base, #in~Object.offset;~WaitReason := #in~WaitReason;~WaitMode := #in~WaitMode;~Alertable := #in~Alertable;~Timeout.base, ~Timeout.offset := #in~Timeout.base, #in~Timeout.offset;assume -2147483648 <= #t~nondet200 && #t~nondet200 <= 2147483647;~__BLAST_NONDET~13 := #t~nondet200;havoc #t~nondet200; {96078#true} is VALID [2022-04-08 08:37:36,294 INFO L290 TraceCheckUtils]: 1: Hoare triple {96078#true} assume ~s~0 == ~MPR3~0; {96078#true} is VALID [2022-04-08 08:37:36,294 INFO L290 TraceCheckUtils]: 2: Hoare triple {96078#true} assume 1 == ~setEventCalled~0;~s~0 := ~NP~0;~setEventCalled~0 := 0; {96078#true} is VALID [2022-04-08 08:37:36,294 INFO L290 TraceCheckUtils]: 3: Hoare triple {96078#true} assume 0 == ~__BLAST_NONDET~13; {96078#true} is VALID [2022-04-08 08:37:36,294 INFO L290 TraceCheckUtils]: 4: Hoare triple {96078#true} #res := 0; {96078#true} is VALID [2022-04-08 08:37:36,294 INFO L290 TraceCheckUtils]: 5: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,294 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {96078#true} {96078#true} #1194#return; {96078#true} is VALID [2022-04-08 08:37:36,294 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 56 [2022-04-08 08:37:36,295 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 08:37:36,298 INFO L290 TraceCheckUtils]: 0: Hoare triple {96275#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {96078#true} is VALID [2022-04-08 08:37:36,298 INFO L290 TraceCheckUtils]: 1: Hoare triple {96078#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {96078#true} is VALID [2022-04-08 08:37:36,298 INFO L290 TraceCheckUtils]: 2: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,298 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {96078#true} {96078#true} #1196#return; {96078#true} is VALID [2022-04-08 08:37:36,299 INFO L290 TraceCheckUtils]: 0: Hoare triple {96214#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(#length)| |#length|) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~devExt~3.base, ~devExt~3.offset;havoc ~irpStack~3.base, ~irpStack~3.offset;havoc ~status~3;call ~#event~1.base, ~#event~1.offset := #Ultimate.allocOnStack(16);havoc ~irpSp~0.base, ~irpSp~0.offset;havoc ~nextIrpSp~0.base, ~nextIrpSp~0.offset;havoc ~irpSp___0~0.base, ~irpSp___0~0.offset;~status~3 := 0;call #t~mem79.base, #t~mem79.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~3.base, ~devExt~3.offset := #t~mem79.base, #t~mem79.offset;havoc #t~mem79.base, #t~mem79.offset;call #t~mem80.base, #t~mem80.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~3.base, ~irpStack~3.offset := #t~mem80.base, #t~mem80.offset;havoc #t~mem80.base, #t~mem80.offset;call #t~mem81 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {96078#true} is VALID [2022-04-08 08:37:36,299 INFO L290 TraceCheckUtils]: 1: Hoare triple {96078#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {96078#true} is VALID [2022-04-08 08:37:36,299 INFO L290 TraceCheckUtils]: 2: Hoare triple {96078#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp~0.base, ~irpSp~0.offset := #t~mem102.base, #t~mem102.offset;havoc #t~mem102.base, #t~mem102.offset;call #t~mem103.base, #t~mem103.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 36;havoc #t~mem103.base, #t~mem103.offset; {96078#true} is VALID [2022-04-08 08:37:36,299 INFO L272 TraceCheckUtils]: 3: Hoare triple {96078#true} call #t~memmove~res104.base, #t~memmove~res104.offset := #Ultimate.C_memmove(~nextIrpSp~0.base, ~nextIrpSp~0.offset, ~irpSp~0.base, ~irpSp~0.offset, 28); {96189#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:37:36,299 INFO L290 TraceCheckUtils]: 4: Hoare triple {96189#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {96078#true} is VALID [2022-04-08 08:37:36,300 INFO L290 TraceCheckUtils]: 5: Hoare triple {96078#true} assume #t~loopctr215 % 4294967296 < size % 4294967296;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 4);#t~loopctr215 := 1 + #t~loopctr215; {96078#true} is VALID [2022-04-08 08:37:36,300 INFO L290 TraceCheckUtils]: 6: Hoare triple {96078#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {96078#true} is VALID [2022-04-08 08:37:36,300 INFO L290 TraceCheckUtils]: 7: Hoare triple {96078#true} assume #t~loopctr221 % 4294967296 < size % 4294967296;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 4);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 4);#t~loopctr221 := 4 + #t~loopctr221; {96078#true} is VALID [2022-04-08 08:37:36,300 INFO L290 TraceCheckUtils]: 8: Hoare triple {96078#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {96078#true} is VALID [2022-04-08 08:37:36,300 INFO L290 TraceCheckUtils]: 9: Hoare triple {96078#true} assume #res.base == dest.base && #res.offset == dest.offset; {96078#true} is VALID [2022-04-08 08:37:36,300 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {96078#true} {96078#true} #1186#return; {96078#true} is VALID [2022-04-08 08:37:36,300 INFO L290 TraceCheckUtils]: 11: Hoare triple {96078#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {96078#true} is VALID [2022-04-08 08:37:36,300 INFO L290 TraceCheckUtils]: 12: Hoare triple {96078#true} assume !(~s~0 != ~NP~0); {96078#true} is VALID [2022-04-08 08:37:36,300 INFO L290 TraceCheckUtils]: 13: Hoare triple {96078#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {96078#true} is VALID [2022-04-08 08:37:36,300 INFO L290 TraceCheckUtils]: 14: Hoare triple {96078#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 36;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 28 + ~irpSp___0~0.offset, 4);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 32 + ~irpSp___0~0.offset, 4);call write~int(0, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(64, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call #t~mem106 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem106 % 256, 128), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem106;call #t~mem107 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem107 % 256, 32), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem107;call #t~mem108.base, #t~mem108.offset := read~$Pointer$(~devExt~3.base, 8 + ~devExt~3.offset, 4); {96078#true} is VALID [2022-04-08 08:37:36,301 INFO L272 TraceCheckUtils]: 15: Hoare triple {96078#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {96259#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:37:36,301 INFO L290 TraceCheckUtils]: 16: Hoare triple {96259#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {96078#true} is VALID [2022-04-08 08:37:36,301 INFO L290 TraceCheckUtils]: 17: Hoare triple {96078#true} assume 0 != ~compRegistered~0; {96078#true} is VALID [2022-04-08 08:37:36,302 INFO L272 TraceCheckUtils]: 18: Hoare triple {96078#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {96271#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:37:36,302 INFO L290 TraceCheckUtils]: 19: Hoare triple {96271#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {96078#true} is VALID [2022-04-08 08:37:36,302 INFO L272 TraceCheckUtils]: 20: Hoare triple {96078#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {96271#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:37:36,302 INFO L290 TraceCheckUtils]: 21: Hoare triple {96271#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {96078#true} is VALID [2022-04-08 08:37:36,302 INFO L290 TraceCheckUtils]: 22: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,302 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {96078#true} {96078#true} #1174#return; {96078#true} is VALID [2022-04-08 08:37:36,302 INFO L290 TraceCheckUtils]: 24: Hoare triple {96078#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {96078#true} is VALID [2022-04-08 08:37:36,302 INFO L290 TraceCheckUtils]: 25: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,302 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {96078#true} {96078#true} #1210#return; {96078#true} is VALID [2022-04-08 08:37:36,303 INFO L290 TraceCheckUtils]: 27: Hoare triple {96078#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {96078#true} is VALID [2022-04-08 08:37:36,303 INFO L290 TraceCheckUtils]: 28: Hoare triple {96078#true} assume -1073741802 == ~compRetStatus~0; {96078#true} is VALID [2022-04-08 08:37:36,303 INFO L272 TraceCheckUtils]: 29: Hoare triple {96078#true} call stubMoreProcessingRequired(); {96275#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:37:36,303 INFO L290 TraceCheckUtils]: 30: Hoare triple {96275#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {96078#true} is VALID [2022-04-08 08:37:36,303 INFO L290 TraceCheckUtils]: 31: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,303 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {96078#true} {96078#true} #1212#return; {96078#true} is VALID [2022-04-08 08:37:36,303 INFO L290 TraceCheckUtils]: 33: Hoare triple {96078#true} assume !(0 == ~__BLAST_NONDET~11); {96078#true} is VALID [2022-04-08 08:37:36,303 INFO L290 TraceCheckUtils]: 34: Hoare triple {96078#true} assume !(1 == ~__BLAST_NONDET~11); {96078#true} is VALID [2022-04-08 08:37:36,303 INFO L290 TraceCheckUtils]: 35: Hoare triple {96078#true} ~returnVal2~0 := 259; {96078#true} is VALID [2022-04-08 08:37:36,303 INFO L290 TraceCheckUtils]: 36: Hoare triple {96078#true} assume !(~s~0 == ~NP~0); {96078#true} is VALID [2022-04-08 08:37:36,303 INFO L290 TraceCheckUtils]: 37: Hoare triple {96078#true} assume ~s~0 == ~MPR1~0; {96078#true} is VALID [2022-04-08 08:37:36,303 INFO L290 TraceCheckUtils]: 38: Hoare triple {96078#true} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := ~returnVal2~0; {96078#true} is VALID [2022-04-08 08:37:36,303 INFO L290 TraceCheckUtils]: 39: Hoare triple {96078#true} #res := ~returnVal2~0; {96078#true} is VALID [2022-04-08 08:37:36,303 INFO L290 TraceCheckUtils]: 40: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,303 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {96078#true} {96078#true} #1192#return; {96078#true} is VALID [2022-04-08 08:37:36,304 INFO L290 TraceCheckUtils]: 42: Hoare triple {96078#true} assume -2147483648 <= #t~ret109 && #t~ret109 <= 2147483647;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {96078#true} is VALID [2022-04-08 08:37:36,304 INFO L290 TraceCheckUtils]: 43: Hoare triple {96078#true} assume 259 == ~status~3; {96078#true} is VALID [2022-04-08 08:37:36,304 INFO L272 TraceCheckUtils]: 44: Hoare triple {96078#true} call #t~ret110 := KeWaitForSingleObject(~#event~1.base, ~#event~1.offset, 0, 0, 0, 0, 0); {96276#(and (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:37:36,304 INFO L290 TraceCheckUtils]: 45: Hoare triple {96276#(and (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~s~0 |old(~s~0)|))} ~Object.base, ~Object.offset := #in~Object.base, #in~Object.offset;~WaitReason := #in~WaitReason;~WaitMode := #in~WaitMode;~Alertable := #in~Alertable;~Timeout.base, ~Timeout.offset := #in~Timeout.base, #in~Timeout.offset;assume -2147483648 <= #t~nondet200 && #t~nondet200 <= 2147483647;~__BLAST_NONDET~13 := #t~nondet200;havoc #t~nondet200; {96078#true} is VALID [2022-04-08 08:37:36,304 INFO L290 TraceCheckUtils]: 46: Hoare triple {96078#true} assume ~s~0 == ~MPR3~0; {96078#true} is VALID [2022-04-08 08:37:36,305 INFO L290 TraceCheckUtils]: 47: Hoare triple {96078#true} assume 1 == ~setEventCalled~0;~s~0 := ~NP~0;~setEventCalled~0 := 0; {96078#true} is VALID [2022-04-08 08:37:36,305 INFO L290 TraceCheckUtils]: 48: Hoare triple {96078#true} assume 0 == ~__BLAST_NONDET~13; {96078#true} is VALID [2022-04-08 08:37:36,305 INFO L290 TraceCheckUtils]: 49: Hoare triple {96078#true} #res := 0; {96078#true} is VALID [2022-04-08 08:37:36,305 INFO L290 TraceCheckUtils]: 50: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,305 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {96078#true} {96078#true} #1194#return; {96078#true} is VALID [2022-04-08 08:37:36,305 INFO L290 TraceCheckUtils]: 52: Hoare triple {96078#true} assume -2147483648 <= #t~ret110 && #t~ret110 <= 2147483647;havoc #t~ret110; {96078#true} is VALID [2022-04-08 08:37:36,305 INFO L290 TraceCheckUtils]: 53: Hoare triple {96078#true} assume ~status~3 >= 0; {96078#true} is VALID [2022-04-08 08:37:36,305 INFO L290 TraceCheckUtils]: 54: Hoare triple {96078#true} assume !(~myStatus~0 >= 0); {96078#true} is VALID [2022-04-08 08:37:36,305 INFO L290 TraceCheckUtils]: 55: Hoare triple {96078#true} call write~int(~status~3, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~3;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4); {96078#true} is VALID [2022-04-08 08:37:36,305 INFO L272 TraceCheckUtils]: 56: Hoare triple {96078#true} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {96275#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:37:36,305 INFO L290 TraceCheckUtils]: 57: Hoare triple {96275#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {96078#true} is VALID [2022-04-08 08:37:36,306 INFO L290 TraceCheckUtils]: 58: Hoare triple {96078#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {96078#true} is VALID [2022-04-08 08:37:36,306 INFO L290 TraceCheckUtils]: 59: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,306 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {96078#true} {96078#true} #1196#return; {96078#true} is VALID [2022-04-08 08:37:36,306 INFO L290 TraceCheckUtils]: 61: Hoare triple {96078#true} #res := ~status~3;call ULTIMATE.dealloc(~#event~1.base, ~#event~1.offset);havoc ~#event~1.base, ~#event~1.offset; {96078#true} is VALID [2022-04-08 08:37:36,306 INFO L290 TraceCheckUtils]: 62: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,306 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {96078#true} {96079#false} #1230#return; {96079#false} is VALID [2022-04-08 08:37:36,307 INFO L272 TraceCheckUtils]: 0: Hoare triple {96078#true} call ULTIMATE.init(); {96187#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 08:37:36,307 INFO L290 TraceCheckUtils]: 1: Hoare triple {96187#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~myStatus~0 |old(~myStatus~0)|) (= ~pirp~0.base |old(~pirp~0.base)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~s~0 |old(~s~0)|) (= ~pirp~0.offset |old(~pirp~0.offset)|) (= |old(~_SLAM_alloc_dummy~0)| ~_SLAM_alloc_dummy~0) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(18, 2);call #Ultimate.allocInit(12, 3);~s~0 := 0;~UNLOADED~0 := 0;~NP~0 := 0;~DC~0 := 0;~SKIP1~0 := 0;~SKIP2~0 := 0;~MPR1~0 := 0;~MPR3~0 := 0;~IPC~0 := 0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0;~myStatus~0 := 0;~pirp~0.base, ~pirp~0.offset := 0, 0;~_SLAM_alloc_dummy~0 := 0; {96078#true} is VALID [2022-04-08 08:37:36,307 INFO L290 TraceCheckUtils]: 2: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,307 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {96078#true} {96078#true} #1270#return; {96078#true} is VALID [2022-04-08 08:37:36,307 INFO L272 TraceCheckUtils]: 4: Hoare triple {96078#true} call #t~ret213 := main(); {96078#true} is VALID [2022-04-08 08:37:36,307 INFO L290 TraceCheckUtils]: 5: Hoare triple {96078#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(168);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(8);havoc ~status~5;assume -2147483648 <= #t~nondet154 && #t~nondet154 <= 2147483647;~we_should_unload~0 := #t~nondet154;havoc #t~nondet154;call ~#irp~0.base, ~#irp~0.offset := #Ultimate.allocOnStack(111);assume -2147483648 <= #t~nondet155 && #t~nondet155 <= 2147483647;~__BLAST_NONDET~0 := #t~nondet155;havoc #t~nondet155;assume -2147483648 <= #t~nondet156 && #t~nondet156 <= 2147483647;~irp_choice~0 := #t~nondet156;havoc #t~nondet156;call ~#devext~0.base, ~#devext~0.offset := #Ultimate.allocOnStack(55);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(175);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 40 + ~#devobj~0.offset, 4);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(20);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 24 + ~#d~0.offset, 4);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(24);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(108);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 36 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 72 + ~#stack~0.offset, 1);havoc #t~nondet159;call write~int(#t~nondet160, ~#stack~0.base, 1 + ~#stack~0.offset, 1);havoc #t~nondet160;call write~int(#t~nondet161, ~#stack~0.base, 37 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 73 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 16 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 52 + ~#stack~0.offset, 4);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 88 + ~#stack~0.offset, 4);call write~int(#t~nondet163, ~#stack~0.base, 8 + ~#stack~0.offset, 4);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 44 + ~#stack~0.offset, 4);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 80 + ~#stack~0.offset, 4);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 12 + ~#stack~0.offset, 4);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 48 + ~#stack~0.offset, 4);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 84 + ~#stack~0.offset, 4);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 36 + ~#stack~0.offset, ~#irp~0.base, 96 + ~#irp~0.offset, 4);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {96078#true} is VALID [2022-04-08 08:37:36,308 INFO L272 TraceCheckUtils]: 6: Hoare triple {96078#true} call _BLAST_init(); {96188#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:37:36,308 INFO L290 TraceCheckUtils]: 7: Hoare triple {96188#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= ~DC~0 |old(~DC~0)|) (= |old(~SKIP1~0)| ~SKIP1~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~MPR3~0 |old(~MPR3~0)|) (= ~MPR1~0 |old(~MPR1~0)|) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |old(~UNLOADED~0)| ~UNLOADED~0) (= ~NP~0 |old(~NP~0)|) (= ~pended~0 |old(~pended~0)|) (= ~IPC~0 |old(~IPC~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~SKIP2~0)| ~SKIP2~0) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~UNLOADED~0 := 0;~NP~0 := 1;~DC~0 := 2;~SKIP1~0 := 3;~SKIP2~0 := 4;~MPR1~0 := 5;~MPR3~0 := 6;~IPC~0 := 7;~s~0 := ~UNLOADED~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {96078#true} is VALID [2022-04-08 08:37:36,308 INFO L290 TraceCheckUtils]: 8: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,308 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {96078#true} {96078#true} #1216#return; {96078#true} is VALID [2022-04-08 08:37:36,309 INFO L272 TraceCheckUtils]: 10: Hoare triple {96078#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {96189#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:37:36,309 INFO L290 TraceCheckUtils]: 11: Hoare triple {96189#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -2147483648 <= #t~nondet20 && #t~nondet20 <= 2147483647;~i~0 := #t~nondet20;havoc #t~nondet20; {96078#true} is VALID [2022-04-08 08:37:36,309 INFO L272 TraceCheckUtils]: 12: Hoare triple {96078#true} call assume_abort_if_not((if ~i~0 % 4294967296 < 28 then 1 else 0)); {96078#true} is VALID [2022-04-08 08:37:36,309 INFO L290 TraceCheckUtils]: 13: Hoare triple {96078#true} ~cond := #in~cond; {96078#true} is VALID [2022-04-08 08:37:36,309 INFO L290 TraceCheckUtils]: 14: Hoare triple {96078#true} assume !(0 == ~cond); {96078#true} is VALID [2022-04-08 08:37:36,309 INFO L290 TraceCheckUtils]: 15: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,309 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {96078#true} {96078#true} #1254#return; {96078#true} is VALID [2022-04-08 08:37:36,309 INFO L290 TraceCheckUtils]: 17: Hoare triple {96078#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 56 + ~DriverObject.offset + 4 * (if ~i~0 % 4294967296 % 4294967296 <= 2147483647 then ~i~0 % 4294967296 % 4294967296 else ~i~0 % 4294967296 % 4294967296 - 4294967296), 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 56 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 64 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 164 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 144 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 116 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 52 + ~DriverObject.offset, 4);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 24 + ~DriverObject.offset, 4);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 4 + #t~mem21.offset, 4);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {96078#true} is VALID [2022-04-08 08:37:36,309 INFO L290 TraceCheckUtils]: 18: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,310 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {96078#true} {96078#true} #1218#return; {96078#true} is VALID [2022-04-08 08:37:36,310 INFO L290 TraceCheckUtils]: 20: Hoare triple {96078#true} assume -2147483648 <= #t~ret169 && #t~ret169 <= 2147483647;~status~5 := #t~ret169;havoc #t~ret169; {96078#true} is VALID [2022-04-08 08:37:36,310 INFO L290 TraceCheckUtils]: 21: Hoare triple {96078#true} assume ~status~5 >= 0;~s~0 := ~NP~0;~customIrp~0 := 0;~setEventCalled~0 := ~customIrp~0;~lowerDriverReturn~0 := ~setEventCalled~0;~compRegistered~0 := ~lowerDriverReturn~0;~compFptr~0.base, ~compFptr~0.offset := 0, ~compRegistered~0;~pended~0 := ~compFptr~0.base + ~compFptr~0.offset;call write~int(0, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := 0; {96078#true} is VALID [2022-04-08 08:37:36,310 INFO L290 TraceCheckUtils]: 22: Hoare triple {96078#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 24 + ~pirp~0.offset, 4);~myStatus~0 := -1073741637; {96078#true} is VALID [2022-04-08 08:37:36,310 INFO L272 TraceCheckUtils]: 23: Hoare triple {96078#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {96194#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:37:36,310 INFO L290 TraceCheckUtils]: 24: Hoare triple {96194#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~Driver.base, ~Driver.offset := #in~Driver.base, #in~Driver.offset;~PDO.base, ~PDO.offset := #in~PDO.base, #in~PDO.offset;havoc ~devExt~0.base, ~devExt~0.offset;call ~#device~0.base, ~#device~0.offset := #Ultimate.allocOnStack(4);havoc ~status~0;~status~0 := 0; {96078#true} is VALID [2022-04-08 08:37:36,312 INFO L272 TraceCheckUtils]: 25: Hoare triple {96078#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 55, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {96194#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} is VALID [2022-04-08 08:37:36,312 INFO L290 TraceCheckUtils]: 26: Hoare triple {96194#(and (= |old(#length)| |#length|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(#valid)| |#valid|))} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~DeviceExtensionSize := #in~DeviceExtensionSize;~DeviceName.base, ~DeviceName.offset := #in~DeviceName.base, #in~DeviceName.offset;~DeviceType := #in~DeviceType;~DeviceCharacteristics := #in~DeviceCharacteristics;~Exclusive := #in~Exclusive;~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;assume -2147483648 <= #t~nondet185 && #t~nondet185 <= 2147483647;~__BLAST_NONDET~5 := #t~nondet185;havoc #t~nondet185;havoc ~tmp~8.base, ~tmp~8.offset; {96078#true} is VALID [2022-04-08 08:37:36,312 INFO L290 TraceCheckUtils]: 27: Hoare triple {96078#true} assume 0 == ~__BLAST_NONDET~5; {96078#true} is VALID [2022-04-08 08:37:36,312 INFO L290 TraceCheckUtils]: 28: Hoare triple {96078#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(175);~tmp~8.base, ~tmp~8.offset := #t~malloc186.base, #t~malloc186.offset;havoc #t~malloc186.base, #t~malloc186.offset;call write~$Pointer$(~tmp~8.base, ~tmp~8.offset, ~DeviceObject.base, ~DeviceObject.offset, 4);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 4);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 40 + #t~mem187.offset, 4);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {96078#true} is VALID [2022-04-08 08:37:36,312 INFO L290 TraceCheckUtils]: 29: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,312 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {96078#true} {96078#true} #1176#return; {96078#true} is VALID [2022-04-08 08:37:36,312 INFO L290 TraceCheckUtils]: 31: Hoare triple {96078#true} assume -2147483648 <= #t~ret22 && #t~ret22 <= 2147483647;~status~0 := #t~ret22;havoc #t~ret22; {96078#true} is VALID [2022-04-08 08:37:36,312 INFO L290 TraceCheckUtils]: 32: Hoare triple {96078#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 40 + #t~mem23.offset, 4); {96078#true} is VALID [2022-04-08 08:37:36,312 INFO L272 TraceCheckUtils]: 33: Hoare triple {96078#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 55); {96189#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:37:36,313 INFO L290 TraceCheckUtils]: 34: Hoare triple {96189#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {96210#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 08:37:36,314 INFO L290 TraceCheckUtils]: 35: Hoare triple {96210#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume #t~loopctr214 % 4294967296 < #amount % 4294967296;#memory_int := #memory_int[#ptr.base,#ptr.offset + #t~loopctr214 := #value];#memory_$Pointer$.base, #memory_$Pointer$.offset := #memory_$Pointer$.base[#ptr.base,#ptr.offset + #t~loopctr214 := 0], #memory_$Pointer$.offset[#ptr.base,#ptr.offset + #t~loopctr214 := #value % 256];#t~loopctr214 := 1 + #t~loopctr214; {96211#(and (or (<= (+ (* (div |#Ultimate.C_memset_#amount| 4294967296) 4294967296) 1) |#Ultimate.C_memset_#amount|) (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (or (not (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 4294967296) 1) 0)))} is VALID [2022-04-08 08:37:36,315 INFO L290 TraceCheckUtils]: 36: Hoare triple {96211#(and (or (<= (+ (* (div |#Ultimate.C_memset_#amount| 4294967296) 4294967296) 1) |#Ultimate.C_memset_#amount|) (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (or (not (<= (div |#Ultimate.C_memset_#amount| 4294967296) (div |#Ultimate.C_memset_#t~loopctr214| 4294967296))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 4294967296) 1) 0)))} assume !(#t~loopctr214 % 4294967296 < #amount % 4294967296); {96212#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 08:37:36,315 INFO L290 TraceCheckUtils]: 37: Hoare triple {96212#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {96212#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 08:37:36,316 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {96212#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 4294967297 |#Ultimate.C_memset_#amount|))} {96078#true} #1178#return; {96079#false} is VALID [2022-04-08 08:37:36,316 INFO L290 TraceCheckUtils]: 39: Hoare triple {96079#false} havoc #t~mem23.base, #t~mem23.offset;havoc #t~mem24.base, #t~mem24.offset;havoc #t~memset~res25.base, #t~memset~res25.offset;call #t~mem26.base, #t~mem26.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 40 + #t~mem26.offset, 4);~devExt~0.base, ~devExt~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem26.base, #t~mem26.offset;havoc #t~mem27.base, #t~mem27.offset;call #t~mem28.base, #t~mem28.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4); {96079#false} is VALID [2022-04-08 08:37:36,316 INFO L272 TraceCheckUtils]: 40: Hoare triple {96079#false} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {96078#true} is VALID [2022-04-08 08:37:36,316 INFO L290 TraceCheckUtils]: 41: Hoare triple {96078#true} ~SourceDevice.base, ~SourceDevice.offset := #in~SourceDevice.base, #in~SourceDevice.offset;~TargetDevice.base, ~TargetDevice.offset := #in~TargetDevice.base, #in~TargetDevice.offset;assume -2147483648 <= #t~nondet180 && #t~nondet180 <= 2147483647;~__BLAST_NONDET~2 := #t~nondet180;havoc #t~nondet180; {96078#true} is VALID [2022-04-08 08:37:36,316 INFO L290 TraceCheckUtils]: 42: Hoare triple {96078#true} assume 0 == ~__BLAST_NONDET~2; {96078#true} is VALID [2022-04-08 08:37:36,316 INFO L290 TraceCheckUtils]: 43: Hoare triple {96078#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {96078#true} is VALID [2022-04-08 08:37:36,316 INFO L290 TraceCheckUtils]: 44: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,316 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {96078#true} {96079#false} #1180#return; {96079#false} is VALID [2022-04-08 08:37:36,316 INFO L290 TraceCheckUtils]: 46: Hoare triple {96079#false} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 4);havoc #t~mem28.base, #t~mem28.offset;havoc #t~ret29.base, #t~ret29.offset;call #t~mem30.base, #t~mem30.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 4);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 4 + ~devExt~0.offset, 4);call write~int(1, ~devExt~0.base, 48 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 53 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 54 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 52 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem32 := read~int(#t~mem31.base, 28 + #t~mem31.offset, 4);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 28 + #t~mem31.offset, 4);havoc #t~mem31.base, #t~mem31.offset;havoc #t~mem32;call #t~mem33.base, #t~mem33.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 4);call #t~mem34 := read~int(#t~mem33.base, 28 + #t~mem33.offset, 4);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 28 + #t~mem33.offset, 4);havoc #t~mem33.base, #t~mem33.offset;havoc #t~mem34;#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {96079#false} is VALID [2022-04-08 08:37:36,316 INFO L290 TraceCheckUtils]: 47: Hoare triple {96079#false} assume true; {96079#false} is VALID [2022-04-08 08:37:36,316 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {96079#false} {96078#true} #1220#return; {96079#false} is VALID [2022-04-08 08:37:36,316 INFO L290 TraceCheckUtils]: 49: Hoare triple {96079#false} assume -2147483648 <= #t~ret170 && #t~ret170 <= 2147483647;~status~5 := #t~ret170;havoc #t~ret170; {96079#false} is VALID [2022-04-08 08:37:36,316 INFO L272 TraceCheckUtils]: 50: Hoare triple {96079#false} call stub_driver_init(); {96213#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:37:36,316 INFO L290 TraceCheckUtils]: 51: Hoare triple {96213#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~pended~0 |old(~pended~0)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~s~0 := ~NP~0;~pended~0 := 0;~compFptr~0.base, ~compFptr~0.offset := 0, 0;~compRegistered~0 := 0;~lowerDriverReturn~0 := 0;~setEventCalled~0 := 0;~customIrp~0 := 0; {96078#true} is VALID [2022-04-08 08:37:36,316 INFO L290 TraceCheckUtils]: 52: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,316 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {96078#true} {96079#false} #1222#return; {96079#false} is VALID [2022-04-08 08:37:36,316 INFO L290 TraceCheckUtils]: 54: Hoare triple {96079#false} assume !!(~status~5 >= 0); {96079#false} is VALID [2022-04-08 08:37:36,317 INFO L290 TraceCheckUtils]: 55: Hoare triple {96079#false} assume !(0 == ~__BLAST_NONDET~0); {96079#false} is VALID [2022-04-08 08:37:36,317 INFO L290 TraceCheckUtils]: 56: Hoare triple {96079#false} assume !(1 == ~__BLAST_NONDET~0); {96079#false} is VALID [2022-04-08 08:37:36,317 INFO L290 TraceCheckUtils]: 57: Hoare triple {96079#false} assume !(2 == ~__BLAST_NONDET~0); {96079#false} is VALID [2022-04-08 08:37:36,317 INFO L290 TraceCheckUtils]: 58: Hoare triple {96079#false} assume 3 == ~__BLAST_NONDET~0; {96079#false} is VALID [2022-04-08 08:37:36,317 INFO L272 TraceCheckUtils]: 59: Hoare triple {96079#false} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {96214#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(#length)| |#length|) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:37:36,317 INFO L290 TraceCheckUtils]: 60: Hoare triple {96214#(and (= |old(~compRegistered~0)| ~compRegistered~0) (= |old(#length)| |#length|) (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= ~myStatus~0 |old(~myStatus~0)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|) (= |old(~compFptr~0.base)| ~compFptr~0.base) (= |old(~compFptr~0.offset)| ~compFptr~0.offset) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= |old(#valid)| |#valid|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;havoc ~devExt~3.base, ~devExt~3.offset;havoc ~irpStack~3.base, ~irpStack~3.offset;havoc ~status~3;call ~#event~1.base, ~#event~1.offset := #Ultimate.allocOnStack(16);havoc ~irpSp~0.base, ~irpSp~0.offset;havoc ~nextIrpSp~0.base, ~nextIrpSp~0.offset;havoc ~irpSp___0~0.base, ~irpSp___0~0.offset;~status~3 := 0;call #t~mem79.base, #t~mem79.offset := read~$Pointer$(~DeviceObject.base, 40 + ~DeviceObject.offset, 4);~devExt~3.base, ~devExt~3.offset := #t~mem79.base, #t~mem79.offset;havoc #t~mem79.base, #t~mem79.offset;call #t~mem80.base, #t~mem80.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpStack~3.base, ~irpStack~3.offset := #t~mem80.base, #t~mem80.offset;havoc #t~mem80.base, #t~mem80.offset;call #t~mem81 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {96078#true} is VALID [2022-04-08 08:37:36,317 INFO L290 TraceCheckUtils]: 61: Hoare triple {96078#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {96078#true} is VALID [2022-04-08 08:37:36,317 INFO L290 TraceCheckUtils]: 62: Hoare triple {96078#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp~0.base, ~irpSp~0.offset := #t~mem102.base, #t~mem102.offset;havoc #t~mem102.base, #t~mem102.offset;call #t~mem103.base, #t~mem103.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 36;havoc #t~mem103.base, #t~mem103.offset; {96078#true} is VALID [2022-04-08 08:37:36,318 INFO L272 TraceCheckUtils]: 63: Hoare triple {96078#true} call #t~memmove~res104.base, #t~memmove~res104.offset := #Ultimate.C_memmove(~nextIrpSp~0.base, ~nextIrpSp~0.offset, ~irpSp~0.base, ~irpSp~0.offset, 28); {96189#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} is VALID [2022-04-08 08:37:36,318 INFO L290 TraceCheckUtils]: 64: Hoare triple {96189#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {96078#true} is VALID [2022-04-08 08:37:36,318 INFO L290 TraceCheckUtils]: 65: Hoare triple {96078#true} assume #t~loopctr215 % 4294967296 < size % 4294967296;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 4);#t~loopctr215 := 1 + #t~loopctr215; {96078#true} is VALID [2022-04-08 08:37:36,318 INFO L290 TraceCheckUtils]: 66: Hoare triple {96078#true} assume !(#t~loopctr215 % 4294967296 < size % 4294967296);#t~loopctr221 := 0; {96078#true} is VALID [2022-04-08 08:37:36,318 INFO L290 TraceCheckUtils]: 67: Hoare triple {96078#true} assume #t~loopctr221 % 4294967296 < size % 4294967296;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 4);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 4);#t~loopctr221 := 4 + #t~loopctr221; {96078#true} is VALID [2022-04-08 08:37:36,318 INFO L290 TraceCheckUtils]: 68: Hoare triple {96078#true} assume !(#t~loopctr221 % 4294967296 < size % 4294967296); {96078#true} is VALID [2022-04-08 08:37:36,318 INFO L290 TraceCheckUtils]: 69: Hoare triple {96078#true} assume #res.base == dest.base && #res.offset == dest.offset; {96078#true} is VALID [2022-04-08 08:37:36,318 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {96078#true} {96078#true} #1186#return; {96078#true} is VALID [2022-04-08 08:37:36,318 INFO L290 TraceCheckUtils]: 71: Hoare triple {96078#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {96078#true} is VALID [2022-04-08 08:37:36,318 INFO L290 TraceCheckUtils]: 72: Hoare triple {96078#true} assume !(~s~0 != ~NP~0); {96078#true} is VALID [2022-04-08 08:37:36,318 INFO L290 TraceCheckUtils]: 73: Hoare triple {96078#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {96078#true} is VALID [2022-04-08 08:37:36,318 INFO L290 TraceCheckUtils]: 74: Hoare triple {96078#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 96 + ~Irp.offset, 4);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 36;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 28 + ~irpSp___0~0.offset, 4);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 32 + ~irpSp___0~0.offset, 4);call write~int(0, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(64, ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call #t~mem106 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem106 % 256, 128), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem106;call #t~mem107 := read~int(~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);call write~int(~bitwiseOr(#t~mem107 % 256, 32), ~irpSp___0~0.base, 3 + ~irpSp___0~0.offset, 1);havoc #t~mem107;call #t~mem108.base, #t~mem108.offset := read~$Pointer$(~devExt~3.base, 8 + ~devExt~3.offset, 4); {96078#true} is VALID [2022-04-08 08:37:36,319 INFO L272 TraceCheckUtils]: 75: Hoare triple {96078#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {96259#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:37:36,319 INFO L290 TraceCheckUtils]: 76: Hoare triple {96259#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;assume -2147483648 <= #t~nondet195 && #t~nondet195 <= 2147483647;~__BLAST_NONDET~11 := #t~nondet195;havoc #t~nondet195;havoc ~returnVal2~0;havoc ~compRetStatus~0;~lcontext~0.base, ~lcontext~0.offset := 0, 0;havoc ~tmp~10; {96078#true} is VALID [2022-04-08 08:37:36,319 INFO L290 TraceCheckUtils]: 77: Hoare triple {96078#true} assume 0 != ~compRegistered~0; {96078#true} is VALID [2022-04-08 08:37:36,327 INFO L272 TraceCheckUtils]: 78: Hoare triple {96078#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {96271#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:37:36,327 INFO L290 TraceCheckUtils]: 79: Hoare triple {96271#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~DeviceObject.base, ~DeviceObject.offset := #in~DeviceObject.base, #in~DeviceObject.offset;~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~Context.base, ~Context.offset := #in~Context.base, #in~Context.offset;havoc ~event~0.base, ~event~0.offset;~event~0.base, ~event~0.offset := ~Context.base, ~Context.offset; {96078#true} is VALID [2022-04-08 08:37:36,327 INFO L272 TraceCheckUtils]: 80: Hoare triple {96078#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {96271#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 08:37:36,327 INFO L290 TraceCheckUtils]: 81: Hoare triple {96271#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -2147483648 <= #t~nondet199 && #t~nondet199 <= 2147483647;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {96078#true} is VALID [2022-04-08 08:37:36,327 INFO L290 TraceCheckUtils]: 82: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,327 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {96078#true} {96078#true} #1174#return; {96078#true} is VALID [2022-04-08 08:37:36,327 INFO L290 TraceCheckUtils]: 84: Hoare triple {96078#true} assume -2147483648 <= #t~ret35 && #t~ret35 <= 2147483647;havoc #t~ret35;#res := -1073741802; {96078#true} is VALID [2022-04-08 08:37:36,328 INFO L290 TraceCheckUtils]: 85: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,328 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {96078#true} {96078#true} #1210#return; {96078#true} is VALID [2022-04-08 08:37:36,328 INFO L290 TraceCheckUtils]: 87: Hoare triple {96078#true} assume -2147483648 <= #t~ret196 && #t~ret196 <= 2147483647;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := ~tmp~10; {96078#true} is VALID [2022-04-08 08:37:36,328 INFO L290 TraceCheckUtils]: 88: Hoare triple {96078#true} assume -1073741802 == ~compRetStatus~0; {96078#true} is VALID [2022-04-08 08:37:36,328 INFO L272 TraceCheckUtils]: 89: Hoare triple {96078#true} call stubMoreProcessingRequired(); {96275#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:37:36,328 INFO L290 TraceCheckUtils]: 90: Hoare triple {96275#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {96078#true} is VALID [2022-04-08 08:37:36,328 INFO L290 TraceCheckUtils]: 91: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,328 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {96078#true} {96078#true} #1212#return; {96078#true} is VALID [2022-04-08 08:37:36,328 INFO L290 TraceCheckUtils]: 93: Hoare triple {96078#true} assume !(0 == ~__BLAST_NONDET~11); {96078#true} is VALID [2022-04-08 08:37:36,328 INFO L290 TraceCheckUtils]: 94: Hoare triple {96078#true} assume !(1 == ~__BLAST_NONDET~11); {96078#true} is VALID [2022-04-08 08:37:36,328 INFO L290 TraceCheckUtils]: 95: Hoare triple {96078#true} ~returnVal2~0 := 259; {96078#true} is VALID [2022-04-08 08:37:36,328 INFO L290 TraceCheckUtils]: 96: Hoare triple {96078#true} assume !(~s~0 == ~NP~0); {96078#true} is VALID [2022-04-08 08:37:36,328 INFO L290 TraceCheckUtils]: 97: Hoare triple {96078#true} assume ~s~0 == ~MPR1~0; {96078#true} is VALID [2022-04-08 08:37:36,328 INFO L290 TraceCheckUtils]: 98: Hoare triple {96078#true} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := ~returnVal2~0; {96078#true} is VALID [2022-04-08 08:37:36,328 INFO L290 TraceCheckUtils]: 99: Hoare triple {96078#true} #res := ~returnVal2~0; {96078#true} is VALID [2022-04-08 08:37:36,328 INFO L290 TraceCheckUtils]: 100: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,329 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {96078#true} {96078#true} #1192#return; {96078#true} is VALID [2022-04-08 08:37:36,329 INFO L290 TraceCheckUtils]: 102: Hoare triple {96078#true} assume -2147483648 <= #t~ret109 && #t~ret109 <= 2147483647;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {96078#true} is VALID [2022-04-08 08:37:36,329 INFO L290 TraceCheckUtils]: 103: Hoare triple {96078#true} assume 259 == ~status~3; {96078#true} is VALID [2022-04-08 08:37:36,329 INFO L272 TraceCheckUtils]: 104: Hoare triple {96078#true} call #t~ret110 := KeWaitForSingleObject(~#event~1.base, ~#event~1.offset, 0, 0, 0, 0, 0); {96276#(and (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 08:37:36,329 INFO L290 TraceCheckUtils]: 105: Hoare triple {96276#(and (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~s~0 |old(~s~0)|))} ~Object.base, ~Object.offset := #in~Object.base, #in~Object.offset;~WaitReason := #in~WaitReason;~WaitMode := #in~WaitMode;~Alertable := #in~Alertable;~Timeout.base, ~Timeout.offset := #in~Timeout.base, #in~Timeout.offset;assume -2147483648 <= #t~nondet200 && #t~nondet200 <= 2147483647;~__BLAST_NONDET~13 := #t~nondet200;havoc #t~nondet200; {96078#true} is VALID [2022-04-08 08:37:36,329 INFO L290 TraceCheckUtils]: 106: Hoare triple {96078#true} assume ~s~0 == ~MPR3~0; {96078#true} is VALID [2022-04-08 08:37:36,330 INFO L290 TraceCheckUtils]: 107: Hoare triple {96078#true} assume 1 == ~setEventCalled~0;~s~0 := ~NP~0;~setEventCalled~0 := 0; {96078#true} is VALID [2022-04-08 08:37:36,330 INFO L290 TraceCheckUtils]: 108: Hoare triple {96078#true} assume 0 == ~__BLAST_NONDET~13; {96078#true} is VALID [2022-04-08 08:37:36,330 INFO L290 TraceCheckUtils]: 109: Hoare triple {96078#true} #res := 0; {96078#true} is VALID [2022-04-08 08:37:36,330 INFO L290 TraceCheckUtils]: 110: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,330 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {96078#true} {96078#true} #1194#return; {96078#true} is VALID [2022-04-08 08:37:36,330 INFO L290 TraceCheckUtils]: 112: Hoare triple {96078#true} assume -2147483648 <= #t~ret110 && #t~ret110 <= 2147483647;havoc #t~ret110; {96078#true} is VALID [2022-04-08 08:37:36,330 INFO L290 TraceCheckUtils]: 113: Hoare triple {96078#true} assume ~status~3 >= 0; {96078#true} is VALID [2022-04-08 08:37:36,330 INFO L290 TraceCheckUtils]: 114: Hoare triple {96078#true} assume !(~myStatus~0 >= 0); {96078#true} is VALID [2022-04-08 08:37:36,330 INFO L290 TraceCheckUtils]: 115: Hoare triple {96078#true} call write~int(~status~3, ~Irp.base, 24 + ~Irp.offset, 4);~myStatus~0 := ~status~3;call write~int(0, ~Irp.base, 28 + ~Irp.offset, 4); {96078#true} is VALID [2022-04-08 08:37:36,330 INFO L272 TraceCheckUtils]: 116: Hoare triple {96078#true} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {96275#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 08:37:36,330 INFO L290 TraceCheckUtils]: 117: Hoare triple {96275#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {96078#true} is VALID [2022-04-08 08:37:36,331 INFO L290 TraceCheckUtils]: 118: Hoare triple {96078#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {96078#true} is VALID [2022-04-08 08:37:36,331 INFO L290 TraceCheckUtils]: 119: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,331 INFO L284 TraceCheckUtils]: 120: Hoare quadruple {96078#true} {96078#true} #1196#return; {96078#true} is VALID [2022-04-08 08:37:36,331 INFO L290 TraceCheckUtils]: 121: Hoare triple {96078#true} #res := ~status~3;call ULTIMATE.dealloc(~#event~1.base, ~#event~1.offset);havoc ~#event~1.base, ~#event~1.offset; {96078#true} is VALID [2022-04-08 08:37:36,331 INFO L290 TraceCheckUtils]: 122: Hoare triple {96078#true} assume true; {96078#true} is VALID [2022-04-08 08:37:36,331 INFO L284 TraceCheckUtils]: 123: Hoare quadruple {96078#true} {96079#false} #1230#return; {96079#false} is VALID [2022-04-08 08:37:36,331 INFO L290 TraceCheckUtils]: 124: Hoare triple {96079#false} assume -2147483648 <= #t~ret174 && #t~ret174 <= 2147483647;~status~5 := #t~ret174;havoc #t~ret174; {96079#false} is VALID [2022-04-08 08:37:36,331 INFO L290 TraceCheckUtils]: 125: Hoare triple {96079#false} assume 0 != ~we_should_unload~0; {96079#false} is VALID [2022-04-08 08:37:36,331 INFO L290 TraceCheckUtils]: 126: Hoare triple {96079#false} assume !(1 == ~pended~0); {96079#false} is VALID [2022-04-08 08:37:36,331 INFO L290 TraceCheckUtils]: 127: Hoare triple {96079#false} assume !(1 == ~pended~0); {96079#false} is VALID [2022-04-08 08:37:36,331 INFO L290 TraceCheckUtils]: 128: Hoare triple {96079#false} assume !(~s~0 == ~UNLOADED~0); {96079#false} is VALID [2022-04-08 08:37:36,331 INFO L290 TraceCheckUtils]: 129: Hoare triple {96079#false} assume !(-1 == ~status~5); {96079#false} is VALID [2022-04-08 08:37:36,331 INFO L290 TraceCheckUtils]: 130: Hoare triple {96079#false} assume ~s~0 != ~SKIP2~0; {96079#false} is VALID [2022-04-08 08:37:36,331 INFO L290 TraceCheckUtils]: 131: Hoare triple {96079#false} assume ~s~0 != ~IPC~0; {96079#false} is VALID [2022-04-08 08:37:36,331 INFO L290 TraceCheckUtils]: 132: Hoare triple {96079#false} assume !(~s~0 != ~DC~0); {96079#false} is VALID [2022-04-08 08:37:36,331 INFO L290 TraceCheckUtils]: 133: Hoare triple {96079#false} assume !(1 == ~pended~0); {96079#false} is VALID [2022-04-08 08:37:36,331 INFO L290 TraceCheckUtils]: 134: Hoare triple {96079#false} assume ~s~0 == ~DC~0; {96079#false} is VALID [2022-04-08 08:37:36,331 INFO L290 TraceCheckUtils]: 135: Hoare triple {96079#false} assume 259 == ~status~5; {96079#false} is VALID [2022-04-08 08:37:36,331 INFO L272 TraceCheckUtils]: 136: Hoare triple {96079#false} call errorFn(); {96079#false} is VALID [2022-04-08 08:37:36,331 INFO L290 TraceCheckUtils]: 137: Hoare triple {96079#false} assume !false; {96079#false} is VALID [2022-04-08 08:37:36,332 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2022-04-08 08:37:36,332 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 08:37:36,332 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [870463692] [2022-04-08 08:37:36,332 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [870463692] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 08:37:36,332 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1814106455] [2022-04-08 08:37:36,332 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 08:37:36,332 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 08:37:36,332 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 08:37:36,333 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 08:37:36,334 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process