/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/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/ntdrivers/kbfiltr.i.cil-2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 15:06:38,714 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 15:06:38,715 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 15:06:38,745 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 15:06:38,745 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 15:06:38,746 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 15:06:38,746 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 15:06:38,747 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 15:06:38,748 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 15:06:38,749 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 15:06:38,750 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 15:06:38,750 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 15:06:38,751 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 15:06:38,751 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 15:06:38,752 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 15:06:38,753 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 15:06:38,753 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 15:06:38,754 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 15:06:38,755 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 15:06:38,763 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 15:06:38,769 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 15:06:38,770 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 15:06:38,771 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 15:06:38,772 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 15:06:38,772 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 15:06:38,774 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 15:06:38,774 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 15:06:38,774 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 15:06:38,775 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 15:06:38,775 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 15:06:38,776 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 15:06:38,776 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 15:06:38,776 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 15:06:38,777 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 15:06:38,777 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 15:06:38,778 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 15:06:38,778 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 15:06:38,778 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 15:06:38,779 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 15:06:38,779 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 15:06:38,779 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 15:06:38,780 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 15:06:38,780 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-08 15:06:38,788 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 15:06:38,788 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 15:06:38,789 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 15:06:38,789 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 15:06:38,789 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 15:06:38,789 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 15:06:38,790 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 15:06:38,790 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 15:06:38,790 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 15:06:38,790 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 15:06:38,790 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 15:06:38,790 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 15:06:38,790 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 15:06:38,790 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 15:06:38,790 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 15:06:38,791 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 15:06:38,791 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 15:06:38,791 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 15:06:38,791 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 15:06:38,791 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 15:06:38,791 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 15:06:38,791 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-08 15:06:38,791 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 15:06:38,954 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 15:06:38,985 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 15:06:38,987 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 15:06:38,988 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 15:06:38,988 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 15:06:38,991 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 15:06:39,044 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/617dffed2/6f0d460478344776931397dbb03cdfad/FLAG7aa1acbed [2022-04-08 15:06:39,495 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 15:06:39,495 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/ntdrivers/kbfiltr.i.cil-2.c [2022-04-08 15:06:39,520 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/617dffed2/6f0d460478344776931397dbb03cdfad/FLAG7aa1acbed [2022-04-08 15:06:40,016 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/617dffed2/6f0d460478344776931397dbb03cdfad [2022-04-08 15:06:40,018 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 15:06:40,019 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 15:06:40,021 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 15:06:40,021 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 15:06:40,023 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 15:06:40,024 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 03:06:40" (1/1) ... [2022-04-08 15:06:40,025 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@729854a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 03:06:40, skipping insertion in model container [2022-04-08 15:06:40,025 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 03:06:40" (1/1) ... [2022-04-08 15:06:40,031 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 15:06:40,077 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 15:06:40,415 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 15:06:40,586 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 15:06:40,598 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 15:06:40,633 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 15:06:40,723 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 15:06:40,749 INFO L208 MainTranslator]: Completed translation [2022-04-08 15:06:40,749 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 03:06:40 WrapperNode [2022-04-08 15:06:40,749 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 15:06:40,750 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 15:06:40,750 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 15:06:40,750 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 15:06:40,758 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 03:06:40" (1/1) ... [2022-04-08 15:06:40,758 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 03:06:40" (1/1) ... [2022-04-08 15:06:40,793 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 03:06:40" (1/1) ... [2022-04-08 15:06:40,793 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 03:06:40" (1/1) ... [2022-04-08 15:06:40,867 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 03:06:40" (1/1) ... [2022-04-08 15:06:40,873 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 03:06:40" (1/1) ... [2022-04-08 15:06:40,880 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 03:06:40" (1/1) ... [2022-04-08 15:06:40,903 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 15:06:40,904 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 15:06:40,904 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 15:06:40,904 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 15:06:40,905 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 03:06:40" (1/1) ... [2022-04-08 15:06:40,917 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 15:06:40,926 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 15:06:40,935 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 15:06:40,936 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 15:06:40,962 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 15:06:40,962 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 15:06:40,962 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 15:06:40,962 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 15:06:40,963 INFO L138 BoogieDeclarations]: Found implementation of procedure ##fun~~PVOID~0~X~~PVOID~0~X~~PVOID~0~X~~PVOID~0~TO~VOID [2022-04-08 15:06:40,963 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 15:06:40,963 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 15:06:40,963 INFO L138 BoogieDeclarations]: Found implementation of procedure InterlockedIncrement [2022-04-08 15:06:40,963 INFO L138 BoogieDeclarations]: Found implementation of procedure InterlockedDecrement [2022-04-08 15:06:40,964 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_IoCtl [2022-04-08 15:06:40,964 INFO L138 BoogieDeclarations]: Found implementation of procedure errorFn [2022-04-08 15:06:40,964 INFO L138 BoogieDeclarations]: Found implementation of procedure _BLAST_init [2022-04-08 15:06:40,965 INFO L138 BoogieDeclarations]: Found implementation of procedure DriverEntry [2022-04-08 15:06:40,965 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_AddDevice [2022-04-08 15:06:40,965 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_Complete [2022-04-08 15:06:40,967 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_CreateClose [2022-04-08 15:06:40,967 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_DispatchPassThrough [2022-04-08 15:06:40,967 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_InternIoCtl [2022-04-08 15:06:40,967 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_PnP [2022-04-08 15:06:40,967 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_Power [2022-04-08 15:06:40,967 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_InitializationRoutine [2022-04-08 15:06:40,967 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_IsrHook [2022-04-08 15:06:40,967 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_ServiceCallback [2022-04-08 15:06:40,967 INFO L138 BoogieDeclarations]: Found implementation of procedure KbFilter_Unload [2022-04-08 15:06:40,967 INFO L138 BoogieDeclarations]: Found implementation of procedure stub_driver_init [2022-04-08 15:06:40,968 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 15:06:40,968 INFO L138 BoogieDeclarations]: Found implementation of procedure ExAcquireFastMutex [2022-04-08 15:06:40,968 INFO L138 BoogieDeclarations]: Found implementation of procedure ExReleaseFastMutex [2022-04-08 15:06:40,968 INFO L138 BoogieDeclarations]: Found implementation of procedure ExAllocatePoolWithTag [2022-04-08 15:06:40,968 INFO L138 BoogieDeclarations]: Found implementation of procedure ExFreePool [2022-04-08 15:06:40,968 INFO L138 BoogieDeclarations]: Found implementation of procedure ExfInterlockedInsertHeadList [2022-04-08 15:06:40,968 INFO L138 BoogieDeclarations]: Found implementation of procedure ExfInterlockedInsertTailList [2022-04-08 15:06:40,968 INFO L138 BoogieDeclarations]: Found implementation of procedure ExfInterlockedRemoveHeadList [2022-04-08 15:06:40,968 INFO L138 BoogieDeclarations]: Found implementation of procedure IoAllocateMdl [2022-04-08 15:06:40,968 INFO L138 BoogieDeclarations]: Found implementation of procedure IoAttachDeviceToDeviceStack [2022-04-08 15:06:40,968 INFO L138 BoogieDeclarations]: Found implementation of procedure IoBuildAsynchronousFsdRequest [2022-04-08 15:06:40,968 INFO L138 BoogieDeclarations]: Found implementation of procedure IoBuildDeviceIoControlRequest [2022-04-08 15:06:40,968 INFO L138 BoogieDeclarations]: Found implementation of procedure IoCreateDevice [2022-04-08 15:06:40,968 INFO L138 BoogieDeclarations]: Found implementation of procedure IoCreateSymbolicLink [2022-04-08 15:06:40,968 INFO L138 BoogieDeclarations]: Found implementation of procedure IoDeleteDevice [2022-04-08 15:06:40,969 INFO L138 BoogieDeclarations]: Found implementation of procedure IoDeleteSymbolicLink [2022-04-08 15:06:40,969 INFO L138 BoogieDeclarations]: Found implementation of procedure IoDetachDevice [2022-04-08 15:06:40,969 INFO L138 BoogieDeclarations]: Found implementation of procedure IoFreeIrp [2022-04-08 15:06:40,969 INFO L138 BoogieDeclarations]: Found implementation of procedure IoFreeMdl [2022-04-08 15:06:40,969 INFO L138 BoogieDeclarations]: Found implementation of procedure IoGetConfigurationInformation [2022-04-08 15:06:40,969 INFO L138 BoogieDeclarations]: Found implementation of procedure IoQueryDeviceDescription [2022-04-08 15:06:40,969 INFO L138 BoogieDeclarations]: Found implementation of procedure IoRegisterDeviceInterface [2022-04-08 15:06:40,969 INFO L138 BoogieDeclarations]: Found implementation of procedure IoReleaseCancelSpinLock [2022-04-08 15:06:40,969 INFO L138 BoogieDeclarations]: Found implementation of procedure IoSetDeviceInterfaceState [2022-04-08 15:06:40,969 INFO L138 BoogieDeclarations]: Found implementation of procedure IoSetHardErrorOrVerifyDevice [2022-04-08 15:06:40,969 INFO L138 BoogieDeclarations]: Found implementation of procedure stubMoreProcessingRequired [2022-04-08 15:06:40,970 INFO L138 BoogieDeclarations]: Found implementation of procedure IofCallDriver [2022-04-08 15:06:40,970 INFO L138 BoogieDeclarations]: Found implementation of procedure IofCompleteRequest [2022-04-08 15:06:40,970 INFO L138 BoogieDeclarations]: Found implementation of procedure KeAcquireSpinLockRaiseToDpc [2022-04-08 15:06:40,970 INFO L138 BoogieDeclarations]: Found implementation of procedure KeDelayExecutionThread [2022-04-08 15:06:40,970 INFO L138 BoogieDeclarations]: Found implementation of procedure KeInitializeEvent [2022-04-08 15:06:40,970 INFO L138 BoogieDeclarations]: Found implementation of procedure KeInitializeSemaphore [2022-04-08 15:06:40,970 INFO L138 BoogieDeclarations]: Found implementation of procedure KeInitializeSpinLock [2022-04-08 15:06:40,970 INFO L138 BoogieDeclarations]: Found implementation of procedure KeReleaseSemaphore [2022-04-08 15:06:40,970 INFO L138 BoogieDeclarations]: Found implementation of procedure KfReleaseSpinLock [2022-04-08 15:06:40,970 INFO L138 BoogieDeclarations]: Found implementation of procedure KeSetEvent [2022-04-08 15:06:40,970 INFO L138 BoogieDeclarations]: Found implementation of procedure KeWaitForSingleObject [2022-04-08 15:06:40,970 INFO L138 BoogieDeclarations]: Found implementation of procedure MmAllocateContiguousMemory [2022-04-08 15:06:40,970 INFO L138 BoogieDeclarations]: Found implementation of procedure MmFreeContiguousMemory [2022-04-08 15:06:40,970 INFO L138 BoogieDeclarations]: Found implementation of procedure MmMapLockedPagesSpecifyCache [2022-04-08 15:06:40,970 INFO L138 BoogieDeclarations]: Found implementation of procedure MmPageEntireDriver [2022-04-08 15:06:40,971 INFO L138 BoogieDeclarations]: Found implementation of procedure MmResetDriverPaging [2022-04-08 15:06:40,971 INFO L138 BoogieDeclarations]: Found implementation of procedure MmUnlockPages [2022-04-08 15:06:40,971 INFO L138 BoogieDeclarations]: Found implementation of procedure ObReferenceObjectByHandle [2022-04-08 15:06:40,971 INFO L138 BoogieDeclarations]: Found implementation of procedure ObfDereferenceObject [2022-04-08 15:06:40,971 INFO L138 BoogieDeclarations]: Found implementation of procedure PoCallDriver [2022-04-08 15:06:40,971 INFO L138 BoogieDeclarations]: Found implementation of procedure PoStartNextPowerIrp [2022-04-08 15:06:40,971 INFO L138 BoogieDeclarations]: Found implementation of procedure PsCreateSystemThread [2022-04-08 15:06:40,971 INFO L138 BoogieDeclarations]: Found implementation of procedure PsTerminateSystemThread [2022-04-08 15:06:40,972 INFO L138 BoogieDeclarations]: Found implementation of procedure RtlAnsiStringToUnicodeString [2022-04-08 15:06:40,972 INFO L138 BoogieDeclarations]: Found implementation of procedure RtlCompareMemory [2022-04-08 15:06:40,972 INFO L138 BoogieDeclarations]: Found implementation of procedure RtlCopyUnicodeString [2022-04-08 15:06:40,972 INFO L138 BoogieDeclarations]: Found implementation of procedure RtlDeleteRegistryValue [2022-04-08 15:06:40,972 INFO L138 BoogieDeclarations]: Found implementation of procedure RtlFreeUnicodeString [2022-04-08 15:06:40,972 INFO L138 BoogieDeclarations]: Found implementation of procedure RtlInitString [2022-04-08 15:06:40,972 INFO L138 BoogieDeclarations]: Found implementation of procedure RtlInitUnicodeString [2022-04-08 15:06:40,972 INFO L138 BoogieDeclarations]: Found implementation of procedure RtlQueryRegistryValues [2022-04-08 15:06:40,972 INFO L138 BoogieDeclarations]: Found implementation of procedure ZwClose [2022-04-08 15:06:40,973 INFO L138 BoogieDeclarations]: Found implementation of procedure #Ultimate.C_memset [2022-04-08 15:06:40,973 INFO L138 BoogieDeclarations]: Found implementation of procedure #Ultimate.C_memmove [2022-04-08 15:06:40,973 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 15:06:40,974 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 15:06:40,974 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 15:06:40,974 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 15:06:40,974 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_char [2022-04-08 15:06:40,974 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 15:06:40,974 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_long [2022-04-08 15:06:40,974 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_ulong [2022-04-08 15:06:40,974 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 15:06:40,974 INFO L130 BoogieDeclarations]: Found specification of procedure memcpy [2022-04-08 15:06:40,975 INFO L130 BoogieDeclarations]: Found specification of procedure memmove [2022-04-08 15:06:40,975 INFO L130 BoogieDeclarations]: Found specification of procedure memset [2022-04-08 15:06:40,975 INFO L130 BoogieDeclarations]: Found specification of procedure RtlQueryRegistryValues [2022-04-08 15:06:40,975 INFO L130 BoogieDeclarations]: Found specification of procedure RtlDeleteRegistryValue [2022-04-08 15:06:40,975 INFO L130 BoogieDeclarations]: Found specification of procedure RtlInitString [2022-04-08 15:06:40,975 INFO L130 BoogieDeclarations]: Found specification of procedure RtlInitUnicodeString [2022-04-08 15:06:40,975 INFO L130 BoogieDeclarations]: Found specification of procedure RtlAnsiStringToUnicodeString [2022-04-08 15:06:40,975 INFO L130 BoogieDeclarations]: Found specification of procedure RtlCopyUnicodeString [2022-04-08 15:06:40,975 INFO L130 BoogieDeclarations]: Found specification of procedure RtlFreeUnicodeString [2022-04-08 15:06:40,975 INFO L130 BoogieDeclarations]: Found specification of procedure RtlCompareMemory [2022-04-08 15:06:40,975 INFO L130 BoogieDeclarations]: Found specification of procedure InterlockedIncrement [2022-04-08 15:06:40,975 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 15:06:40,975 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 15:06:40,975 INFO L130 BoogieDeclarations]: Found specification of procedure InterlockedDecrement [2022-04-08 15:06:40,976 INFO L130 BoogieDeclarations]: Found specification of procedure KeInitializeEvent [2022-04-08 15:06:40,976 INFO L130 BoogieDeclarations]: Found specification of procedure KeSetEvent [2022-04-08 15:06:40,976 INFO L130 BoogieDeclarations]: Found specification of procedure KeInitializeSemaphore [2022-04-08 15:06:40,976 INFO L130 BoogieDeclarations]: Found specification of procedure KeReleaseSemaphore [2022-04-08 15:06:40,977 INFO L130 BoogieDeclarations]: Found specification of procedure KeDelayExecutionThread [2022-04-08 15:06:40,977 INFO L130 BoogieDeclarations]: Found specification of procedure KeWaitForSingleObject [2022-04-08 15:06:40,977 INFO L130 BoogieDeclarations]: Found specification of procedure KeInitializeSpinLock [2022-04-08 15:06:40,977 INFO L130 BoogieDeclarations]: Found specification of procedure KfReleaseSpinLock [2022-04-08 15:06:40,977 INFO L130 BoogieDeclarations]: Found specification of procedure ExAllocatePoolWithTag [2022-04-08 15:06:40,977 INFO L130 BoogieDeclarations]: Found specification of procedure ExFreePool [2022-04-08 15:06:40,977 INFO L130 BoogieDeclarations]: Found specification of procedure ExAcquireFastMutex [2022-04-08 15:06:40,977 INFO L130 BoogieDeclarations]: Found specification of procedure ExReleaseFastMutex [2022-04-08 15:06:40,977 INFO L130 BoogieDeclarations]: Found specification of procedure ExfInterlockedInsertHeadList [2022-04-08 15:06:40,977 INFO L130 BoogieDeclarations]: Found specification of procedure ExfInterlockedInsertTailList [2022-04-08 15:06:40,977 INFO L130 BoogieDeclarations]: Found specification of procedure ExfInterlockedRemoveHeadList [2022-04-08 15:06:40,977 INFO L130 BoogieDeclarations]: Found specification of procedure MmUnlockPages [2022-04-08 15:06:40,977 INFO L130 BoogieDeclarations]: Found specification of procedure MmMapLockedPagesSpecifyCache [2022-04-08 15:06:40,978 INFO L130 BoogieDeclarations]: Found specification of procedure MmAllocateContiguousMemory [2022-04-08 15:06:40,978 INFO L130 BoogieDeclarations]: Found specification of procedure MmFreeContiguousMemory [2022-04-08 15:06:40,978 INFO L130 BoogieDeclarations]: Found specification of procedure MmResetDriverPaging [2022-04-08 15:06:40,978 INFO L130 BoogieDeclarations]: Found specification of procedure MmPageEntireDriver [2022-04-08 15:06:40,978 INFO L130 BoogieDeclarations]: Found specification of procedure PsCreateSystemThread [2022-04-08 15:06:40,978 INFO L130 BoogieDeclarations]: Found specification of procedure PsTerminateSystemThread [2022-04-08 15:06:40,978 INFO L130 BoogieDeclarations]: Found specification of procedure IoAllocateMdl [2022-04-08 15:06:40,978 INFO L130 BoogieDeclarations]: Found specification of procedure IoAttachDeviceToDeviceStack [2022-04-08 15:06:40,978 INFO L130 BoogieDeclarations]: Found specification of procedure IoBuildAsynchronousFsdRequest [2022-04-08 15:06:40,978 INFO L130 BoogieDeclarations]: Found specification of procedure IoBuildDeviceIoControlRequest [2022-04-08 15:06:40,978 INFO L130 BoogieDeclarations]: Found specification of procedure IofCallDriver [2022-04-08 15:06:40,979 INFO L130 BoogieDeclarations]: Found specification of procedure IofCompleteRequest [2022-04-08 15:06:40,979 INFO L130 BoogieDeclarations]: Found specification of procedure IoCreateDevice [2022-04-08 15:06:40,979 INFO L130 BoogieDeclarations]: Found specification of procedure IoCreateSymbolicLink [2022-04-08 15:06:40,980 INFO L130 BoogieDeclarations]: Found specification of procedure IoDeleteDevice [2022-04-08 15:06:40,982 INFO L130 BoogieDeclarations]: Found specification of procedure IoDeleteSymbolicLink [2022-04-08 15:06:40,982 INFO L130 BoogieDeclarations]: Found specification of procedure IoDetachDevice [2022-04-08 15:06:40,987 INFO L130 BoogieDeclarations]: Found specification of procedure IoFreeIrp [2022-04-08 15:06:40,987 INFO L130 BoogieDeclarations]: Found specification of procedure IoFreeMdl [2022-04-08 15:06:40,987 INFO L130 BoogieDeclarations]: Found specification of procedure IoGetConfigurationInformation [2022-04-08 15:06:40,987 INFO L130 BoogieDeclarations]: Found specification of procedure IoQueryDeviceDescription [2022-04-08 15:06:40,987 INFO L130 BoogieDeclarations]: Found specification of procedure IoReleaseCancelSpinLock [2022-04-08 15:06:40,988 INFO L130 BoogieDeclarations]: Found specification of procedure IoSetHardErrorOrVerifyDevice [2022-04-08 15:06:40,988 INFO L130 BoogieDeclarations]: Found specification of procedure IoRegisterDeviceInterface [2022-04-08 15:06:40,988 INFO L130 BoogieDeclarations]: Found specification of procedure IoSetDeviceInterfaceState [2022-04-08 15:06:40,988 INFO L130 BoogieDeclarations]: Found specification of procedure PoCallDriver [2022-04-08 15:06:40,988 INFO L130 BoogieDeclarations]: Found specification of procedure PoStartNextPowerIrp [2022-04-08 15:06:40,988 INFO L130 BoogieDeclarations]: Found specification of procedure ObReferenceObjectByHandle [2022-04-08 15:06:40,988 INFO L130 BoogieDeclarations]: Found specification of procedure ObfDereferenceObject [2022-04-08 15:06:40,988 INFO L130 BoogieDeclarations]: Found specification of procedure ZwClose [2022-04-08 15:06:40,988 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_AddDevice [2022-04-08 15:06:40,988 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_CreateClose [2022-04-08 15:06:40,988 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_DispatchPassThrough [2022-04-08 15:06:40,988 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_InternIoCtl [2022-04-08 15:06:40,988 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_IoCtl [2022-04-08 15:06:40,988 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_PnP [2022-04-08 15:06:40,988 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_Power [2022-04-08 15:06:40,988 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_InitializationRoutine [2022-04-08 15:06:40,988 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_IsrHook [2022-04-08 15:06:40,988 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_ServiceCallback [2022-04-08 15:06:40,988 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_Unload [2022-04-08 15:06:40,988 INFO L130 BoogieDeclarations]: Found specification of procedure DriverEntry [2022-04-08 15:06:40,989 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2022-04-08 15:06:40,989 INFO L130 BoogieDeclarations]: Found specification of procedure errorFn [2022-04-08 15:06:40,989 INFO L130 BoogieDeclarations]: Found specification of procedure _BLAST_init [2022-04-08 15:06:40,989 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2022-04-08 15:06:40,989 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-04-08 15:06:40,989 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-04-08 15:06:40,989 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 15:06:40,989 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.C_memset [2022-04-08 15:06:40,989 INFO L130 BoogieDeclarations]: Found specification of procedure KbFilter_Complete [2022-04-08 15:06:40,989 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.C_memmove [2022-04-08 15:06:40,989 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 15:06:40,989 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 15:06:40,989 INFO L130 BoogieDeclarations]: Found specification of procedure ##fun~~PVOID~0~X~~PVOID~0~X~~PVOID~0~X~~PVOID~0~TO~VOID [2022-04-08 15:06:40,989 INFO L130 BoogieDeclarations]: Found specification of procedure stub_driver_init [2022-04-08 15:06:40,989 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uchar [2022-04-08 15:06:40,989 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 15:06:40,989 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-04-08 15:06:40,989 INFO L130 BoogieDeclarations]: Found specification of procedure stubMoreProcessingRequired [2022-04-08 15:06:40,989 INFO L130 BoogieDeclarations]: Found specification of procedure KeAcquireSpinLockRaiseToDpc [2022-04-08 15:06:40,989 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 15:06:40,989 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 15:06:40,990 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 15:06:40,990 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~int [2022-04-08 15:06:40,990 INFO L130 BoogieDeclarations]: Found specification of procedure read~unchecked~int [2022-04-08 15:06:40,990 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~$Pointer$ [2022-04-08 15:06:40,990 INFO L130 BoogieDeclarations]: Found specification of procedure read~unchecked~$Pointer$ [2022-04-08 15:06:41,320 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 15:06:41,323 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 15:06:41,343 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 15:06:41,375 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 15:06:41,375 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 15:06:41,375 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 15:06:41,382 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 15:06:41,382 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 15:06:41,400 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 15:06:41,406 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 15:06:41,407 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 15:06:41,407 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 15:06:41,424 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 15:06:41,425 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 15:06:41,434 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 15:06:41,445 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 15:06:41,445 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 15:06:41,705 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 15:06:41,717 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 15:06:41,717 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 15:06:41,717 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 15:06:41,754 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 15:06:41,754 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 15:06:41,754 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 15:06:41,798 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 15:06:41,798 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 15:06:41,829 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 15:06:41,838 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 15:06:41,838 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 15:06:41,839 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 15:06:41,846 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 15:06:41,846 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 15:06:41,846 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 15:06:41,856 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 15:06:41,856 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 15:06:41,897 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 15:06:41,903 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 15:06:41,903 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 15:06:41,904 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 15:06:41,910 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 15:06:41,910 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 15:06:41,922 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 15:06:42,081 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##43: assume false; [2022-04-08 15:06:42,081 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##44: assume !false; [2022-04-08 15:06:42,096 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 15:06:42,125 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##12: assume !false; [2022-04-08 15:06:42,126 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##11: assume false; [2022-04-08 15:06:42,137 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 15:06:42,142 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 15:06:42,143 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 15:06:42,146 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 15:06:43,357 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##21: assume !false; [2022-04-08 15:06:43,357 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##20: assume false; [2022-04-08 15:06:43,500 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 15:06:43,505 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 15:06:43,505 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 15:06:43,564 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 15:06:43,569 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 15:06:43,569 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 15:06:43,584 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 15:06:43,605 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##12: assume !false; [2022-04-08 15:06:43,605 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##11: assume false; [2022-04-08 15:06:43,614 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 15:06:43,642 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##16: assume !false; [2022-04-08 15:06:43,642 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##15: assume false; [2022-04-08 15:06:43,678 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 15:06:43,683 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 15:06:43,683 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 15:06:43,687 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 15:06:43,720 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##10: assume !false; [2022-04-08 15:06:43,720 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##9: assume false; [2022-04-08 15:06:43,723 WARN L811 $ProcedureCfgBuilder]: Label in the middle of a codeblock. [2022-04-08 15:06:43,729 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##4: assume !false; [2022-04-08 15:06:43,730 INFO L764 $ProcedureCfgBuilder]: dead code at ProgramPoint $Ultimate##3: assume false; [2022-04-08 15:06:43,760 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 15:06:43,777 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 15:06:43,778 INFO L299 CfgBuilder]: Removed 0 assume(true) statements. [2022-04-08 15:06:43,781 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 03:06:43 BoogieIcfgContainer [2022-04-08 15:06:43,781 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 15:06:43,783 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 15:06:43,783 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 15:06:43,785 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 15:06:43,786 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 03:06:40" (1/3) ... [2022-04-08 15:06:43,786 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@72a58512 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 03:06:43, skipping insertion in model container [2022-04-08 15:06:43,786 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 03:06:40" (2/3) ... [2022-04-08 15:06:43,786 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@72a58512 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 03:06:43, skipping insertion in model container [2022-04-08 15:06:43,786 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 03:06:43" (3/3) ... [2022-04-08 15:06:43,788 INFO L111 eAbstractionObserver]: Analyzing ICFG kbfiltr.i.cil-2.c [2022-04-08 15:06:43,792 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 15:06:43,792 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 15:06:43,827 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 15:06:43,841 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 15:06:43,841 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 15:06:43,864 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 15:06:43,869 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-04-08 15:06:43,869 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:06:43,870 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 15:06:43,870 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:06:43,873 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:06:43,874 INFO L85 PathProgramCache]: Analyzing trace with hash 1774662017, now seen corresponding path program 1 times [2022-04-08 15:06:43,880 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:06:43,880 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1191957313] [2022-04-08 15:06:43,887 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 15:06:43,887 INFO L85 PathProgramCache]: Analyzing trace with hash 1774662017, now seen corresponding path program 2 times [2022-04-08 15:06:43,889 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:06:43,889 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [867723212] [2022-04-08 15:06:43,889 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:06:43,890 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:06:44,141 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:06:44,278 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:06:44,281 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:06:44,307 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 15:06:44,307 INFO L290 TraceCheckUtils]: 1: Hoare triple {311#true} assume true; {311#true} is VALID [2022-04-08 15:06:44,307 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {311#true} {311#true} #1270#return; {311#true} is VALID [2022-04-08 15:06:44,327 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:06:44,330 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:06:44,345 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 15:06:44,346 INFO L290 TraceCheckUtils]: 1: Hoare triple {311#true} assume true; {311#true} is VALID [2022-04-08 15:06:44,346 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {311#true} {311#true} #1216#return; {311#true} is VALID [2022-04-08 15:06:44,352 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:06:44,369 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:06:44,383 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:06:44,384 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:06:44,397 INFO L290 TraceCheckUtils]: 0: Hoare triple {311#true} ~cond := #in~cond; {311#true} is VALID [2022-04-08 15:06:44,397 INFO L290 TraceCheckUtils]: 1: Hoare triple {311#true} assume 0 == ~cond;assume false; {312#false} is VALID [2022-04-08 15:06:44,397 INFO L290 TraceCheckUtils]: 2: Hoare triple {312#false} assume true; {312#false} is VALID [2022-04-08 15:06:44,398 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {312#false} {311#true} #1254#return; {312#false} is VALID [2022-04-08 15:06:44,398 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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {311#true} is VALID [2022-04-08 15:06:44,399 INFO L272 TraceCheckUtils]: 1: Hoare triple {311#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {311#true} is VALID [2022-04-08 15:06:44,400 INFO L290 TraceCheckUtils]: 2: Hoare triple {311#true} ~cond := #in~cond; {311#true} is VALID [2022-04-08 15:06:44,400 INFO L290 TraceCheckUtils]: 3: Hoare triple {311#true} assume 0 == ~cond;assume false; {312#false} is VALID [2022-04-08 15:06:44,400 INFO L290 TraceCheckUtils]: 4: Hoare triple {312#false} assume true; {312#false} is VALID [2022-04-08 15:06:44,400 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {312#false} {311#true} #1254#return; {312#false} is VALID [2022-04-08 15:06:44,400 INFO L290 TraceCheckUtils]: 6: Hoare triple {312#false} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {312#false} is VALID [2022-04-08 15:06:44,401 INFO L290 TraceCheckUtils]: 7: Hoare triple {312#false} assume true; {312#false} is VALID [2022-04-08 15:06:44,401 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {312#false} {311#true} #1218#return; {312#false} is VALID [2022-04-08 15:06:44,402 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 15:06:44,402 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 15:06:44,402 INFO L290 TraceCheckUtils]: 2: Hoare triple {311#true} assume true; {311#true} is VALID [2022-04-08 15:06:44,402 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {311#true} {311#true} #1270#return; {311#true} is VALID [2022-04-08 15:06:44,403 INFO L272 TraceCheckUtils]: 4: Hoare triple {311#true} call #t~ret213 := main(); {311#true} is VALID [2022-04-08 15:06:44,406 INFO L290 TraceCheckUtils]: 5: Hoare triple {311#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {311#true} is VALID [2022-04-08 15:06:44,407 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 15:06:44,407 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 15:06:44,408 INFO L290 TraceCheckUtils]: 8: Hoare triple {311#true} assume true; {311#true} is VALID [2022-04-08 15:06:44,408 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {311#true} {311#true} #1216#return; {311#true} is VALID [2022-04-08 15:06:44,409 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 15:06:44,409 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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {311#true} is VALID [2022-04-08 15:06:44,409 INFO L272 TraceCheckUtils]: 12: Hoare triple {311#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {311#true} is VALID [2022-04-08 15:06:44,409 INFO L290 TraceCheckUtils]: 13: Hoare triple {311#true} ~cond := #in~cond; {311#true} is VALID [2022-04-08 15:06:44,409 INFO L290 TraceCheckUtils]: 14: Hoare triple {311#true} assume 0 == ~cond;assume false; {312#false} is VALID [2022-04-08 15:06:44,409 INFO L290 TraceCheckUtils]: 15: Hoare triple {312#false} assume true; {312#false} is VALID [2022-04-08 15:06:44,409 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {312#false} {311#true} #1254#return; {312#false} is VALID [2022-04-08 15:06:44,410 INFO L290 TraceCheckUtils]: 17: Hoare triple {312#false} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {312#false} is VALID [2022-04-08 15:06:44,410 INFO L290 TraceCheckUtils]: 18: Hoare triple {312#false} assume true; {312#false} is VALID [2022-04-08 15:06:44,410 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {312#false} {311#true} #1218#return; {312#false} is VALID [2022-04-08 15:06:44,411 INFO L290 TraceCheckUtils]: 20: Hoare triple {312#false} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {312#false} is VALID [2022-04-08 15:06:44,411 INFO L290 TraceCheckUtils]: 21: Hoare triple {312#false} assume !(~status~5 >= 0); {312#false} is VALID [2022-04-08 15:06:44,411 INFO L290 TraceCheckUtils]: 22: Hoare triple {312#false} assume !(1 == ~pended~0); {312#false} is VALID [2022-04-08 15:06:44,411 INFO L290 TraceCheckUtils]: 23: Hoare triple {312#false} assume !(1 == ~pended~0); {312#false} is VALID [2022-04-08 15:06:44,411 INFO L290 TraceCheckUtils]: 24: Hoare triple {312#false} assume !(~s~0 == ~UNLOADED~0); {312#false} is VALID [2022-04-08 15:06:44,411 INFO L290 TraceCheckUtils]: 25: Hoare triple {312#false} assume !(-1 == ~status~5); {312#false} is VALID [2022-04-08 15:06:44,411 INFO L290 TraceCheckUtils]: 26: Hoare triple {312#false} assume !(~s~0 != ~SKIP2~0); {312#false} is VALID [2022-04-08 15:06:44,411 INFO L290 TraceCheckUtils]: 27: Hoare triple {312#false} assume 1 == ~pended~0; {312#false} is VALID [2022-04-08 15:06:44,414 INFO L290 TraceCheckUtils]: 28: Hoare triple {312#false} assume 259 != ~status~5; {312#false} is VALID [2022-04-08 15:06:44,414 INFO L272 TraceCheckUtils]: 29: Hoare triple {312#false} call errorFn(); {312#false} is VALID [2022-04-08 15:06:44,415 INFO L290 TraceCheckUtils]: 30: Hoare triple {312#false} assume !false; {312#false} is VALID [2022-04-08 15:06:44,416 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 15:06:44,416 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:06:44,416 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [867723212] [2022-04-08 15:06:44,417 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [867723212] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:06:44,417 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:06:44,417 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 15:06:44,420 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:06:44,420 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1191957313] [2022-04-08 15:06:44,421 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1191957313] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:06:44,421 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:06:44,421 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 15:06:44,421 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [376225595] [2022-04-08 15:06:44,421 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:06:44,425 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 15:06:44,426 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:06:44,428 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 15:06:44,469 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 15:06:44,469 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 15:06:44,469 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:06:44,492 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 15:06:44,493 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-08 15:06:44,499 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 15:06:46,595 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 15:06:52,399 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:06:52,399 INFO L93 Difference]: Finished difference Result 643 states and 953 transitions. [2022-04-08 15:06:52,399 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 15:06:52,399 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 15:06:52,400 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:06:52,400 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 15:06:52,432 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 953 transitions. [2022-04-08 15:06:52,432 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 15:06:52,447 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 953 transitions. [2022-04-08 15:06:52,447 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 953 transitions. [2022-04-08 15:06:53,408 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 15:06:53,438 INFO L225 Difference]: With dead ends: 643 [2022-04-08 15:06:53,438 INFO L226 Difference]: Without dead ends: 343 [2022-04-08 15:06:53,444 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 15:06:53,447 INFO L913 BasicCegarLoop]: 335 mSDtfsCounter, 597 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 379 mSolverCounterSat, 220 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.8s 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.8s IncrementalHoareTripleChecker+Time [2022-04-08 15:06:53,448 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.8s Time] [2022-04-08 15:06:53,460 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 343 states. [2022-04-08 15:06:53,521 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 343 to 299. [2022-04-08 15:06:53,521 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:06:53,526 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 15:06:53,528 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 15:06:53,529 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 15:06:53,552 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:06:53,552 INFO L93 Difference]: Finished difference Result 343 states and 471 transitions. [2022-04-08 15:06:53,552 INFO L276 IsEmpty]: Start isEmpty. Operand 343 states and 471 transitions. [2022-04-08 15:06:53,560 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:06:53,560 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:06:53,562 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 15:06:53,563 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 15:06:53,584 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:06:53,584 INFO L93 Difference]: Finished difference Result 343 states and 471 transitions. [2022-04-08 15:06:53,584 INFO L276 IsEmpty]: Start isEmpty. Operand 343 states and 471 transitions. [2022-04-08 15:06:53,585 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:06:53,585 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:06:53,585 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:06:53,585 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:06:53,586 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 15:06:53,603 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 299 states to 299 states and 407 transitions. [2022-04-08 15:06:53,604 INFO L78 Accepts]: Start accepts. Automaton has 299 states and 407 transitions. Word has length 31 [2022-04-08 15:06:53,604 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:06:53,605 INFO L478 AbstractCegarLoop]: Abstraction has 299 states and 407 transitions. [2022-04-08 15:06:53,605 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 15:06:53,605 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 299 states and 407 transitions. [2022-04-08 15:06:54,070 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 15:06:54,070 INFO L276 IsEmpty]: Start isEmpty. Operand 299 states and 407 transitions. [2022-04-08 15:06:54,071 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-04-08 15:06:54,071 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:06:54,071 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 15:06:54,071 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 15:06:54,071 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:06:54,072 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:06:54,072 INFO L85 PathProgramCache]: Analyzing trace with hash 186314115, now seen corresponding path program 1 times [2022-04-08 15:06:54,072 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:06:54,072 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1122133086] [2022-04-08 15:06:54,072 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 15:06:54,072 INFO L85 PathProgramCache]: Analyzing trace with hash 186314115, now seen corresponding path program 2 times [2022-04-08 15:06:54,072 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:06:54,073 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [409190071] [2022-04-08 15:06:54,073 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:06:54,073 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:06:54,145 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:06:54,306 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:06:54,308 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:06:54,316 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 15:06:54,316 INFO L290 TraceCheckUtils]: 1: Hoare triple {2910#true} assume true; {2910#true} is VALID [2022-04-08 15:06:54,316 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2910#true} {2910#true} #1270#return; {2910#true} is VALID [2022-04-08 15:06:54,338 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:06:54,339 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:06:54,346 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 15:06:54,346 INFO L290 TraceCheckUtils]: 1: Hoare triple {2910#true} assume true; {2910#true} is VALID [2022-04-08 15:06:54,346 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2910#true} {2910#true} #1216#return; {2910#true} is VALID [2022-04-08 15:06:54,353 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:06:54,363 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:06:54,384 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:06:54,385 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:06:54,392 INFO L290 TraceCheckUtils]: 0: Hoare triple {2910#true} ~cond := #in~cond; {2910#true} is VALID [2022-04-08 15:06:54,392 INFO L290 TraceCheckUtils]: 1: Hoare triple {2910#true} assume !(0 == ~cond); {2910#true} is VALID [2022-04-08 15:06:54,392 INFO L290 TraceCheckUtils]: 2: Hoare triple {2910#true} assume true; {2910#true} is VALID [2022-04-08 15:06:54,392 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2910#true} {2910#true} #1254#return; {2910#true} is VALID [2022-04-08 15:06:54,392 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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {2910#true} is VALID [2022-04-08 15:06:54,392 INFO L272 TraceCheckUtils]: 1: Hoare triple {2910#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {2910#true} is VALID [2022-04-08 15:06:54,392 INFO L290 TraceCheckUtils]: 2: Hoare triple {2910#true} ~cond := #in~cond; {2910#true} is VALID [2022-04-08 15:06:54,393 INFO L290 TraceCheckUtils]: 3: Hoare triple {2910#true} assume !(0 == ~cond); {2910#true} is VALID [2022-04-08 15:06:54,393 INFO L290 TraceCheckUtils]: 4: Hoare triple {2910#true} assume true; {2910#true} is VALID [2022-04-08 15:06:54,393 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {2910#true} {2910#true} #1254#return; {2910#true} is VALID [2022-04-08 15:06:54,393 INFO L290 TraceCheckUtils]: 6: Hoare triple {2910#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {2936#(= |DriverEntry_#res| 0)} is VALID [2022-04-08 15:06:54,394 INFO L290 TraceCheckUtils]: 7: Hoare triple {2936#(= |DriverEntry_#res| 0)} assume true; {2936#(= |DriverEntry_#res| 0)} is VALID [2022-04-08 15:06:54,394 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {2936#(= |DriverEntry_#res| 0)} {2910#true} #1218#return; {2927#(= 0 |main_#t~ret169|)} is VALID [2022-04-08 15:06:54,396 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 15:06:54,396 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 15:06:54,396 INFO L290 TraceCheckUtils]: 2: Hoare triple {2910#true} assume true; {2910#true} is VALID [2022-04-08 15:06:54,396 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2910#true} {2910#true} #1270#return; {2910#true} is VALID [2022-04-08 15:06:54,396 INFO L272 TraceCheckUtils]: 4: Hoare triple {2910#true} call #t~ret213 := main(); {2910#true} is VALID [2022-04-08 15:06:54,396 INFO L290 TraceCheckUtils]: 5: Hoare triple {2910#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {2910#true} is VALID [2022-04-08 15:06:54,397 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 15:06:54,398 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 15:06:54,398 INFO L290 TraceCheckUtils]: 8: Hoare triple {2910#true} assume true; {2910#true} is VALID [2022-04-08 15:06:54,398 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {2910#true} {2910#true} #1216#return; {2910#true} is VALID [2022-04-08 15:06:54,399 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 15:06:54,399 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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {2910#true} is VALID [2022-04-08 15:06:54,399 INFO L272 TraceCheckUtils]: 12: Hoare triple {2910#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {2910#true} is VALID [2022-04-08 15:06:54,399 INFO L290 TraceCheckUtils]: 13: Hoare triple {2910#true} ~cond := #in~cond; {2910#true} is VALID [2022-04-08 15:06:54,399 INFO L290 TraceCheckUtils]: 14: Hoare triple {2910#true} assume !(0 == ~cond); {2910#true} is VALID [2022-04-08 15:06:54,399 INFO L290 TraceCheckUtils]: 15: Hoare triple {2910#true} assume true; {2910#true} is VALID [2022-04-08 15:06:54,399 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2910#true} {2910#true} #1254#return; {2910#true} is VALID [2022-04-08 15:06:54,399 INFO L290 TraceCheckUtils]: 17: Hoare triple {2910#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {2936#(= |DriverEntry_#res| 0)} is VALID [2022-04-08 15:06:54,400 INFO L290 TraceCheckUtils]: 18: Hoare triple {2936#(= |DriverEntry_#res| 0)} assume true; {2936#(= |DriverEntry_#res| 0)} is VALID [2022-04-08 15:06:54,401 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {2936#(= |DriverEntry_#res| 0)} {2910#true} #1218#return; {2927#(= 0 |main_#t~ret169|)} is VALID [2022-04-08 15:06:54,401 INFO L290 TraceCheckUtils]: 20: Hoare triple {2927#(= 0 |main_#t~ret169|)} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {2928#(= main_~status~5 0)} is VALID [2022-04-08 15:06:54,401 INFO L290 TraceCheckUtils]: 21: Hoare triple {2928#(= main_~status~5 0)} assume !(~status~5 >= 0); {2911#false} is VALID [2022-04-08 15:06:54,401 INFO L290 TraceCheckUtils]: 22: Hoare triple {2911#false} assume !(1 == ~pended~0); {2911#false} is VALID [2022-04-08 15:06:54,402 INFO L290 TraceCheckUtils]: 23: Hoare triple {2911#false} assume !(1 == ~pended~0); {2911#false} is VALID [2022-04-08 15:06:54,402 INFO L290 TraceCheckUtils]: 24: Hoare triple {2911#false} assume !(~s~0 == ~UNLOADED~0); {2911#false} is VALID [2022-04-08 15:06:54,402 INFO L290 TraceCheckUtils]: 25: Hoare triple {2911#false} assume !(-1 == ~status~5); {2911#false} is VALID [2022-04-08 15:06:54,402 INFO L290 TraceCheckUtils]: 26: Hoare triple {2911#false} assume !(~s~0 != ~SKIP2~0); {2911#false} is VALID [2022-04-08 15:06:54,402 INFO L290 TraceCheckUtils]: 27: Hoare triple {2911#false} assume 1 == ~pended~0; {2911#false} is VALID [2022-04-08 15:06:54,402 INFO L290 TraceCheckUtils]: 28: Hoare triple {2911#false} assume 259 != ~status~5; {2911#false} is VALID [2022-04-08 15:06:54,402 INFO L272 TraceCheckUtils]: 29: Hoare triple {2911#false} call errorFn(); {2911#false} is VALID [2022-04-08 15:06:54,402 INFO L290 TraceCheckUtils]: 30: Hoare triple {2911#false} assume !false; {2911#false} is VALID [2022-04-08 15:06:54,402 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 15:06:54,403 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:06:54,403 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [409190071] [2022-04-08 15:06:54,403 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [409190071] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:06:54,403 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:06:54,403 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 15:06:54,403 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:06:54,403 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1122133086] [2022-04-08 15:06:54,403 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1122133086] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:06:54,403 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:06:54,403 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 15:06:54,404 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1702249695] [2022-04-08 15:06:54,404 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:06:54,404 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 15:06:54,405 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:06:54,405 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 15:06:54,432 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 15:06:54,432 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 15:06:54,432 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:06:54,433 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 15:06:54,433 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2022-04-08 15:06:54,433 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 15:06:56,532 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 15:07:06,472 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:07:06,472 INFO L93 Difference]: Finished difference Result 360 states and 492 transitions. [2022-04-08 15:07:06,472 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 15:07:06,473 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 15:07:06,473 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:07:06,473 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 15:07:06,478 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 492 transitions. [2022-04-08 15:07:06,478 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 15:07:06,483 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 492 transitions. [2022-04-08 15:07:06,483 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 492 transitions. [2022-04-08 15:07:07,005 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 15:07:07,013 INFO L225 Difference]: With dead ends: 360 [2022-04-08 15:07:07,013 INFO L226 Difference]: Without dead ends: 343 [2022-04-08 15:07:07,014 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 15:07:07,014 INFO L913 BasicCegarLoop]: 315 mSDtfsCounter, 600 mSDsluCounter, 369 mSDsCounter, 0 mSdLazyCounter, 1367 mSolverCounterSat, 220 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 606 SdHoareTripleChecker+Valid, 684 SdHoareTripleChecker+Invalid, 1588 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 220 IncrementalHoareTripleChecker+Valid, 1367 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.5s IncrementalHoareTripleChecker+Time [2022-04-08 15:07:07,015 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [606 Valid, 684 Invalid, 1588 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [220 Valid, 1367 Invalid, 1 Unknown, 0 Unchecked, 6.5s Time] [2022-04-08 15:07:07,016 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 343 states. [2022-04-08 15:07:07,040 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 343 to 299. [2022-04-08 15:07:07,040 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:07:07,041 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 15:07:07,041 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 15:07:07,042 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 15:07:07,050 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:07:07,050 INFO L93 Difference]: Finished difference Result 343 states and 470 transitions. [2022-04-08 15:07:07,050 INFO L276 IsEmpty]: Start isEmpty. Operand 343 states and 470 transitions. [2022-04-08 15:07:07,051 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:07:07,051 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:07:07,052 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 15:07:07,052 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 15:07:07,061 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:07:07,061 INFO L93 Difference]: Finished difference Result 343 states and 470 transitions. [2022-04-08 15:07:07,061 INFO L276 IsEmpty]: Start isEmpty. Operand 343 states and 470 transitions. [2022-04-08 15:07:07,062 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:07:07,062 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:07:07,062 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:07:07,062 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:07:07,063 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 15:07:07,070 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 299 states to 299 states and 406 transitions. [2022-04-08 15:07:07,070 INFO L78 Accepts]: Start accepts. Automaton has 299 states and 406 transitions. Word has length 31 [2022-04-08 15:07:07,071 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:07:07,071 INFO L478 AbstractCegarLoop]: Abstraction has 299 states and 406 transitions. [2022-04-08 15:07:07,071 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 15:07:07,071 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 299 states and 406 transitions. [2022-04-08 15:07:07,591 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 15:07:07,592 INFO L276 IsEmpty]: Start isEmpty. Operand 299 states and 406 transitions. [2022-04-08 15:07:07,592 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2022-04-08 15:07:07,592 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:07:07,592 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 15:07:07,593 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-08 15:07:07,593 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:07:07,593 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:07:07,593 INFO L85 PathProgramCache]: Analyzing trace with hash -1201516382, now seen corresponding path program 1 times [2022-04-08 15:07:07,593 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:07:07,593 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1956164248] [2022-04-08 15:07:07,594 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 15:07:07,594 INFO L85 PathProgramCache]: Analyzing trace with hash -1201516382, now seen corresponding path program 2 times [2022-04-08 15:07:07,594 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:07:07,594 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [876351739] [2022-04-08 15:07:07,594 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:07:07,594 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:07:07,653 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:07,715 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:07:07,734 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:07,744 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 15:07:07,744 INFO L290 TraceCheckUtils]: 1: Hoare triple {4948#true} assume true; {4948#true} is VALID [2022-04-08 15:07:07,744 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4948#true} {4948#true} #1270#return; {4948#true} is VALID [2022-04-08 15:07:07,764 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:07:07,765 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:07,774 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 15:07:07,775 INFO L290 TraceCheckUtils]: 1: Hoare triple {4948#true} assume true; {4948#true} is VALID [2022-04-08 15:07:07,775 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4948#true} {4948#true} #1216#return; {4948#true} is VALID [2022-04-08 15:07:07,780 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:07:07,785 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:07,797 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:07:07,798 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:07,805 INFO L290 TraceCheckUtils]: 0: Hoare triple {4948#true} ~cond := #in~cond; {4948#true} is VALID [2022-04-08 15:07:07,805 INFO L290 TraceCheckUtils]: 1: Hoare triple {4948#true} assume !(0 == ~cond); {4948#true} is VALID [2022-04-08 15:07:07,806 INFO L290 TraceCheckUtils]: 2: Hoare triple {4948#true} assume true; {4948#true} is VALID [2022-04-08 15:07:07,806 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4948#true} {4948#true} #1254#return; {4948#true} is VALID [2022-04-08 15:07:07,806 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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {4948#true} is VALID [2022-04-08 15:07:07,807 INFO L272 TraceCheckUtils]: 1: Hoare triple {4948#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {4948#true} is VALID [2022-04-08 15:07:07,807 INFO L290 TraceCheckUtils]: 2: Hoare triple {4948#true} ~cond := #in~cond; {4948#true} is VALID [2022-04-08 15:07:07,814 INFO L290 TraceCheckUtils]: 3: Hoare triple {4948#true} assume !(0 == ~cond); {4948#true} is VALID [2022-04-08 15:07:07,815 INFO L290 TraceCheckUtils]: 4: Hoare triple {4948#true} assume true; {4948#true} is VALID [2022-04-08 15:07:07,815 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {4948#true} {4948#true} #1254#return; {4948#true} is VALID [2022-04-08 15:07:07,816 INFO L290 TraceCheckUtils]: 6: Hoare triple {4948#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {4948#true} is VALID [2022-04-08 15:07:07,816 INFO L290 TraceCheckUtils]: 7: Hoare triple {4948#true} assume true; {4948#true} is VALID [2022-04-08 15:07:07,816 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {4948#true} {4948#true} #1218#return; {4948#true} is VALID [2022-04-08 15:07:07,825 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:07:07,841 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:07,880 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:07:07,887 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:07,929 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 15:07:07,930 INFO L290 TraceCheckUtils]: 1: Hoare triple {4948#true} assume 0 == ~__BLAST_NONDET~5; {4948#true} is VALID [2022-04-08 15:07:07,930 INFO L290 TraceCheckUtils]: 2: Hoare triple {4948#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);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 15:07:07,931 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 15:07:07,932 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 15:07:07,932 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(8);havoc ~status~0;~status~0 := 0; {4948#true} is VALID [2022-04-08 15:07:07,933 INFO L272 TraceCheckUtils]: 1: Hoare triple {4948#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 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 15:07:07,933 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 15:07:07,933 INFO L290 TraceCheckUtils]: 3: Hoare triple {4948#true} assume 0 == ~__BLAST_NONDET~5; {4948#true} is VALID [2022-04-08 15:07:07,934 INFO L290 TraceCheckUtils]: 4: Hoare triple {4948#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);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 15:07:07,934 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 15:07:07,935 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 15:07:07,936 INFO L290 TraceCheckUtils]: 7: Hoare triple {4992#(= |KbFilter_AddDevice_#t~ret22| 0)} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {4993#(= KbFilter_AddDevice_~status~0 0)} is VALID [2022-04-08 15:07:07,936 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 15:07:07,936 INFO L290 TraceCheckUtils]: 9: Hoare triple {4949#false} assume true; {4949#false} is VALID [2022-04-08 15:07:07,936 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4949#false} {4948#true} #1220#return; {4949#false} is VALID [2022-04-08 15:07:07,954 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 15:07:07,955 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:07,963 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 15:07:07,963 INFO L290 TraceCheckUtils]: 1: Hoare triple {4948#true} assume true; {4948#true} is VALID [2022-04-08 15:07:07,963 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4948#true} {4949#false} #1222#return; {4949#false} is VALID [2022-04-08 15:07:07,964 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 15:07:07,964 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 15:07:07,964 INFO L290 TraceCheckUtils]: 2: Hoare triple {4948#true} assume true; {4948#true} is VALID [2022-04-08 15:07:07,964 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4948#true} {4948#true} #1270#return; {4948#true} is VALID [2022-04-08 15:07:07,965 INFO L272 TraceCheckUtils]: 4: Hoare triple {4948#true} call #t~ret213 := main(); {4948#true} is VALID [2022-04-08 15:07:07,965 INFO L290 TraceCheckUtils]: 5: Hoare triple {4948#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {4948#true} is VALID [2022-04-08 15:07:07,965 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 15:07:07,965 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 15:07:07,966 INFO L290 TraceCheckUtils]: 8: Hoare triple {4948#true} assume true; {4948#true} is VALID [2022-04-08 15:07:07,966 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {4948#true} {4948#true} #1216#return; {4948#true} is VALID [2022-04-08 15:07:07,966 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 15:07:07,966 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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {4948#true} is VALID [2022-04-08 15:07:07,967 INFO L272 TraceCheckUtils]: 12: Hoare triple {4948#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {4948#true} is VALID [2022-04-08 15:07:07,967 INFO L290 TraceCheckUtils]: 13: Hoare triple {4948#true} ~cond := #in~cond; {4948#true} is VALID [2022-04-08 15:07:07,967 INFO L290 TraceCheckUtils]: 14: Hoare triple {4948#true} assume !(0 == ~cond); {4948#true} is VALID [2022-04-08 15:07:07,967 INFO L290 TraceCheckUtils]: 15: Hoare triple {4948#true} assume true; {4948#true} is VALID [2022-04-08 15:07:07,967 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4948#true} {4948#true} #1254#return; {4948#true} is VALID [2022-04-08 15:07:07,967 INFO L290 TraceCheckUtils]: 17: Hoare triple {4948#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {4948#true} is VALID [2022-04-08 15:07:07,967 INFO L290 TraceCheckUtils]: 18: Hoare triple {4948#true} assume true; {4948#true} is VALID [2022-04-08 15:07:07,967 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {4948#true} {4948#true} #1218#return; {4948#true} is VALID [2022-04-08 15:07:07,967 INFO L290 TraceCheckUtils]: 20: Hoare triple {4948#true} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {4948#true} is VALID [2022-04-08 15:07:07,967 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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {4948#true} is VALID [2022-04-08 15:07:07,967 INFO L290 TraceCheckUtils]: 22: Hoare triple {4948#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {4948#true} is VALID [2022-04-08 15:07:07,968 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 15:07:07,968 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(8);havoc ~status~0;~status~0 := 0; {4948#true} is VALID [2022-04-08 15:07:07,969 INFO L272 TraceCheckUtils]: 25: Hoare triple {4948#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 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 15:07:07,969 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 15:07:07,970 INFO L290 TraceCheckUtils]: 27: Hoare triple {4948#true} assume 0 == ~__BLAST_NONDET~5; {4948#true} is VALID [2022-04-08 15:07:07,971 INFO L290 TraceCheckUtils]: 28: Hoare triple {4948#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);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 15:07:07,971 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 15:07:07,972 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 15:07:07,973 INFO L290 TraceCheckUtils]: 31: Hoare triple {4992#(= |KbFilter_AddDevice_#t~ret22| 0)} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {4993#(= KbFilter_AddDevice_~status~0 0)} is VALID [2022-04-08 15:07:07,973 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 15:07:07,973 INFO L290 TraceCheckUtils]: 33: Hoare triple {4949#false} assume true; {4949#false} is VALID [2022-04-08 15:07:07,973 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4949#false} {4948#true} #1220#return; {4949#false} is VALID [2022-04-08 15:07:07,973 INFO L290 TraceCheckUtils]: 35: Hoare triple {4949#false} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {4949#false} is VALID [2022-04-08 15:07:07,973 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 15:07:07,973 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 15:07:07,973 INFO L290 TraceCheckUtils]: 38: Hoare triple {4948#true} assume true; {4948#true} is VALID [2022-04-08 15:07:07,974 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4948#true} {4949#false} #1222#return; {4949#false} is VALID [2022-04-08 15:07:07,974 INFO L290 TraceCheckUtils]: 40: Hoare triple {4949#false} assume !!(~status~5 >= 0); {4949#false} is VALID [2022-04-08 15:07:07,974 INFO L290 TraceCheckUtils]: 41: Hoare triple {4949#false} assume 0 == ~__BLAST_NONDET~0; {4949#false} is VALID [2022-04-08 15:07:07,974 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 15:07:07,974 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, 180 + ~Irp.offset, 8);~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, 76 + ~DeviceObject.offset, 8);~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, 44 + ~Irp.offset, 8);~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 15:07:07,974 INFO L290 TraceCheckUtils]: 44: Hoare triple {4949#false} assume 0 == #t~mem39 % 256;havoc #t~mem39; {4949#false} is VALID [2022-04-08 15:07:07,974 INFO L290 TraceCheckUtils]: 45: Hoare triple {4949#false} call #t~mem41.base, #t~mem41.offset := read~$Pointer$(~devExt~1.base, 40 + ~devExt~1.offset, 8); {4949#false} is VALID [2022-04-08 15:07:07,974 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 15:07:07,974 INFO L290 TraceCheckUtils]: 47: Hoare triple {4949#false} call write~int(~status~1, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~1 % 4294967296 <= 2147483647 then ~status~1 % 4294967296 else ~status~1 % 4294967296 - 4294967296); {4949#false} is VALID [2022-04-08 15:07:07,974 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 15:07:07,974 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, 180 + ~Irp.offset, 8);~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 15:07:07,975 INFO L290 TraceCheckUtils]: 50: Hoare triple {4949#false} assume !(~s~0 == ~NP~0); {4949#false} is VALID [2022-04-08 15:07:07,975 INFO L272 TraceCheckUtils]: 51: Hoare triple {4949#false} call errorFn(); {4949#false} is VALID [2022-04-08 15:07:07,975 INFO L290 TraceCheckUtils]: 52: Hoare triple {4949#false} assume !false; {4949#false} is VALID [2022-04-08 15:07:07,975 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 15:07:07,975 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:07:07,975 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [876351739] [2022-04-08 15:07:07,975 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [876351739] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:07:07,976 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:07:07,976 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 15:07:07,976 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:07:07,976 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1956164248] [2022-04-08 15:07:07,976 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1956164248] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:07:07,976 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:07:07,976 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 15:07:07,976 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2119398114] [2022-04-08 15:07:07,976 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:07:07,976 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 15:07:07,977 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:07:07,977 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 15:07:08,017 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 15:07:08,017 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 15:07:08,017 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:07:08,018 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 15:07:08,018 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-08 15:07:08,018 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 15:07:10,138 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 15:07:21,446 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:07:21,446 INFO L93 Difference]: Finished difference Result 599 states and 829 transitions. [2022-04-08 15:07:21,447 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 15:07:21,447 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 15:07:21,447 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:07:21,447 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 15:07:21,455 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 829 transitions. [2022-04-08 15:07:21,455 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 15:07:21,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 829 transitions. [2022-04-08 15:07:21,462 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 829 transitions. [2022-04-08 15:07:22,225 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 15:07:22,232 INFO L225 Difference]: With dead ends: 599 [2022-04-08 15:07:22,232 INFO L226 Difference]: Without dead ends: 348 [2022-04-08 15:07:22,233 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 15:07:22,234 INFO L913 BasicCegarLoop]: 312 mSDtfsCounter, 397 mSDsluCounter, 480 mSDsCounter, 0 mSdLazyCounter, 1840 mSolverCounterSat, 170 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 7.5s 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, 7.6s IncrementalHoareTripleChecker+Time [2022-04-08 15:07:22,234 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [400 Valid, 792 Invalid, 2011 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [170 Valid, 1840 Invalid, 1 Unknown, 0 Unchecked, 7.6s Time] [2022-04-08 15:07:22,234 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 348 states. [2022-04-08 15:07:22,261 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 348 to 303. [2022-04-08 15:07:22,261 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:07:22,262 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 15:07:22,262 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 15:07:22,263 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 15:07:22,271 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:07:22,271 INFO L93 Difference]: Finished difference Result 348 states and 475 transitions. [2022-04-08 15:07:22,271 INFO L276 IsEmpty]: Start isEmpty. Operand 348 states and 475 transitions. [2022-04-08 15:07:22,271 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:07:22,271 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:07:22,272 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 15:07:22,273 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 15:07:22,280 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:07:22,280 INFO L93 Difference]: Finished difference Result 348 states and 475 transitions. [2022-04-08 15:07:22,280 INFO L276 IsEmpty]: Start isEmpty. Operand 348 states and 475 transitions. [2022-04-08 15:07:22,281 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:07:22,281 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:07:22,281 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:07:22,281 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:07:22,281 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 15:07:22,287 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 303 states to 303 states and 410 transitions. [2022-04-08 15:07:22,288 INFO L78 Accepts]: Start accepts. Automaton has 303 states and 410 transitions. Word has length 53 [2022-04-08 15:07:22,288 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:07:22,288 INFO L478 AbstractCegarLoop]: Abstraction has 303 states and 410 transitions. [2022-04-08 15:07:22,288 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 15:07:22,288 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 303 states and 410 transitions. [2022-04-08 15:07:22,762 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 15:07:22,762 INFO L276 IsEmpty]: Start isEmpty. Operand 303 states and 410 transitions. [2022-04-08 15:07:22,763 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2022-04-08 15:07:22,763 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:07:22,763 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 15:07:22,763 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-08 15:07:22,763 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:07:22,764 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:07:22,764 INFO L85 PathProgramCache]: Analyzing trace with hash 1078281185, now seen corresponding path program 1 times [2022-04-08 15:07:22,764 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:07:22,764 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1082059526] [2022-04-08 15:07:22,764 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 15:07:22,764 INFO L85 PathProgramCache]: Analyzing trace with hash 1078281185, now seen corresponding path program 2 times [2022-04-08 15:07:22,764 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:07:22,764 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2088399623] [2022-04-08 15:07:22,764 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:07:22,764 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:07:22,818 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:22,888 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:07:22,890 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:22,896 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 15:07:22,896 INFO L290 TraceCheckUtils]: 1: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-08 15:07:22,896 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7512#true} {7512#true} #1270#return; {7512#true} is VALID [2022-04-08 15:07:22,915 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:07:22,916 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:22,925 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 15:07:22,925 INFO L290 TraceCheckUtils]: 1: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-08 15:07:22,925 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7512#true} {7512#true} #1216#return; {7512#true} is VALID [2022-04-08 15:07:22,932 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:07:22,940 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:22,950 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:07:22,950 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:22,956 INFO L290 TraceCheckUtils]: 0: Hoare triple {7512#true} ~cond := #in~cond; {7512#true} is VALID [2022-04-08 15:07:22,956 INFO L290 TraceCheckUtils]: 1: Hoare triple {7512#true} assume !(0 == ~cond); {7512#true} is VALID [2022-04-08 15:07:22,956 INFO L290 TraceCheckUtils]: 2: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-08 15:07:22,956 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7512#true} {7512#true} #1254#return; {7512#true} is VALID [2022-04-08 15:07:22,957 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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {7512#true} is VALID [2022-04-08 15:07:22,957 INFO L272 TraceCheckUtils]: 1: Hoare triple {7512#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {7512#true} is VALID [2022-04-08 15:07:22,957 INFO L290 TraceCheckUtils]: 2: Hoare triple {7512#true} ~cond := #in~cond; {7512#true} is VALID [2022-04-08 15:07:22,957 INFO L290 TraceCheckUtils]: 3: Hoare triple {7512#true} assume !(0 == ~cond); {7512#true} is VALID [2022-04-08 15:07:22,957 INFO L290 TraceCheckUtils]: 4: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-08 15:07:22,957 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {7512#true} {7512#true} #1254#return; {7512#true} is VALID [2022-04-08 15:07:22,957 INFO L290 TraceCheckUtils]: 6: Hoare triple {7512#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {7512#true} is VALID [2022-04-08 15:07:22,957 INFO L290 TraceCheckUtils]: 7: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-08 15:07:22,957 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {7512#true} {7512#true} #1218#return; {7512#true} is VALID [2022-04-08 15:07:22,967 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:07:22,970 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:22,981 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:07:22,983 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:22,991 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 15:07:22,992 INFO L290 TraceCheckUtils]: 1: Hoare triple {7512#true} assume !(0 == ~__BLAST_NONDET~5); {7512#true} is VALID [2022-04-08 15:07:22,992 INFO L290 TraceCheckUtils]: 2: Hoare triple {7512#true} #res := -1073741823; {7512#true} is VALID [2022-04-08 15:07:22,992 INFO L290 TraceCheckUtils]: 3: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-08 15:07:22,992 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {7512#true} {7512#true} #1176#return; {7512#true} is VALID [2022-04-08 15:07:22,992 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(8);havoc ~status~0;~status~0 := 0; {7512#true} is VALID [2022-04-08 15:07:22,993 INFO L272 TraceCheckUtils]: 1: Hoare triple {7512#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 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 15:07:22,993 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 15:07:22,993 INFO L290 TraceCheckUtils]: 3: Hoare triple {7512#true} assume !(0 == ~__BLAST_NONDET~5); {7512#true} is VALID [2022-04-08 15:07:22,993 INFO L290 TraceCheckUtils]: 4: Hoare triple {7512#true} #res := -1073741823; {7512#true} is VALID [2022-04-08 15:07:22,993 INFO L290 TraceCheckUtils]: 5: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-08 15:07:22,993 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {7512#true} {7512#true} #1176#return; {7512#true} is VALID [2022-04-08 15:07:22,993 INFO L290 TraceCheckUtils]: 7: Hoare triple {7512#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {7512#true} is VALID [2022-04-08 15:07:22,993 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 15:07:22,993 INFO L290 TraceCheckUtils]: 9: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-08 15:07:22,994 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7512#true} {7512#true} #1220#return; {7512#true} is VALID [2022-04-08 15:07:23,005 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 15:07:23,007 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:23,015 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 15:07:23,016 INFO L290 TraceCheckUtils]: 1: Hoare triple {7543#(= ~s~0 ~NP~0)} assume true; {7543#(= ~s~0 ~NP~0)} is VALID [2022-04-08 15:07:23,016 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 15:07:23,017 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 15:07:23,017 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 15:07:23,017 INFO L290 TraceCheckUtils]: 2: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-08 15:07:23,017 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7512#true} {7512#true} #1270#return; {7512#true} is VALID [2022-04-08 15:07:23,017 INFO L272 TraceCheckUtils]: 4: Hoare triple {7512#true} call #t~ret213 := main(); {7512#true} is VALID [2022-04-08 15:07:23,017 INFO L290 TraceCheckUtils]: 5: Hoare triple {7512#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {7512#true} is VALID [2022-04-08 15:07:23,018 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 15:07:23,022 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 15:07:23,022 INFO L290 TraceCheckUtils]: 8: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-08 15:07:23,022 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {7512#true} {7512#true} #1216#return; {7512#true} is VALID [2022-04-08 15:07:23,023 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 15:07:23,026 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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {7512#true} is VALID [2022-04-08 15:07:23,027 INFO L272 TraceCheckUtils]: 12: Hoare triple {7512#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {7512#true} is VALID [2022-04-08 15:07:23,027 INFO L290 TraceCheckUtils]: 13: Hoare triple {7512#true} ~cond := #in~cond; {7512#true} is VALID [2022-04-08 15:07:23,028 INFO L290 TraceCheckUtils]: 14: Hoare triple {7512#true} assume !(0 == ~cond); {7512#true} is VALID [2022-04-08 15:07:23,028 INFO L290 TraceCheckUtils]: 15: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-08 15:07:23,028 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7512#true} {7512#true} #1254#return; {7512#true} is VALID [2022-04-08 15:07:23,028 INFO L290 TraceCheckUtils]: 17: Hoare triple {7512#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {7512#true} is VALID [2022-04-08 15:07:23,029 INFO L290 TraceCheckUtils]: 18: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-08 15:07:23,029 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {7512#true} {7512#true} #1218#return; {7512#true} is VALID [2022-04-08 15:07:23,029 INFO L290 TraceCheckUtils]: 20: Hoare triple {7512#true} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {7512#true} is VALID [2022-04-08 15:07:23,029 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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {7512#true} is VALID [2022-04-08 15:07:23,029 INFO L290 TraceCheckUtils]: 22: Hoare triple {7512#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {7512#true} is VALID [2022-04-08 15:07:23,032 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 15:07:23,032 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(8);havoc ~status~0;~status~0 := 0; {7512#true} is VALID [2022-04-08 15:07:23,033 INFO L272 TraceCheckUtils]: 25: Hoare triple {7512#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 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 15:07:23,035 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 15:07:23,035 INFO L290 TraceCheckUtils]: 27: Hoare triple {7512#true} assume !(0 == ~__BLAST_NONDET~5); {7512#true} is VALID [2022-04-08 15:07:23,035 INFO L290 TraceCheckUtils]: 28: Hoare triple {7512#true} #res := -1073741823; {7512#true} is VALID [2022-04-08 15:07:23,035 INFO L290 TraceCheckUtils]: 29: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-08 15:07:23,035 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {7512#true} {7512#true} #1176#return; {7512#true} is VALID [2022-04-08 15:07:23,035 INFO L290 TraceCheckUtils]: 31: Hoare triple {7512#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {7512#true} is VALID [2022-04-08 15:07:23,035 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 15:07:23,035 INFO L290 TraceCheckUtils]: 33: Hoare triple {7512#true} assume true; {7512#true} is VALID [2022-04-08 15:07:23,035 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {7512#true} {7512#true} #1220#return; {7512#true} is VALID [2022-04-08 15:07:23,035 INFO L290 TraceCheckUtils]: 35: Hoare triple {7512#true} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {7512#true} is VALID [2022-04-08 15:07:23,036 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 15:07:23,037 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 15:07:23,037 INFO L290 TraceCheckUtils]: 38: Hoare triple {7543#(= ~s~0 ~NP~0)} assume true; {7543#(= ~s~0 ~NP~0)} is VALID [2022-04-08 15:07:23,037 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 15:07:23,037 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 15:07:23,038 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 15:07:23,038 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 15:07:23,038 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, 180 + ~Irp.offset, 8);~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, 76 + ~DeviceObject.offset, 8);~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, 44 + ~Irp.offset, 8);~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 15:07:23,038 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 15:07:23,039 INFO L290 TraceCheckUtils]: 45: Hoare triple {7543#(= ~s~0 ~NP~0)} call #t~mem41.base, #t~mem41.offset := read~$Pointer$(~devExt~1.base, 40 + ~devExt~1.offset, 8); {7543#(= ~s~0 ~NP~0)} is VALID [2022-04-08 15:07:23,039 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 15:07:23,039 INFO L290 TraceCheckUtils]: 47: Hoare triple {7543#(= ~s~0 ~NP~0)} call write~int(~status~1, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~1 % 4294967296 <= 2147483647 then ~status~1 % 4294967296 else ~status~1 % 4294967296 - 4294967296); {7543#(= ~s~0 ~NP~0)} is VALID [2022-04-08 15:07:23,040 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 15:07:23,040 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, 180 + ~Irp.offset, 8);~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 15:07:23,040 INFO L290 TraceCheckUtils]: 50: Hoare triple {7543#(= ~s~0 ~NP~0)} assume !(~s~0 == ~NP~0); {7513#false} is VALID [2022-04-08 15:07:23,040 INFO L272 TraceCheckUtils]: 51: Hoare triple {7513#false} call errorFn(); {7513#false} is VALID [2022-04-08 15:07:23,040 INFO L290 TraceCheckUtils]: 52: Hoare triple {7513#false} assume !false; {7513#false} is VALID [2022-04-08 15:07:23,041 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 15:07:23,042 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:07:23,042 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2088399623] [2022-04-08 15:07:23,042 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2088399623] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:07:23,042 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:07:23,042 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 15:07:23,042 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:07:23,042 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1082059526] [2022-04-08 15:07:23,043 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1082059526] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:07:23,043 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:07:23,043 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 15:07:23,043 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1413705570] [2022-04-08 15:07:23,043 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:07:23,043 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 15:07:23,044 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:07:23,044 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 15:07:23,082 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 15:07:23,082 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 15:07:23,082 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:07:23,083 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 15:07:23,083 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-08 15:07:23,083 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 15:07:25,225 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 15:07:33,131 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:07:33,131 INFO L93 Difference]: Finished difference Result 492 states and 667 transitions. [2022-04-08 15:07:33,131 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 15:07:33,132 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 15:07:33,132 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:07:33,132 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 15:07:33,138 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 667 transitions. [2022-04-08 15:07:33,138 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 15:07:33,143 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 667 transitions. [2022-04-08 15:07:33,143 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 667 transitions. [2022-04-08 15:07:33,874 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 15:07:33,884 INFO L225 Difference]: With dead ends: 492 [2022-04-08 15:07:33,885 INFO L226 Difference]: Without dead ends: 431 [2022-04-08 15:07:33,885 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 30 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=63, Invalid=119, Unknown=0, NotChecked=0, Total=182 [2022-04-08 15:07:33,886 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 15:07:33,886 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 15:07:33,886 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 431 states. [2022-04-08 15:07:33,926 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 431 to 374. [2022-04-08 15:07:33,926 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:07:33,927 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 15:07:33,927 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 15:07:33,928 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 15:07:33,938 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:07:33,938 INFO L93 Difference]: Finished difference Result 431 states and 578 transitions. [2022-04-08 15:07:33,938 INFO L276 IsEmpty]: Start isEmpty. Operand 431 states and 578 transitions. [2022-04-08 15:07:33,939 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:07:33,939 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:07:33,939 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 15:07:33,940 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 15:07:33,949 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:07:33,949 INFO L93 Difference]: Finished difference Result 431 states and 578 transitions. [2022-04-08 15:07:33,949 INFO L276 IsEmpty]: Start isEmpty. Operand 431 states and 578 transitions. [2022-04-08 15:07:33,950 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:07:33,950 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:07:33,950 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:07:33,950 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:07:33,951 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 15:07:33,959 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 374 states to 374 states and 498 transitions. [2022-04-08 15:07:33,959 INFO L78 Accepts]: Start accepts. Automaton has 374 states and 498 transitions. Word has length 53 [2022-04-08 15:07:33,959 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:07:33,959 INFO L478 AbstractCegarLoop]: Abstraction has 374 states and 498 transitions. [2022-04-08 15:07:33,959 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 15:07:33,959 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 374 states and 498 transitions. [2022-04-08 15:07:34,555 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 15:07:34,556 INFO L276 IsEmpty]: Start isEmpty. Operand 374 states and 498 transitions. [2022-04-08 15:07:34,556 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2022-04-08 15:07:34,556 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:07:34,556 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 15:07:34,557 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-04-08 15:07:34,557 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:07:34,557 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:07:34,557 INFO L85 PathProgramCache]: Analyzing trace with hash 17478568, now seen corresponding path program 1 times [2022-04-08 15:07:34,557 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:07:34,557 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1721370466] [2022-04-08 15:07:34,557 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 15:07:34,558 INFO L85 PathProgramCache]: Analyzing trace with hash 17478568, now seen corresponding path program 2 times [2022-04-08 15:07:34,558 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:07:34,558 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1928278160] [2022-04-08 15:07:34,558 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:07:34,558 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:07:34,650 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:34,740 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:07:34,742 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:34,749 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 15:07:34,749 INFO L290 TraceCheckUtils]: 1: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-08 15:07:34,749 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {10171#true} {10171#true} #1270#return; {10171#true} is VALID [2022-04-08 15:07:34,767 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:07:34,768 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:34,774 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 15:07:34,774 INFO L290 TraceCheckUtils]: 1: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-08 15:07:34,774 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {10171#true} {10171#true} #1216#return; {10171#true} is VALID [2022-04-08 15:07:34,780 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:07:34,787 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:34,797 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:07:34,798 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:34,802 INFO L290 TraceCheckUtils]: 0: Hoare triple {10171#true} ~cond := #in~cond; {10171#true} is VALID [2022-04-08 15:07:34,803 INFO L290 TraceCheckUtils]: 1: Hoare triple {10171#true} assume !(0 == ~cond); {10171#true} is VALID [2022-04-08 15:07:34,803 INFO L290 TraceCheckUtils]: 2: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-08 15:07:34,803 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10171#true} {10171#true} #1254#return; {10171#true} is VALID [2022-04-08 15:07:34,803 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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {10171#true} is VALID [2022-04-08 15:07:34,803 INFO L272 TraceCheckUtils]: 1: Hoare triple {10171#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {10171#true} is VALID [2022-04-08 15:07:34,803 INFO L290 TraceCheckUtils]: 2: Hoare triple {10171#true} ~cond := #in~cond; {10171#true} is VALID [2022-04-08 15:07:34,803 INFO L290 TraceCheckUtils]: 3: Hoare triple {10171#true} assume !(0 == ~cond); {10171#true} is VALID [2022-04-08 15:07:34,803 INFO L290 TraceCheckUtils]: 4: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-08 15:07:34,803 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {10171#true} {10171#true} #1254#return; {10171#true} is VALID [2022-04-08 15:07:34,803 INFO L290 TraceCheckUtils]: 6: Hoare triple {10171#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {10171#true} is VALID [2022-04-08 15:07:34,803 INFO L290 TraceCheckUtils]: 7: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-08 15:07:34,803 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {10171#true} {10171#true} #1218#return; {10171#true} is VALID [2022-04-08 15:07:34,812 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:07:34,815 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:34,830 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:07:34,832 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:34,838 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 15:07:34,839 INFO L290 TraceCheckUtils]: 1: Hoare triple {10171#true} assume !(0 == ~__BLAST_NONDET~5); {10171#true} is VALID [2022-04-08 15:07:34,839 INFO L290 TraceCheckUtils]: 2: Hoare triple {10171#true} #res := -1073741823; {10171#true} is VALID [2022-04-08 15:07:34,839 INFO L290 TraceCheckUtils]: 3: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-08 15:07:34,839 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {10171#true} {10171#true} #1176#return; {10171#true} is VALID [2022-04-08 15:07:34,839 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(8);havoc ~status~0;~status~0 := 0; {10171#true} is VALID [2022-04-08 15:07:34,840 INFO L272 TraceCheckUtils]: 1: Hoare triple {10171#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 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 15:07:34,840 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 15:07:34,840 INFO L290 TraceCheckUtils]: 3: Hoare triple {10171#true} assume !(0 == ~__BLAST_NONDET~5); {10171#true} is VALID [2022-04-08 15:07:34,840 INFO L290 TraceCheckUtils]: 4: Hoare triple {10171#true} #res := -1073741823; {10171#true} is VALID [2022-04-08 15:07:34,840 INFO L290 TraceCheckUtils]: 5: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-08 15:07:34,840 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {10171#true} {10171#true} #1176#return; {10171#true} is VALID [2022-04-08 15:07:34,840 INFO L290 TraceCheckUtils]: 7: Hoare triple {10171#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {10171#true} is VALID [2022-04-08 15:07:34,841 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 15:07:34,841 INFO L290 TraceCheckUtils]: 9: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-08 15:07:34,841 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10171#true} {10171#true} #1220#return; {10171#true} is VALID [2022-04-08 15:07:34,852 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 15:07:34,854 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:34,865 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 15:07:34,865 INFO L290 TraceCheckUtils]: 1: Hoare triple {10202#(= ~compRegistered~0 0)} assume true; {10202#(= ~compRegistered~0 0)} is VALID [2022-04-08 15:07:34,865 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {10202#(= ~compRegistered~0 0)} {10171#true} #1222#return; {10202#(= ~compRegistered~0 0)} is VALID [2022-04-08 15:07:34,865 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 49 [2022-04-08 15:07:34,868 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:34,880 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 15:07:34,880 INFO L290 TraceCheckUtils]: 1: Hoare triple {10171#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {10171#true} is VALID [2022-04-08 15:07:34,880 INFO L290 TraceCheckUtils]: 2: Hoare triple {10171#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {10171#true} is VALID [2022-04-08 15:07:34,880 INFO L290 TraceCheckUtils]: 3: Hoare triple {10171#true} assume #res.base == dest.base && #res.offset == dest.offset; {10171#true} is VALID [2022-04-08 15:07:34,885 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {10171#true} {10202#(= ~compRegistered~0 0)} #1186#return; {10202#(= ~compRegistered~0 0)} is VALID [2022-04-08 15:07:34,886 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 15:07:34,886 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 15:07:34,886 INFO L290 TraceCheckUtils]: 2: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-08 15:07:34,886 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10171#true} {10171#true} #1270#return; {10171#true} is VALID [2022-04-08 15:07:34,886 INFO L272 TraceCheckUtils]: 4: Hoare triple {10171#true} call #t~ret213 := main(); {10171#true} is VALID [2022-04-08 15:07:34,886 INFO L290 TraceCheckUtils]: 5: Hoare triple {10171#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {10171#true} is VALID [2022-04-08 15:07:34,887 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 15:07:34,887 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 15:07:34,887 INFO L290 TraceCheckUtils]: 8: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-08 15:07:34,887 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {10171#true} {10171#true} #1216#return; {10171#true} is VALID [2022-04-08 15:07:34,888 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 15:07:34,888 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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {10171#true} is VALID [2022-04-08 15:07:34,888 INFO L272 TraceCheckUtils]: 12: Hoare triple {10171#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {10171#true} is VALID [2022-04-08 15:07:34,888 INFO L290 TraceCheckUtils]: 13: Hoare triple {10171#true} ~cond := #in~cond; {10171#true} is VALID [2022-04-08 15:07:34,888 INFO L290 TraceCheckUtils]: 14: Hoare triple {10171#true} assume !(0 == ~cond); {10171#true} is VALID [2022-04-08 15:07:34,888 INFO L290 TraceCheckUtils]: 15: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-08 15:07:34,888 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10171#true} {10171#true} #1254#return; {10171#true} is VALID [2022-04-08 15:07:34,888 INFO L290 TraceCheckUtils]: 17: Hoare triple {10171#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {10171#true} is VALID [2022-04-08 15:07:34,888 INFO L290 TraceCheckUtils]: 18: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-08 15:07:34,888 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {10171#true} {10171#true} #1218#return; {10171#true} is VALID [2022-04-08 15:07:34,888 INFO L290 TraceCheckUtils]: 20: Hoare triple {10171#true} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {10171#true} is VALID [2022-04-08 15:07:34,888 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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {10171#true} is VALID [2022-04-08 15:07:34,888 INFO L290 TraceCheckUtils]: 22: Hoare triple {10171#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {10171#true} is VALID [2022-04-08 15:07:34,889 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 15:07:34,889 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(8);havoc ~status~0;~status~0 := 0; {10171#true} is VALID [2022-04-08 15:07:34,890 INFO L272 TraceCheckUtils]: 25: Hoare triple {10171#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 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 15:07:34,890 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 15:07:34,890 INFO L290 TraceCheckUtils]: 27: Hoare triple {10171#true} assume !(0 == ~__BLAST_NONDET~5); {10171#true} is VALID [2022-04-08 15:07:34,890 INFO L290 TraceCheckUtils]: 28: Hoare triple {10171#true} #res := -1073741823; {10171#true} is VALID [2022-04-08 15:07:34,890 INFO L290 TraceCheckUtils]: 29: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-08 15:07:34,890 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {10171#true} {10171#true} #1176#return; {10171#true} is VALID [2022-04-08 15:07:34,890 INFO L290 TraceCheckUtils]: 31: Hoare triple {10171#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {10171#true} is VALID [2022-04-08 15:07:34,890 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 15:07:34,890 INFO L290 TraceCheckUtils]: 33: Hoare triple {10171#true} assume true; {10171#true} is VALID [2022-04-08 15:07:34,890 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {10171#true} {10171#true} #1220#return; {10171#true} is VALID [2022-04-08 15:07:34,891 INFO L290 TraceCheckUtils]: 35: Hoare triple {10171#true} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {10171#true} is VALID [2022-04-08 15:07:34,891 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 15:07:34,891 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 15:07:34,892 INFO L290 TraceCheckUtils]: 38: Hoare triple {10202#(= ~compRegistered~0 0)} assume true; {10202#(= ~compRegistered~0 0)} is VALID [2022-04-08 15:07:34,892 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {10202#(= ~compRegistered~0 0)} {10171#true} #1222#return; {10202#(= ~compRegistered~0 0)} is VALID [2022-04-08 15:07:34,893 INFO L290 TraceCheckUtils]: 40: Hoare triple {10202#(= ~compRegistered~0 0)} assume !!(~status~5 >= 0); {10202#(= ~compRegistered~0 0)} is VALID [2022-04-08 15:07:34,894 INFO L290 TraceCheckUtils]: 41: Hoare triple {10202#(= ~compRegistered~0 0)} assume !(0 == ~__BLAST_NONDET~0); {10202#(= ~compRegistered~0 0)} is VALID [2022-04-08 15:07:34,896 INFO L290 TraceCheckUtils]: 42: Hoare triple {10202#(= ~compRegistered~0 0)} assume !(1 == ~__BLAST_NONDET~0); {10202#(= ~compRegistered~0 0)} is VALID [2022-04-08 15:07:34,897 INFO L290 TraceCheckUtils]: 43: Hoare triple {10202#(= ~compRegistered~0 0)} assume !(2 == ~__BLAST_NONDET~0); {10202#(= ~compRegistered~0 0)} is VALID [2022-04-08 15:07:34,897 INFO L290 TraceCheckUtils]: 44: Hoare triple {10202#(= ~compRegistered~0 0)} assume 3 == ~__BLAST_NONDET~0; {10202#(= ~compRegistered~0 0)} is VALID [2022-04-08 15:07:34,898 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 15:07:34,898 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(28);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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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 15:07:34,898 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 15:07:34,899 INFO L290 TraceCheckUtils]: 48: Hoare triple {10202#(= ~compRegistered~0 0)} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 180 + ~Irp.offset, 8);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 68;havoc #t~mem103.base, #t~mem103.offset; {10202#(= ~compRegistered~0 0)} is VALID [2022-04-08 15:07:34,899 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, 52); {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 15:07:34,899 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 15:07:34,899 INFO L290 TraceCheckUtils]: 51: Hoare triple {10171#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {10171#true} is VALID [2022-04-08 15:07:34,900 INFO L290 TraceCheckUtils]: 52: Hoare triple {10171#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {10171#true} is VALID [2022-04-08 15:07:34,900 INFO L290 TraceCheckUtils]: 53: Hoare triple {10171#true} assume #res.base == dest.base && #res.offset == dest.offset; {10171#true} is VALID [2022-04-08 15:07:34,900 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {10171#true} {10202#(= ~compRegistered~0 0)} #1186#return; {10202#(= ~compRegistered~0 0)} is VALID [2022-04-08 15:07:34,901 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 15:07:34,901 INFO L290 TraceCheckUtils]: 56: Hoare triple {10202#(= ~compRegistered~0 0)} assume !(~s~0 != ~NP~0); {10202#(= ~compRegistered~0 0)} is VALID [2022-04-08 15:07:34,901 INFO L290 TraceCheckUtils]: 57: Hoare triple {10202#(= ~compRegistered~0 0)} assume 0 != ~compRegistered~0; {10172#false} is VALID [2022-04-08 15:07:34,901 INFO L272 TraceCheckUtils]: 58: Hoare triple {10172#false} call errorFn(); {10172#false} is VALID [2022-04-08 15:07:34,901 INFO L290 TraceCheckUtils]: 59: Hoare triple {10172#false} assume !false; {10172#false} is VALID [2022-04-08 15:07:34,901 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 15:07:34,902 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:07:34,902 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1928278160] [2022-04-08 15:07:34,902 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1928278160] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:07:34,902 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:07:34,902 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 15:07:34,902 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:07:34,902 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1721370466] [2022-04-08 15:07:34,902 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1721370466] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:07:34,902 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:07:34,902 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 15:07:34,902 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [914647572] [2022-04-08 15:07:34,902 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:07:34,903 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 15:07:34,904 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:07:34,904 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 15:07:34,953 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 15:07:34,953 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 15:07:34,953 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:07:34,954 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 15:07:34,954 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-08 15:07:34,954 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 15:07:37,085 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 15:07:41,960 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:07:41,960 INFO L93 Difference]: Finished difference Result 569 states and 751 transitions. [2022-04-08 15:07:41,960 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 15:07:41,961 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 15:07:41,961 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:07:41,961 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 15:07:41,965 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 618 transitions. [2022-04-08 15:07:41,965 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 15:07:41,969 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 618 transitions. [2022-04-08 15:07:41,969 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 618 transitions. [2022-04-08 15:07:42,698 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 15:07:42,709 INFO L225 Difference]: With dead ends: 569 [2022-04-08 15:07:42,710 INFO L226 Difference]: Without dead ends: 450 [2022-04-08 15:07:42,710 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 15:07:42,711 INFO L913 BasicCegarLoop]: 318 mSDtfsCounter, 977 mSDsluCounter, 169 mSDsCounter, 0 mSdLazyCounter, 650 mSolverCounterSat, 334 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.5s 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.5s IncrementalHoareTripleChecker+Time [2022-04-08 15:07:42,711 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.5s Time] [2022-04-08 15:07:42,711 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 450 states. [2022-04-08 15:07:42,751 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 450 to 410. [2022-04-08 15:07:42,752 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:07:42,752 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 15:07:42,753 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 15:07:42,754 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 15:07:42,763 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:07:42,763 INFO L93 Difference]: Finished difference Result 450 states and 596 transitions. [2022-04-08 15:07:42,763 INFO L276 IsEmpty]: Start isEmpty. Operand 450 states and 596 transitions. [2022-04-08 15:07:42,764 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:07:42,764 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:07:42,765 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 15:07:42,765 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 15:07:42,774 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:07:42,774 INFO L93 Difference]: Finished difference Result 450 states and 596 transitions. [2022-04-08 15:07:42,775 INFO L276 IsEmpty]: Start isEmpty. Operand 450 states and 596 transitions. [2022-04-08 15:07:42,775 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:07:42,775 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:07:42,775 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:07:42,775 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:07:42,776 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 15:07:42,786 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 410 states to 410 states and 545 transitions. [2022-04-08 15:07:42,786 INFO L78 Accepts]: Start accepts. Automaton has 410 states and 545 transitions. Word has length 60 [2022-04-08 15:07:42,786 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:07:42,786 INFO L478 AbstractCegarLoop]: Abstraction has 410 states and 545 transitions. [2022-04-08 15:07:42,786 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 15:07:42,786 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 410 states and 545 transitions. [2022-04-08 15:07:43,439 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 15:07:43,439 INFO L276 IsEmpty]: Start isEmpty. Operand 410 states and 545 transitions. [2022-04-08 15:07:43,440 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2022-04-08 15:07:43,440 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:07:43,440 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 15:07:43,440 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-04-08 15:07:43,440 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:07:43,440 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:07:43,440 INFO L85 PathProgramCache]: Analyzing trace with hash -110356200, now seen corresponding path program 1 times [2022-04-08 15:07:43,440 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:07:43,440 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1785658392] [2022-04-08 15:07:43,441 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 15:07:43,441 INFO L85 PathProgramCache]: Analyzing trace with hash -110356200, now seen corresponding path program 2 times [2022-04-08 15:07:43,441 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:07:43,441 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1574344842] [2022-04-08 15:07:43,441 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:07:43,441 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:07:43,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:43,650 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:07:43,653 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:43,662 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 15:07:43,662 INFO L290 TraceCheckUtils]: 1: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-08 15:07:43,662 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {13100#true} {13100#true} #1270#return; {13100#true} is VALID [2022-04-08 15:07:43,687 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:07:43,690 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:43,705 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 15:07:43,705 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 15:07:43,706 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 15:07:43,712 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:07:43,721 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:43,730 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:07:43,731 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:43,738 INFO L290 TraceCheckUtils]: 0: Hoare triple {13100#true} ~cond := #in~cond; {13100#true} is VALID [2022-04-08 15:07:43,738 INFO L290 TraceCheckUtils]: 1: Hoare triple {13100#true} assume !(0 == ~cond); {13100#true} is VALID [2022-04-08 15:07:43,738 INFO L290 TraceCheckUtils]: 2: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-08 15:07:43,738 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13100#true} {13100#true} #1254#return; {13100#true} is VALID [2022-04-08 15:07:43,738 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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {13100#true} is VALID [2022-04-08 15:07:43,738 INFO L272 TraceCheckUtils]: 1: Hoare triple {13100#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {13100#true} is VALID [2022-04-08 15:07:43,738 INFO L290 TraceCheckUtils]: 2: Hoare triple {13100#true} ~cond := #in~cond; {13100#true} is VALID [2022-04-08 15:07:43,738 INFO L290 TraceCheckUtils]: 3: Hoare triple {13100#true} assume !(0 == ~cond); {13100#true} is VALID [2022-04-08 15:07:43,738 INFO L290 TraceCheckUtils]: 4: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-08 15:07:43,738 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {13100#true} {13100#true} #1254#return; {13100#true} is VALID [2022-04-08 15:07:43,738 INFO L290 TraceCheckUtils]: 6: Hoare triple {13100#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {13100#true} is VALID [2022-04-08 15:07:43,738 INFO L290 TraceCheckUtils]: 7: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-08 15:07:43,739 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 15:07:43,748 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:07:43,752 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:43,759 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:07:43,760 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:43,766 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 15:07:43,766 INFO L290 TraceCheckUtils]: 1: Hoare triple {13100#true} assume !(0 == ~__BLAST_NONDET~5); {13100#true} is VALID [2022-04-08 15:07:43,766 INFO L290 TraceCheckUtils]: 2: Hoare triple {13100#true} #res := -1073741823; {13100#true} is VALID [2022-04-08 15:07:43,766 INFO L290 TraceCheckUtils]: 3: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-08 15:07:43,766 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {13100#true} {13100#true} #1176#return; {13100#true} is VALID [2022-04-08 15:07:43,766 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(8);havoc ~status~0;~status~0 := 0; {13100#true} is VALID [2022-04-08 15:07:43,767 INFO L272 TraceCheckUtils]: 1: Hoare triple {13100#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 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 15:07:43,767 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 15:07:43,767 INFO L290 TraceCheckUtils]: 3: Hoare triple {13100#true} assume !(0 == ~__BLAST_NONDET~5); {13100#true} is VALID [2022-04-08 15:07:43,767 INFO L290 TraceCheckUtils]: 4: Hoare triple {13100#true} #res := -1073741823; {13100#true} is VALID [2022-04-08 15:07:43,767 INFO L290 TraceCheckUtils]: 5: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-08 15:07:43,767 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {13100#true} {13100#true} #1176#return; {13100#true} is VALID [2022-04-08 15:07:43,767 INFO L290 TraceCheckUtils]: 7: Hoare triple {13100#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {13100#true} is VALID [2022-04-08 15:07:43,767 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 15:07:43,768 INFO L290 TraceCheckUtils]: 9: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-08 15:07:43,768 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 15:07:43,780 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 15:07:43,783 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:43,819 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 15:07:43,819 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 15:07:43,820 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 15:07:43,820 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 44 [2022-04-08 15:07:43,823 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:43,828 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 15:07:43,829 INFO L290 TraceCheckUtils]: 1: Hoare triple {13100#true} assume 0 != #t~nondet17;havoc #t~nondet17;#res := 0; {13100#true} is VALID [2022-04-08 15:07:43,829 INFO L290 TraceCheckUtils]: 2: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-08 15:07:43,829 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 15:07:43,831 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 15:07:43,831 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 15:07:43,831 INFO L290 TraceCheckUtils]: 2: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-08 15:07:43,831 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13100#true} {13100#true} #1270#return; {13100#true} is VALID [2022-04-08 15:07:43,831 INFO L272 TraceCheckUtils]: 4: Hoare triple {13100#true} call #t~ret213 := main(); {13100#true} is VALID [2022-04-08 15:07:43,831 INFO L290 TraceCheckUtils]: 5: Hoare triple {13100#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {13100#true} is VALID [2022-04-08 15:07:43,832 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 15:07:43,832 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 15:07:43,833 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 15:07:43,833 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 15:07:43,834 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 15:07:43,834 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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {13100#true} is VALID [2022-04-08 15:07:43,834 INFO L272 TraceCheckUtils]: 12: Hoare triple {13100#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {13100#true} is VALID [2022-04-08 15:07:43,834 INFO L290 TraceCheckUtils]: 13: Hoare triple {13100#true} ~cond := #in~cond; {13100#true} is VALID [2022-04-08 15:07:43,834 INFO L290 TraceCheckUtils]: 14: Hoare triple {13100#true} assume !(0 == ~cond); {13100#true} is VALID [2022-04-08 15:07:43,834 INFO L290 TraceCheckUtils]: 15: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-08 15:07:43,834 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13100#true} {13100#true} #1254#return; {13100#true} is VALID [2022-04-08 15:07:43,834 INFO L290 TraceCheckUtils]: 17: Hoare triple {13100#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {13100#true} is VALID [2022-04-08 15:07:43,834 INFO L290 TraceCheckUtils]: 18: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-08 15:07:43,835 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 15:07:43,835 INFO L290 TraceCheckUtils]: 20: Hoare triple {13108#(and (not (= ~SKIP2~0 1)) (= ~NP~0 1))} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {13108#(and (not (= ~SKIP2~0 1)) (= ~NP~0 1))} is VALID [2022-04-08 15:07:43,836 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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {13108#(and (not (= ~SKIP2~0 1)) (= ~NP~0 1))} is VALID [2022-04-08 15:07:43,836 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, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {13108#(and (not (= ~SKIP2~0 1)) (= ~NP~0 1))} is VALID [2022-04-08 15:07:43,837 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 15:07:43,837 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(8);havoc ~status~0;~status~0 := 0; {13100#true} is VALID [2022-04-08 15:07:43,838 INFO L272 TraceCheckUtils]: 25: Hoare triple {13100#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 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 15:07:43,838 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 15:07:43,838 INFO L290 TraceCheckUtils]: 27: Hoare triple {13100#true} assume !(0 == ~__BLAST_NONDET~5); {13100#true} is VALID [2022-04-08 15:07:43,838 INFO L290 TraceCheckUtils]: 28: Hoare triple {13100#true} #res := -1073741823; {13100#true} is VALID [2022-04-08 15:07:43,838 INFO L290 TraceCheckUtils]: 29: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-08 15:07:43,838 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {13100#true} {13100#true} #1176#return; {13100#true} is VALID [2022-04-08 15:07:43,838 INFO L290 TraceCheckUtils]: 31: Hoare triple {13100#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {13100#true} is VALID [2022-04-08 15:07:43,838 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 15:07:43,839 INFO L290 TraceCheckUtils]: 33: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-08 15:07:43,840 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 15:07:43,840 INFO L290 TraceCheckUtils]: 35: Hoare triple {13108#(and (not (= ~SKIP2~0 1)) (= ~NP~0 1))} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {13108#(and (not (= ~SKIP2~0 1)) (= ~NP~0 1))} is VALID [2022-04-08 15:07:43,841 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 15:07:43,842 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 15:07:43,842 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 15:07:43,842 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 15:07:43,843 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 15:07:43,843 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 15:07:43,843 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 15:07:43,844 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 15:07:43,844 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 15:07:43,844 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 15:07:43,844 INFO L290 TraceCheckUtils]: 46: Hoare triple {13100#true} assume 0 != #t~nondet17;havoc #t~nondet17;#res := 0; {13100#true} is VALID [2022-04-08 15:07:43,844 INFO L290 TraceCheckUtils]: 47: Hoare triple {13100#true} assume true; {13100#true} is VALID [2022-04-08 15:07:43,845 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 15:07:43,845 INFO L290 TraceCheckUtils]: 49: Hoare triple {13132#(and (= ~s~0 1) (not (= ~SKIP2~0 1)))} assume -9223372036854775808 <= #t~ret173 && #t~ret173 <= 9223372036854775807;~status~5 := #t~ret173;havoc #t~ret173; {13132#(and (= ~s~0 1) (not (= ~SKIP2~0 1)))} is VALID [2022-04-08 15:07:43,845 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 15:07:43,846 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 15:07:43,846 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 15:07:43,846 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 15:07:43,847 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 15:07:43,847 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 15:07:43,847 INFO L290 TraceCheckUtils]: 56: Hoare triple {13101#false} assume 1 == ~pended~0; {13101#false} is VALID [2022-04-08 15:07:43,847 INFO L290 TraceCheckUtils]: 57: Hoare triple {13101#false} assume 259 != ~status~5; {13101#false} is VALID [2022-04-08 15:07:43,847 INFO L272 TraceCheckUtils]: 58: Hoare triple {13101#false} call errorFn(); {13101#false} is VALID [2022-04-08 15:07:43,847 INFO L290 TraceCheckUtils]: 59: Hoare triple {13101#false} assume !false; {13101#false} is VALID [2022-04-08 15:07:43,847 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 15:07:43,847 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:07:43,848 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1574344842] [2022-04-08 15:07:43,848 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1574344842] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:07:43,848 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:07:43,848 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 15:07:43,848 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:07:43,848 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1785658392] [2022-04-08 15:07:43,848 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1785658392] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:07:43,848 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:07:43,848 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 15:07:43,848 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1032835598] [2022-04-08 15:07:43,848 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:07:43,849 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 15:07:43,849 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:07:43,849 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 15:07:43,891 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 15:07:43,892 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 15:07:43,892 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:07:43,892 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 15:07:43,892 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-08 15:07:43,892 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 15:07:46,062 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 15:07:53,047 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:07:53,047 INFO L93 Difference]: Finished difference Result 450 states and 594 transitions. [2022-04-08 15:07:53,047 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-08 15:07:53,047 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 15:07:53,048 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:07:53,048 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 15:07:53,051 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 542 transitions. [2022-04-08 15:07:53,052 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 15:07:53,055 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 542 transitions. [2022-04-08 15:07:53,055 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 542 transitions. [2022-04-08 15:07:53,686 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 15:07:53,696 INFO L225 Difference]: With dead ends: 450 [2022-04-08 15:07:53,696 INFO L226 Difference]: Without dead ends: 442 [2022-04-08 15:07:53,697 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 15:07:53,697 INFO L913 BasicCegarLoop]: 334 mSDtfsCounter, 1626 mSDsluCounter, 206 mSDsCounter, 0 mSdLazyCounter, 743 mSolverCounterSat, 562 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1635 SdHoareTripleChecker+Valid, 540 SdHoareTripleChecker+Invalid, 1306 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 562 IncrementalHoareTripleChecker+Valid, 743 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.0s IncrementalHoareTripleChecker+Time [2022-04-08 15:07:53,697 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [1635 Valid, 540 Invalid, 1306 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [562 Valid, 743 Invalid, 1 Unknown, 0 Unchecked, 5.0s Time] [2022-04-08 15:07:53,698 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 442 states. [2022-04-08 15:07:53,908 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 442 to 415. [2022-04-08 15:07:53,908 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:07:53,909 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 15:07:53,909 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 15:07:53,910 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 15:07:53,919 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:07:53,919 INFO L93 Difference]: Finished difference Result 442 states and 585 transitions. [2022-04-08 15:07:53,919 INFO L276 IsEmpty]: Start isEmpty. Operand 442 states and 585 transitions. [2022-04-08 15:07:53,920 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:07:53,920 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:07:53,920 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 15:07:53,921 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 15:07:53,929 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:07:53,929 INFO L93 Difference]: Finished difference Result 442 states and 585 transitions. [2022-04-08 15:07:53,930 INFO L276 IsEmpty]: Start isEmpty. Operand 442 states and 585 transitions. [2022-04-08 15:07:53,931 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:07:53,931 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:07:53,931 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:07:53,931 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:07:53,931 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 15:07:53,941 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 415 states to 415 states and 551 transitions. [2022-04-08 15:07:53,941 INFO L78 Accepts]: Start accepts. Automaton has 415 states and 551 transitions. Word has length 60 [2022-04-08 15:07:53,941 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:07:53,941 INFO L478 AbstractCegarLoop]: Abstraction has 415 states and 551 transitions. [2022-04-08 15:07:53,941 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 15:07:53,941 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 415 states and 551 transitions. [2022-04-08 15:07:54,667 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 15:07:54,668 INFO L276 IsEmpty]: Start isEmpty. Operand 415 states and 551 transitions. [2022-04-08 15:07:54,668 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2022-04-08 15:07:54,668 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:07:54,669 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 15:07:54,669 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-04-08 15:07:54,669 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:07:54,669 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:07:54,669 INFO L85 PathProgramCache]: Analyzing trace with hash 400358010, now seen corresponding path program 1 times [2022-04-08 15:07:54,669 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:07:54,669 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1927192127] [2022-04-08 15:07:54,669 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 15:07:54,670 INFO L85 PathProgramCache]: Analyzing trace with hash 400358010, now seen corresponding path program 2 times [2022-04-08 15:07:54,670 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:07:54,670 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1287348191] [2022-04-08 15:07:54,670 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:07:54,670 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:07:54,738 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:54,824 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:07:54,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:54,834 INFO L290 TraceCheckUtils]: 0: Hoare triple {15831#(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; {15799#true} is VALID [2022-04-08 15:07:54,834 INFO L290 TraceCheckUtils]: 1: Hoare triple {15799#true} assume true; {15799#true} is VALID [2022-04-08 15:07:54,834 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {15799#true} {15799#true} #1270#return; {15799#true} is VALID [2022-04-08 15:07:54,857 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:07:54,860 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:54,866 INFO L290 TraceCheckUtils]: 0: Hoare triple {15832#(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; {15799#true} is VALID [2022-04-08 15:07:54,866 INFO L290 TraceCheckUtils]: 1: Hoare triple {15799#true} assume true; {15799#true} is VALID [2022-04-08 15:07:54,866 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {15799#true} {15799#true} #1216#return; {15799#true} is VALID [2022-04-08 15:07:54,872 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:07:54,879 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:54,888 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:07:54,889 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:54,900 INFO L290 TraceCheckUtils]: 0: Hoare triple {15799#true} ~cond := #in~cond; {15799#true} is VALID [2022-04-08 15:07:54,900 INFO L290 TraceCheckUtils]: 1: Hoare triple {15799#true} assume !(0 == ~cond); {15799#true} is VALID [2022-04-08 15:07:54,900 INFO L290 TraceCheckUtils]: 2: Hoare triple {15799#true} assume true; {15799#true} is VALID [2022-04-08 15:07:54,900 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15799#true} {15799#true} #1254#return; {15799#true} is VALID [2022-04-08 15:07:54,900 INFO L290 TraceCheckUtils]: 0: Hoare triple {15833#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {15799#true} is VALID [2022-04-08 15:07:54,900 INFO L272 TraceCheckUtils]: 1: Hoare triple {15799#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {15799#true} is VALID [2022-04-08 15:07:54,900 INFO L290 TraceCheckUtils]: 2: Hoare triple {15799#true} ~cond := #in~cond; {15799#true} is VALID [2022-04-08 15:07:54,900 INFO L290 TraceCheckUtils]: 3: Hoare triple {15799#true} assume !(0 == ~cond); {15799#true} is VALID [2022-04-08 15:07:54,900 INFO L290 TraceCheckUtils]: 4: Hoare triple {15799#true} assume true; {15799#true} is VALID [2022-04-08 15:07:54,900 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {15799#true} {15799#true} #1254#return; {15799#true} is VALID [2022-04-08 15:07:54,900 INFO L290 TraceCheckUtils]: 6: Hoare triple {15799#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {15799#true} is VALID [2022-04-08 15:07:54,900 INFO L290 TraceCheckUtils]: 7: Hoare triple {15799#true} assume true; {15799#true} is VALID [2022-04-08 15:07:54,900 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {15799#true} {15799#true} #1218#return; {15799#true} is VALID [2022-04-08 15:07:54,909 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:07:54,913 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:54,919 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:07:54,921 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:54,926 INFO L290 TraceCheckUtils]: 0: Hoare triple {15838#(and (= |old(#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; {15799#true} is VALID [2022-04-08 15:07:54,927 INFO L290 TraceCheckUtils]: 1: Hoare triple {15799#true} assume !(0 == ~__BLAST_NONDET~5); {15799#true} is VALID [2022-04-08 15:07:54,927 INFO L290 TraceCheckUtils]: 2: Hoare triple {15799#true} #res := -1073741823; {15799#true} is VALID [2022-04-08 15:07:54,927 INFO L290 TraceCheckUtils]: 3: Hoare triple {15799#true} assume true; {15799#true} is VALID [2022-04-08 15:07:54,927 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {15799#true} {15799#true} #1176#return; {15799#true} is VALID [2022-04-08 15:07:54,927 INFO L290 TraceCheckUtils]: 0: Hoare triple {15838#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {15799#true} is VALID [2022-04-08 15:07:54,928 INFO L272 TraceCheckUtils]: 1: Hoare triple {15799#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {15838#(and (= |old(#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 15:07:54,928 INFO L290 TraceCheckUtils]: 2: Hoare triple {15838#(and (= |old(#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; {15799#true} is VALID [2022-04-08 15:07:54,928 INFO L290 TraceCheckUtils]: 3: Hoare triple {15799#true} assume !(0 == ~__BLAST_NONDET~5); {15799#true} is VALID [2022-04-08 15:07:54,928 INFO L290 TraceCheckUtils]: 4: Hoare triple {15799#true} #res := -1073741823; {15799#true} is VALID [2022-04-08 15:07:54,928 INFO L290 TraceCheckUtils]: 5: Hoare triple {15799#true} assume true; {15799#true} is VALID [2022-04-08 15:07:54,929 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {15799#true} {15799#true} #1176#return; {15799#true} is VALID [2022-04-08 15:07:54,929 INFO L290 TraceCheckUtils]: 7: Hoare triple {15799#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {15799#true} is VALID [2022-04-08 15:07:54,929 INFO L290 TraceCheckUtils]: 8: Hoare triple {15799#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {15799#true} is VALID [2022-04-08 15:07:54,929 INFO L290 TraceCheckUtils]: 9: Hoare triple {15799#true} assume true; {15799#true} is VALID [2022-04-08 15:07:54,929 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15799#true} {15799#true} #1220#return; {15799#true} is VALID [2022-04-08 15:07:54,942 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 15:07:54,944 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:07:54,950 INFO L290 TraceCheckUtils]: 0: Hoare triple {15844#(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; {15799#true} is VALID [2022-04-08 15:07:54,950 INFO L290 TraceCheckUtils]: 1: Hoare triple {15799#true} assume true; {15799#true} is VALID [2022-04-08 15:07:54,950 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {15799#true} {15799#true} #1222#return; {15799#true} is VALID [2022-04-08 15:07:54,951 INFO L272 TraceCheckUtils]: 0: Hoare triple {15799#true} call ULTIMATE.init(); {15831#(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 15:07:54,951 INFO L290 TraceCheckUtils]: 1: Hoare triple {15831#(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; {15799#true} is VALID [2022-04-08 15:07:54,951 INFO L290 TraceCheckUtils]: 2: Hoare triple {15799#true} assume true; {15799#true} is VALID [2022-04-08 15:07:54,951 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15799#true} {15799#true} #1270#return; {15799#true} is VALID [2022-04-08 15:07:54,951 INFO L272 TraceCheckUtils]: 4: Hoare triple {15799#true} call #t~ret213 := main(); {15799#true} is VALID [2022-04-08 15:07:54,951 INFO L290 TraceCheckUtils]: 5: Hoare triple {15799#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {15799#true} is VALID [2022-04-08 15:07:54,952 INFO L272 TraceCheckUtils]: 6: Hoare triple {15799#true} call _BLAST_init(); {15832#(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 15:07:54,952 INFO L290 TraceCheckUtils]: 7: Hoare triple {15832#(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; {15799#true} is VALID [2022-04-08 15:07:54,953 INFO L290 TraceCheckUtils]: 8: Hoare triple {15799#true} assume true; {15799#true} is VALID [2022-04-08 15:07:54,953 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {15799#true} {15799#true} #1216#return; {15799#true} is VALID [2022-04-08 15:07:54,953 INFO L272 TraceCheckUtils]: 10: Hoare triple {15799#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {15833#(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 15:07:54,953 INFO L290 TraceCheckUtils]: 11: Hoare triple {15833#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {15799#true} is VALID [2022-04-08 15:07:54,953 INFO L272 TraceCheckUtils]: 12: Hoare triple {15799#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {15799#true} is VALID [2022-04-08 15:07:54,953 INFO L290 TraceCheckUtils]: 13: Hoare triple {15799#true} ~cond := #in~cond; {15799#true} is VALID [2022-04-08 15:07:54,954 INFO L290 TraceCheckUtils]: 14: Hoare triple {15799#true} assume !(0 == ~cond); {15799#true} is VALID [2022-04-08 15:07:54,954 INFO L290 TraceCheckUtils]: 15: Hoare triple {15799#true} assume true; {15799#true} is VALID [2022-04-08 15:07:54,954 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15799#true} {15799#true} #1254#return; {15799#true} is VALID [2022-04-08 15:07:54,954 INFO L290 TraceCheckUtils]: 17: Hoare triple {15799#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {15799#true} is VALID [2022-04-08 15:07:54,954 INFO L290 TraceCheckUtils]: 18: Hoare triple {15799#true} assume true; {15799#true} is VALID [2022-04-08 15:07:54,954 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {15799#true} {15799#true} #1218#return; {15799#true} is VALID [2022-04-08 15:07:54,954 INFO L290 TraceCheckUtils]: 20: Hoare triple {15799#true} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {15799#true} is VALID [2022-04-08 15:07:54,954 INFO L290 TraceCheckUtils]: 21: Hoare triple {15799#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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {15799#true} is VALID [2022-04-08 15:07:54,954 INFO L290 TraceCheckUtils]: 22: Hoare triple {15799#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {15799#true} is VALID [2022-04-08 15:07:54,955 INFO L272 TraceCheckUtils]: 23: Hoare triple {15799#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {15838#(and (= |old(#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 15:07:54,955 INFO L290 TraceCheckUtils]: 24: Hoare triple {15838#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {15799#true} is VALID [2022-04-08 15:07:54,956 INFO L272 TraceCheckUtils]: 25: Hoare triple {15799#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {15838#(and (= |old(#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 15:07:54,956 INFO L290 TraceCheckUtils]: 26: Hoare triple {15838#(and (= |old(#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; {15799#true} is VALID [2022-04-08 15:07:54,956 INFO L290 TraceCheckUtils]: 27: Hoare triple {15799#true} assume !(0 == ~__BLAST_NONDET~5); {15799#true} is VALID [2022-04-08 15:07:54,956 INFO L290 TraceCheckUtils]: 28: Hoare triple {15799#true} #res := -1073741823; {15799#true} is VALID [2022-04-08 15:07:54,956 INFO L290 TraceCheckUtils]: 29: Hoare triple {15799#true} assume true; {15799#true} is VALID [2022-04-08 15:07:54,956 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {15799#true} {15799#true} #1176#return; {15799#true} is VALID [2022-04-08 15:07:54,956 INFO L290 TraceCheckUtils]: 31: Hoare triple {15799#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {15799#true} is VALID [2022-04-08 15:07:54,956 INFO L290 TraceCheckUtils]: 32: Hoare triple {15799#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {15799#true} is VALID [2022-04-08 15:07:54,956 INFO L290 TraceCheckUtils]: 33: Hoare triple {15799#true} assume true; {15799#true} is VALID [2022-04-08 15:07:54,957 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {15799#true} {15799#true} #1220#return; {15799#true} is VALID [2022-04-08 15:07:54,957 INFO L290 TraceCheckUtils]: 35: Hoare triple {15799#true} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {15799#true} is VALID [2022-04-08 15:07:54,957 INFO L272 TraceCheckUtils]: 36: Hoare triple {15799#true} call stub_driver_init(); {15844#(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 15:07:54,957 INFO L290 TraceCheckUtils]: 37: Hoare triple {15844#(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; {15799#true} is VALID [2022-04-08 15:07:54,957 INFO L290 TraceCheckUtils]: 38: Hoare triple {15799#true} assume true; {15799#true} is VALID [2022-04-08 15:07:54,957 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {15799#true} {15799#true} #1222#return; {15799#true} is VALID [2022-04-08 15:07:54,957 INFO L290 TraceCheckUtils]: 40: Hoare triple {15799#true} assume !!(~status~5 >= 0); {15799#true} is VALID [2022-04-08 15:07:54,957 INFO L290 TraceCheckUtils]: 41: Hoare triple {15799#true} assume 0 == ~__BLAST_NONDET~0; {15799#true} is VALID [2022-04-08 15:07:54,958 INFO L272 TraceCheckUtils]: 42: Hoare triple {15799#true} call #t~ret171 := KbFilter_CreateClose(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {15799#true} is VALID [2022-04-08 15:07:54,958 INFO L290 TraceCheckUtils]: 43: Hoare triple {15799#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, 180 + ~Irp.offset, 8);~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, 76 + ~DeviceObject.offset, 8);~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, 44 + ~Irp.offset, 8);~status~1 := #t~mem38;havoc #t~mem38;~status~1 := ~myStatus~0;call #t~mem39 := read~int(~irpStack~0.base, ~irpStack~0.offset, 1); {15799#true} is VALID [2022-04-08 15:07:54,958 INFO L290 TraceCheckUtils]: 44: Hoare triple {15799#true} assume 0 == #t~mem39 % 256;havoc #t~mem39; {15799#true} is VALID [2022-04-08 15:07:54,958 INFO L290 TraceCheckUtils]: 45: Hoare triple {15799#true} call #t~mem41.base, #t~mem41.offset := read~$Pointer$(~devExt~1.base, 40 + ~devExt~1.offset, 8); {15799#true} is VALID [2022-04-08 15:07:54,958 INFO L290 TraceCheckUtils]: 46: Hoare triple {15799#true} assume 0 == (#t~mem41.base + #t~mem41.offset) % 4294967296;havoc #t~mem41.base, #t~mem41.offset;~status~1 := -1073741436; {15799#true} is VALID [2022-04-08 15:07:54,958 INFO L290 TraceCheckUtils]: 47: Hoare triple {15799#true} call write~int(~status~1, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~1 % 4294967296 <= 2147483647 then ~status~1 % 4294967296 else ~status~1 % 4294967296 - 4294967296); {15799#true} is VALID [2022-04-08 15:07:54,958 INFO L272 TraceCheckUtils]: 48: Hoare triple {15799#true} call #t~ret44 := KbFilter_DispatchPassThrough(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset); {15799#true} is VALID [2022-04-08 15:07:54,958 INFO L290 TraceCheckUtils]: 49: Hoare triple {15799#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, 180 + ~Irp.offset, 8);~irpStack~1.base, ~irpStack~1.offset := #t~mem45.base, #t~mem45.offset;havoc #t~mem45.base, #t~mem45.offset; {15799#true} is VALID [2022-04-08 15:07:54,958 INFO L290 TraceCheckUtils]: 50: Hoare triple {15799#true} assume ~s~0 == ~NP~0;~s~0 := ~SKIP1~0; {15830#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-08 15:07:54,959 INFO L290 TraceCheckUtils]: 51: Hoare triple {15830#(= ~SKIP1~0 ~s~0)} call #t~mem46 := read~int(~Irp.base, 63 + ~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, 63 + ~Irp.offset, 1);havoc #t~mem46;call #t~mem47.base, #t~mem47.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);call write~$Pointer$(#t~mem47.base, 68 + #t~mem47.offset, ~Irp.base, 180 + ~Irp.offset, 8);havoc #t~mem47.base, #t~mem47.offset;call #t~mem48.base, #t~mem48.offset := read~$Pointer$(~DeviceObject.base, 76 + ~DeviceObject.offset, 8);call #t~mem49.base, #t~mem49.offset := read~$Pointer$(#t~mem48.base, 16 + #t~mem48.offset, 8); {15830#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-08 15:07:54,960 INFO L272 TraceCheckUtils]: 52: Hoare triple {15830#(= ~SKIP1~0 ~s~0)} call #t~ret50 := IofCallDriver(#t~mem49.base, #t~mem49.offset, ~Irp.base, ~Irp.offset); {15830#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-08 15:07:54,960 INFO L290 TraceCheckUtils]: 53: Hoare triple {15830#(= ~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; {15830#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-08 15:07:54,960 INFO L290 TraceCheckUtils]: 54: Hoare triple {15830#(= ~SKIP1~0 ~s~0)} assume !(0 != ~compRegistered~0); {15830#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-08 15:07:54,961 INFO L290 TraceCheckUtils]: 55: Hoare triple {15830#(= ~SKIP1~0 ~s~0)} assume 0 == ~__BLAST_NONDET~11; {15830#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-08 15:07:54,961 INFO L290 TraceCheckUtils]: 56: Hoare triple {15830#(= ~SKIP1~0 ~s~0)} ~returnVal2~0 := 0; {15830#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-08 15:07:54,961 INFO L290 TraceCheckUtils]: 57: Hoare triple {15830#(= ~SKIP1~0 ~s~0)} assume !(~s~0 == ~NP~0); {15830#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-08 15:07:54,961 INFO L290 TraceCheckUtils]: 58: Hoare triple {15830#(= ~SKIP1~0 ~s~0)} assume !(~s~0 == ~MPR1~0); {15830#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-08 15:07:54,962 INFO L290 TraceCheckUtils]: 59: Hoare triple {15830#(= ~SKIP1~0 ~s~0)} assume !(~s~0 == ~SKIP1~0); {15800#false} is VALID [2022-04-08 15:07:54,962 INFO L272 TraceCheckUtils]: 60: Hoare triple {15800#false} call errorFn(); {15800#false} is VALID [2022-04-08 15:07:54,962 INFO L290 TraceCheckUtils]: 61: Hoare triple {15800#false} assume !false; {15800#false} is VALID [2022-04-08 15:07:54,962 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 15:07:54,962 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:07:54,962 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1287348191] [2022-04-08 15:07:54,962 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1287348191] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:07:54,962 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:07:54,962 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 15:07:54,963 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:07:54,963 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1927192127] [2022-04-08 15:07:54,963 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1927192127] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:07:54,963 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:07:54,963 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 15:07:54,963 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [862882119] [2022-04-08 15:07:54,963 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:07:54,963 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 15:07:54,963 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:07:54,964 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 15:07:55,015 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 15:07:55,015 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 15:07:55,015 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:07:55,015 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 15:07:55,016 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-08 15:07:55,016 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 15:07:57,168 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 15:08:03,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:08:03,432 INFO L93 Difference]: Finished difference Result 433 states and 574 transitions. [2022-04-08 15:08:03,432 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 15:08:03,433 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 15:08:03,433 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:08:03,433 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 15:08:03,435 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 440 transitions. [2022-04-08 15:08:03,436 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 15:08:03,438 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 440 transitions. [2022-04-08 15:08:03,438 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 440 transitions. [2022-04-08 15:08:03,926 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 15:08:03,936 INFO L225 Difference]: With dead ends: 433 [2022-04-08 15:08:03,936 INFO L226 Difference]: Without dead ends: 429 [2022-04-08 15:08:03,937 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 15:08:03,937 INFO L913 BasicCegarLoop]: 298 mSDtfsCounter, 522 mSDsluCounter, 177 mSDsCounter, 0 mSdLazyCounter, 826 mSolverCounterSat, 194 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 526 SdHoareTripleChecker+Valid, 475 SdHoareTripleChecker+Invalid, 1021 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 194 IncrementalHoareTripleChecker+Valid, 826 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.7s IncrementalHoareTripleChecker+Time [2022-04-08 15:08:03,937 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [526 Valid, 475 Invalid, 1021 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [194 Valid, 826 Invalid, 1 Unknown, 0 Unchecked, 4.7s Time] [2022-04-08 15:08:03,938 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 429 states. [2022-04-08 15:08:04,181 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 429 to 414. [2022-04-08 15:08:04,181 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:08:04,182 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 15:08:04,183 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 15:08:04,184 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 15:08:04,191 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:08:04,192 INFO L93 Difference]: Finished difference Result 429 states and 569 transitions. [2022-04-08 15:08:04,192 INFO L276 IsEmpty]: Start isEmpty. Operand 429 states and 569 transitions. [2022-04-08 15:08:04,192 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:08:04,192 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:08:04,193 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 15:08:04,194 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 15:08:04,202 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:08:04,202 INFO L93 Difference]: Finished difference Result 429 states and 569 transitions. [2022-04-08 15:08:04,202 INFO L276 IsEmpty]: Start isEmpty. Operand 429 states and 569 transitions. [2022-04-08 15:08:04,202 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:08:04,203 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:08:04,203 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:08:04,203 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:08:04,204 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 15:08:04,212 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 414 states to 414 states and 548 transitions. [2022-04-08 15:08:04,213 INFO L78 Accepts]: Start accepts. Automaton has 414 states and 548 transitions. Word has length 62 [2022-04-08 15:08:04,213 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:08:04,213 INFO L478 AbstractCegarLoop]: Abstraction has 414 states and 548 transitions. [2022-04-08 15:08:04,213 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 15:08:04,213 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 414 states and 548 transitions. [2022-04-08 15:08:04,935 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 15:08:04,935 INFO L276 IsEmpty]: Start isEmpty. Operand 414 states and 548 transitions. [2022-04-08 15:08:04,936 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-08 15:08:04,936 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:08:04,937 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 15:08:04,937 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2022-04-08 15:08:04,937 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:08:04,937 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:08:04,937 INFO L85 PathProgramCache]: Analyzing trace with hash 466089939, now seen corresponding path program 1 times [2022-04-08 15:08:04,937 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:08:04,937 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [837655518] [2022-04-08 15:08:04,937 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 15:08:04,937 INFO L85 PathProgramCache]: Analyzing trace with hash 466089939, now seen corresponding path program 2 times [2022-04-08 15:08:04,938 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:08:04,938 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [163356749] [2022-04-08 15:08:04,938 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:08:04,938 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:08:04,993 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:05,092 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:08:05,094 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:05,100 INFO L290 TraceCheckUtils]: 0: Hoare triple {18450#(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; {18413#true} is VALID [2022-04-08 15:08:05,100 INFO L290 TraceCheckUtils]: 1: Hoare triple {18413#true} assume true; {18413#true} is VALID [2022-04-08 15:08:05,100 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {18413#true} {18413#true} #1270#return; {18413#true} is VALID [2022-04-08 15:08:05,125 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:08:05,128 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:05,144 INFO L290 TraceCheckUtils]: 0: Hoare triple {18451#(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; {18452#(and (<= 7 ~IPC~0) (= (+ (- 1) ~NP~0) 0))} is VALID [2022-04-08 15:08:05,144 INFO L290 TraceCheckUtils]: 1: Hoare triple {18452#(and (<= 7 ~IPC~0) (= (+ (- 1) ~NP~0) 0))} assume true; {18452#(and (<= 7 ~IPC~0) (= (+ (- 1) ~NP~0) 0))} is VALID [2022-04-08 15:08:05,145 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {18452#(and (<= 7 ~IPC~0) (= (+ (- 1) ~NP~0) 0))} {18413#true} #1216#return; {18421#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} is VALID [2022-04-08 15:08:05,153 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:08:05,163 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:05,172 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:08:05,173 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:05,178 INFO L290 TraceCheckUtils]: 0: Hoare triple {18413#true} ~cond := #in~cond; {18413#true} is VALID [2022-04-08 15:08:05,178 INFO L290 TraceCheckUtils]: 1: Hoare triple {18413#true} assume !(0 == ~cond); {18413#true} is VALID [2022-04-08 15:08:05,178 INFO L290 TraceCheckUtils]: 2: Hoare triple {18413#true} assume true; {18413#true} is VALID [2022-04-08 15:08:05,178 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18413#true} {18413#true} #1254#return; {18413#true} is VALID [2022-04-08 15:08:05,178 INFO L290 TraceCheckUtils]: 0: Hoare triple {18453#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {18413#true} is VALID [2022-04-08 15:08:05,178 INFO L272 TraceCheckUtils]: 1: Hoare triple {18413#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {18413#true} is VALID [2022-04-08 15:08:05,178 INFO L290 TraceCheckUtils]: 2: Hoare triple {18413#true} ~cond := #in~cond; {18413#true} is VALID [2022-04-08 15:08:05,178 INFO L290 TraceCheckUtils]: 3: Hoare triple {18413#true} assume !(0 == ~cond); {18413#true} is VALID [2022-04-08 15:08:05,179 INFO L290 TraceCheckUtils]: 4: Hoare triple {18413#true} assume true; {18413#true} is VALID [2022-04-08 15:08:05,179 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {18413#true} {18413#true} #1254#return; {18413#true} is VALID [2022-04-08 15:08:05,179 INFO L290 TraceCheckUtils]: 6: Hoare triple {18413#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {18413#true} is VALID [2022-04-08 15:08:05,179 INFO L290 TraceCheckUtils]: 7: Hoare triple {18413#true} assume true; {18413#true} is VALID [2022-04-08 15:08:05,179 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {18413#true} {18421#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} #1218#return; {18421#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} is VALID [2022-04-08 15:08:05,190 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:08:05,194 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:05,201 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:08:05,202 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:05,208 INFO L290 TraceCheckUtils]: 0: Hoare triple {18458#(and (= |old(#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; {18413#true} is VALID [2022-04-08 15:08:05,208 INFO L290 TraceCheckUtils]: 1: Hoare triple {18413#true} assume !(0 == ~__BLAST_NONDET~5); {18413#true} is VALID [2022-04-08 15:08:05,208 INFO L290 TraceCheckUtils]: 2: Hoare triple {18413#true} #res := -1073741823; {18413#true} is VALID [2022-04-08 15:08:05,208 INFO L290 TraceCheckUtils]: 3: Hoare triple {18413#true} assume true; {18413#true} is VALID [2022-04-08 15:08:05,208 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {18413#true} {18413#true} #1176#return; {18413#true} is VALID [2022-04-08 15:08:05,208 INFO L290 TraceCheckUtils]: 0: Hoare triple {18458#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {18413#true} is VALID [2022-04-08 15:08:05,210 INFO L272 TraceCheckUtils]: 1: Hoare triple {18413#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {18458#(and (= |old(#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 15:08:05,210 INFO L290 TraceCheckUtils]: 2: Hoare triple {18458#(and (= |old(#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; {18413#true} is VALID [2022-04-08 15:08:05,210 INFO L290 TraceCheckUtils]: 3: Hoare triple {18413#true} assume !(0 == ~__BLAST_NONDET~5); {18413#true} is VALID [2022-04-08 15:08:05,210 INFO L290 TraceCheckUtils]: 4: Hoare triple {18413#true} #res := -1073741823; {18413#true} is VALID [2022-04-08 15:08:05,210 INFO L290 TraceCheckUtils]: 5: Hoare triple {18413#true} assume true; {18413#true} is VALID [2022-04-08 15:08:05,210 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {18413#true} {18413#true} #1176#return; {18413#true} is VALID [2022-04-08 15:08:05,210 INFO L290 TraceCheckUtils]: 7: Hoare triple {18413#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {18413#true} is VALID [2022-04-08 15:08:05,210 INFO L290 TraceCheckUtils]: 8: Hoare triple {18413#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {18413#true} is VALID [2022-04-08 15:08:05,210 INFO L290 TraceCheckUtils]: 9: Hoare triple {18413#true} assume true; {18413#true} is VALID [2022-04-08 15:08:05,211 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18413#true} {18421#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} #1220#return; {18421#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} is VALID [2022-04-08 15:08:05,225 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 15:08:05,227 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:05,260 INFO L290 TraceCheckUtils]: 0: Hoare triple {18464#(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; {18465#(and (or (not (<= ~s~0 0)) (<= ~NP~0 ~s~0)) (or (<= ~s~0 ~NP~0) (<= ~s~0 1)))} is VALID [2022-04-08 15:08:05,261 INFO L290 TraceCheckUtils]: 1: Hoare triple {18465#(and (or (not (<= ~s~0 0)) (<= ~NP~0 ~s~0)) (or (<= ~s~0 ~NP~0) (<= ~s~0 1)))} assume true; {18465#(and (or (not (<= ~s~0 0)) (<= ~NP~0 ~s~0)) (or (<= ~s~0 ~NP~0) (<= ~s~0 1)))} is VALID [2022-04-08 15:08:05,261 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {18465#(and (or (not (<= ~s~0 0)) (<= ~NP~0 ~s~0)) (or (<= ~s~0 ~NP~0) (<= ~s~0 1)))} {18421#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} #1222#return; {18445#(and (= ~s~0 1) (not (= ~IPC~0 1)))} is VALID [2022-04-08 15:08:05,262 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 44 [2022-04-08 15:08:05,264 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:05,269 INFO L290 TraceCheckUtils]: 0: Hoare triple {18413#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; {18413#true} is VALID [2022-04-08 15:08:05,270 INFO L290 TraceCheckUtils]: 1: Hoare triple {18413#true} assume 0 != #t~nondet17;havoc #t~nondet17;#res := 0; {18413#true} is VALID [2022-04-08 15:08:05,270 INFO L290 TraceCheckUtils]: 2: Hoare triple {18413#true} assume true; {18413#true} is VALID [2022-04-08 15:08:05,270 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18413#true} {18445#(and (= ~s~0 1) (not (= ~IPC~0 1)))} #1228#return; {18445#(and (= ~s~0 1) (not (= ~IPC~0 1)))} is VALID [2022-04-08 15:08:05,272 INFO L272 TraceCheckUtils]: 0: Hoare triple {18413#true} call ULTIMATE.init(); {18450#(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 15:08:05,272 INFO L290 TraceCheckUtils]: 1: Hoare triple {18450#(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; {18413#true} is VALID [2022-04-08 15:08:05,272 INFO L290 TraceCheckUtils]: 2: Hoare triple {18413#true} assume true; {18413#true} is VALID [2022-04-08 15:08:05,272 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18413#true} {18413#true} #1270#return; {18413#true} is VALID [2022-04-08 15:08:05,272 INFO L272 TraceCheckUtils]: 4: Hoare triple {18413#true} call #t~ret213 := main(); {18413#true} is VALID [2022-04-08 15:08:05,272 INFO L290 TraceCheckUtils]: 5: Hoare triple {18413#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {18413#true} is VALID [2022-04-08 15:08:05,273 INFO L272 TraceCheckUtils]: 6: Hoare triple {18413#true} call _BLAST_init(); {18451#(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 15:08:05,273 INFO L290 TraceCheckUtils]: 7: Hoare triple {18451#(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; {18452#(and (<= 7 ~IPC~0) (= (+ (- 1) ~NP~0) 0))} is VALID [2022-04-08 15:08:05,274 INFO L290 TraceCheckUtils]: 8: Hoare triple {18452#(and (<= 7 ~IPC~0) (= (+ (- 1) ~NP~0) 0))} assume true; {18452#(and (<= 7 ~IPC~0) (= (+ (- 1) ~NP~0) 0))} is VALID [2022-04-08 15:08:05,274 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {18452#(and (<= 7 ~IPC~0) (= (+ (- 1) ~NP~0) 0))} {18413#true} #1216#return; {18421#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} is VALID [2022-04-08 15:08:05,275 INFO L272 TraceCheckUtils]: 10: Hoare triple {18421#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {18453#(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 15:08:05,275 INFO L290 TraceCheckUtils]: 11: Hoare triple {18453#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {18413#true} is VALID [2022-04-08 15:08:05,275 INFO L272 TraceCheckUtils]: 12: Hoare triple {18413#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {18413#true} is VALID [2022-04-08 15:08:05,275 INFO L290 TraceCheckUtils]: 13: Hoare triple {18413#true} ~cond := #in~cond; {18413#true} is VALID [2022-04-08 15:08:05,275 INFO L290 TraceCheckUtils]: 14: Hoare triple {18413#true} assume !(0 == ~cond); {18413#true} is VALID [2022-04-08 15:08:05,275 INFO L290 TraceCheckUtils]: 15: Hoare triple {18413#true} assume true; {18413#true} is VALID [2022-04-08 15:08:05,275 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {18413#true} {18413#true} #1254#return; {18413#true} is VALID [2022-04-08 15:08:05,275 INFO L290 TraceCheckUtils]: 17: Hoare triple {18413#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {18413#true} is VALID [2022-04-08 15:08:05,275 INFO L290 TraceCheckUtils]: 18: Hoare triple {18413#true} assume true; {18413#true} is VALID [2022-04-08 15:08:05,276 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {18413#true} {18421#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} #1218#return; {18421#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} is VALID [2022-04-08 15:08:05,276 INFO L290 TraceCheckUtils]: 20: Hoare triple {18421#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {18421#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} is VALID [2022-04-08 15:08:05,277 INFO L290 TraceCheckUtils]: 21: Hoare triple {18421#(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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {18421#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} is VALID [2022-04-08 15:08:05,277 INFO L290 TraceCheckUtils]: 22: Hoare triple {18421#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {18421#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} is VALID [2022-04-08 15:08:05,278 INFO L272 TraceCheckUtils]: 23: Hoare triple {18421#(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); {18458#(and (= |old(#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 15:08:05,278 INFO L290 TraceCheckUtils]: 24: Hoare triple {18458#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {18413#true} is VALID [2022-04-08 15:08:05,279 INFO L272 TraceCheckUtils]: 25: Hoare triple {18413#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {18458#(and (= |old(#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 15:08:05,280 INFO L290 TraceCheckUtils]: 26: Hoare triple {18458#(and (= |old(#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; {18413#true} is VALID [2022-04-08 15:08:05,280 INFO L290 TraceCheckUtils]: 27: Hoare triple {18413#true} assume !(0 == ~__BLAST_NONDET~5); {18413#true} is VALID [2022-04-08 15:08:05,280 INFO L290 TraceCheckUtils]: 28: Hoare triple {18413#true} #res := -1073741823; {18413#true} is VALID [2022-04-08 15:08:05,280 INFO L290 TraceCheckUtils]: 29: Hoare triple {18413#true} assume true; {18413#true} is VALID [2022-04-08 15:08:05,280 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {18413#true} {18413#true} #1176#return; {18413#true} is VALID [2022-04-08 15:08:05,280 INFO L290 TraceCheckUtils]: 31: Hoare triple {18413#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {18413#true} is VALID [2022-04-08 15:08:05,280 INFO L290 TraceCheckUtils]: 32: Hoare triple {18413#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {18413#true} is VALID [2022-04-08 15:08:05,280 INFO L290 TraceCheckUtils]: 33: Hoare triple {18413#true} assume true; {18413#true} is VALID [2022-04-08 15:08:05,281 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {18413#true} {18421#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} #1220#return; {18421#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} is VALID [2022-04-08 15:08:05,281 INFO L290 TraceCheckUtils]: 35: Hoare triple {18421#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {18421#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} is VALID [2022-04-08 15:08:05,282 INFO L272 TraceCheckUtils]: 36: Hoare triple {18421#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} call stub_driver_init(); {18464#(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 15:08:05,282 INFO L290 TraceCheckUtils]: 37: Hoare triple {18464#(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; {18465#(and (or (not (<= ~s~0 0)) (<= ~NP~0 ~s~0)) (or (<= ~s~0 ~NP~0) (<= ~s~0 1)))} is VALID [2022-04-08 15:08:05,282 INFO L290 TraceCheckUtils]: 38: Hoare triple {18465#(and (or (not (<= ~s~0 0)) (<= ~NP~0 ~s~0)) (or (<= ~s~0 ~NP~0) (<= ~s~0 1)))} assume true; {18465#(and (or (not (<= ~s~0 0)) (<= ~NP~0 ~s~0)) (or (<= ~s~0 ~NP~0) (<= ~s~0 1)))} is VALID [2022-04-08 15:08:05,283 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {18465#(and (or (not (<= ~s~0 0)) (<= ~NP~0 ~s~0)) (or (<= ~s~0 ~NP~0) (<= ~s~0 1)))} {18421#(and (not (= ~IPC~0 1)) (= ~NP~0 1))} #1222#return; {18445#(and (= ~s~0 1) (not (= ~IPC~0 1)))} is VALID [2022-04-08 15:08:05,283 INFO L290 TraceCheckUtils]: 40: Hoare triple {18445#(and (= ~s~0 1) (not (= ~IPC~0 1)))} assume !!(~status~5 >= 0); {18445#(and (= ~s~0 1) (not (= ~IPC~0 1)))} is VALID [2022-04-08 15:08:05,284 INFO L290 TraceCheckUtils]: 41: Hoare triple {18445#(and (= ~s~0 1) (not (= ~IPC~0 1)))} assume !(0 == ~__BLAST_NONDET~0); {18445#(and (= ~s~0 1) (not (= ~IPC~0 1)))} is VALID [2022-04-08 15:08:05,284 INFO L290 TraceCheckUtils]: 42: Hoare triple {18445#(and (= ~s~0 1) (not (= ~IPC~0 1)))} assume !(1 == ~__BLAST_NONDET~0); {18445#(and (= ~s~0 1) (not (= ~IPC~0 1)))} is VALID [2022-04-08 15:08:05,284 INFO L290 TraceCheckUtils]: 43: Hoare triple {18445#(and (= ~s~0 1) (not (= ~IPC~0 1)))} assume 2 == ~__BLAST_NONDET~0; {18445#(and (= ~s~0 1) (not (= ~IPC~0 1)))} is VALID [2022-04-08 15:08:05,284 INFO L272 TraceCheckUtils]: 44: Hoare triple {18445#(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); {18413#true} is VALID [2022-04-08 15:08:05,284 INFO L290 TraceCheckUtils]: 45: Hoare triple {18413#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; {18413#true} is VALID [2022-04-08 15:08:05,284 INFO L290 TraceCheckUtils]: 46: Hoare triple {18413#true} assume 0 != #t~nondet17;havoc #t~nondet17;#res := 0; {18413#true} is VALID [2022-04-08 15:08:05,284 INFO L290 TraceCheckUtils]: 47: Hoare triple {18413#true} assume true; {18413#true} is VALID [2022-04-08 15:08:05,285 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {18413#true} {18445#(and (= ~s~0 1) (not (= ~IPC~0 1)))} #1228#return; {18445#(and (= ~s~0 1) (not (= ~IPC~0 1)))} is VALID [2022-04-08 15:08:05,285 INFO L290 TraceCheckUtils]: 49: Hoare triple {18445#(and (= ~s~0 1) (not (= ~IPC~0 1)))} assume -9223372036854775808 <= #t~ret173 && #t~ret173 <= 9223372036854775807;~status~5 := #t~ret173;havoc #t~ret173; {18445#(and (= ~s~0 1) (not (= ~IPC~0 1)))} is VALID [2022-04-08 15:08:05,286 INFO L290 TraceCheckUtils]: 50: Hoare triple {18445#(and (= ~s~0 1) (not (= ~IPC~0 1)))} assume 0 != ~we_should_unload~0; {18445#(and (= ~s~0 1) (not (= ~IPC~0 1)))} is VALID [2022-04-08 15:08:05,286 INFO L290 TraceCheckUtils]: 51: Hoare triple {18445#(and (= ~s~0 1) (not (= ~IPC~0 1)))} assume !(1 == ~pended~0); {18445#(and (= ~s~0 1) (not (= ~IPC~0 1)))} is VALID [2022-04-08 15:08:05,286 INFO L290 TraceCheckUtils]: 52: Hoare triple {18445#(and (= ~s~0 1) (not (= ~IPC~0 1)))} assume !(1 == ~pended~0); {18445#(and (= ~s~0 1) (not (= ~IPC~0 1)))} is VALID [2022-04-08 15:08:05,287 INFO L290 TraceCheckUtils]: 53: Hoare triple {18445#(and (= ~s~0 1) (not (= ~IPC~0 1)))} assume !(~s~0 == ~UNLOADED~0); {18445#(and (= ~s~0 1) (not (= ~IPC~0 1)))} is VALID [2022-04-08 15:08:05,287 INFO L290 TraceCheckUtils]: 54: Hoare triple {18445#(and (= ~s~0 1) (not (= ~IPC~0 1)))} assume !(-1 == ~status~5); {18445#(and (= ~s~0 1) (not (= ~IPC~0 1)))} is VALID [2022-04-08 15:08:05,287 INFO L290 TraceCheckUtils]: 55: Hoare triple {18445#(and (= ~s~0 1) (not (= ~IPC~0 1)))} assume ~s~0 != ~SKIP2~0; {18445#(and (= ~s~0 1) (not (= ~IPC~0 1)))} is VALID [2022-04-08 15:08:05,287 INFO L290 TraceCheckUtils]: 56: Hoare triple {18445#(and (= ~s~0 1) (not (= ~IPC~0 1)))} assume !(~s~0 != ~IPC~0); {18414#false} is VALID [2022-04-08 15:08:05,288 INFO L290 TraceCheckUtils]: 57: Hoare triple {18414#false} assume 1 == ~pended~0; {18414#false} is VALID [2022-04-08 15:08:05,288 INFO L290 TraceCheckUtils]: 58: Hoare triple {18414#false} assume 259 != ~status~5; {18414#false} is VALID [2022-04-08 15:08:05,288 INFO L272 TraceCheckUtils]: 59: Hoare triple {18414#false} call errorFn(); {18414#false} is VALID [2022-04-08 15:08:05,288 INFO L290 TraceCheckUtils]: 60: Hoare triple {18414#false} assume !false; {18414#false} is VALID [2022-04-08 15:08:05,288 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 15:08:05,288 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:08:05,288 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [163356749] [2022-04-08 15:08:05,288 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [163356749] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:08:05,288 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:08:05,288 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 15:08:05,288 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:08:05,289 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [837655518] [2022-04-08 15:08:05,289 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [837655518] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:08:05,289 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:08:05,289 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 15:08:05,289 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1189256199] [2022-04-08 15:08:05,289 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:08:05,289 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 15:08:05,289 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:08:05,289 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 15:08:05,342 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 15:08:05,342 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 15:08:05,342 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:08:05,342 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 15:08:05,342 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-08 15:08:05,342 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 15:08:07,542 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 15:08:13,082 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.11s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 15:08:17,409 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:08:17,409 INFO L93 Difference]: Finished difference Result 448 states and 589 transitions. [2022-04-08 15:08:17,409 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-08 15:08:17,409 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 15:08:17,409 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:08:17,409 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 15:08:17,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 537 transitions. [2022-04-08 15:08:17,412 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 15:08:17,415 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 537 transitions. [2022-04-08 15:08:17,415 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 537 transitions. [2022-04-08 15:08:18,044 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 15:08:18,054 INFO L225 Difference]: With dead ends: 448 [2022-04-08 15:08:18,055 INFO L226 Difference]: Without dead ends: 440 [2022-04-08 15:08:18,055 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 15:08:18,055 INFO L913 BasicCegarLoop]: 336 mSDtfsCounter, 1486 mSDsluCounter, 273 mSDsCounter, 0 mSdLazyCounter, 895 mSolverCounterSat, 487 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1495 SdHoareTripleChecker+Valid, 609 SdHoareTripleChecker+Invalid, 1383 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 487 IncrementalHoareTripleChecker+Valid, 895 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.6s IncrementalHoareTripleChecker+Time [2022-04-08 15:08:18,056 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [1495 Valid, 609 Invalid, 1383 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [487 Valid, 895 Invalid, 1 Unknown, 0 Unchecked, 6.6s Time] [2022-04-08 15:08:18,056 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 440 states. [2022-04-08 15:08:18,388 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 440 to 415. [2022-04-08 15:08:18,388 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:08:18,389 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 15:08:18,390 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 15:08:18,390 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 15:08:18,398 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:08:18,399 INFO L93 Difference]: Finished difference Result 440 states and 580 transitions. [2022-04-08 15:08:18,399 INFO L276 IsEmpty]: Start isEmpty. Operand 440 states and 580 transitions. [2022-04-08 15:08:18,399 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:08:18,399 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:08:18,401 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 15:08:18,401 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 15:08:18,410 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:08:18,410 INFO L93 Difference]: Finished difference Result 440 states and 580 transitions. [2022-04-08 15:08:18,410 INFO L276 IsEmpty]: Start isEmpty. Operand 440 states and 580 transitions. [2022-04-08 15:08:18,411 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:08:18,411 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:08:18,411 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:08:18,411 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:08:18,413 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 15:08:18,422 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 415 states to 415 states and 549 transitions. [2022-04-08 15:08:18,422 INFO L78 Accepts]: Start accepts. Automaton has 415 states and 549 transitions. Word has length 61 [2022-04-08 15:08:18,422 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:08:18,422 INFO L478 AbstractCegarLoop]: Abstraction has 415 states and 549 transitions. [2022-04-08 15:08:18,422 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 15:08:18,422 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 415 states and 549 transitions. [2022-04-08 15:08:19,150 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 15:08:19,150 INFO L276 IsEmpty]: Start isEmpty. Operand 415 states and 549 transitions. [2022-04-08 15:08:19,151 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2022-04-08 15:08:19,151 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:08:19,151 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 15:08:19,151 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2022-04-08 15:08:19,151 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:08:19,152 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:08:19,152 INFO L85 PathProgramCache]: Analyzing trace with hash 1325055407, now seen corresponding path program 1 times [2022-04-08 15:08:19,152 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:08:19,152 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1208103011] [2022-04-08 15:08:19,152 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 15:08:19,152 INFO L85 PathProgramCache]: Analyzing trace with hash 1325055407, now seen corresponding path program 2 times [2022-04-08 15:08:19,152 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:08:19,152 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [226976888] [2022-04-08 15:08:19,152 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:08:19,152 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:08:19,199 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:19,274 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:08:19,276 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:19,281 INFO L290 TraceCheckUtils]: 0: Hoare triple {21141#(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; {21104#true} is VALID [2022-04-08 15:08:19,282 INFO L290 TraceCheckUtils]: 1: Hoare triple {21104#true} assume true; {21104#true} is VALID [2022-04-08 15:08:19,282 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {21104#true} {21104#true} #1270#return; {21104#true} is VALID [2022-04-08 15:08:19,301 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:08:19,315 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:19,330 INFO L290 TraceCheckUtils]: 0: Hoare triple {21142#(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; {21112#(not (= ~DC~0 ~NP~0))} is VALID [2022-04-08 15:08:19,331 INFO L290 TraceCheckUtils]: 1: Hoare triple {21112#(not (= ~DC~0 ~NP~0))} assume true; {21112#(not (= ~DC~0 ~NP~0))} is VALID [2022-04-08 15:08:19,331 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {21112#(not (= ~DC~0 ~NP~0))} {21104#true} #1216#return; {21112#(not (= ~DC~0 ~NP~0))} is VALID [2022-04-08 15:08:19,338 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:08:19,348 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:19,369 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:08:19,369 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:19,375 INFO L290 TraceCheckUtils]: 0: Hoare triple {21104#true} ~cond := #in~cond; {21104#true} is VALID [2022-04-08 15:08:19,375 INFO L290 TraceCheckUtils]: 1: Hoare triple {21104#true} assume !(0 == ~cond); {21104#true} is VALID [2022-04-08 15:08:19,375 INFO L290 TraceCheckUtils]: 2: Hoare triple {21104#true} assume true; {21104#true} is VALID [2022-04-08 15:08:19,386 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21104#true} {21104#true} #1254#return; {21104#true} is VALID [2022-04-08 15:08:19,386 INFO L290 TraceCheckUtils]: 0: Hoare triple {21143#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {21104#true} is VALID [2022-04-08 15:08:19,386 INFO L272 TraceCheckUtils]: 1: Hoare triple {21104#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {21104#true} is VALID [2022-04-08 15:08:19,386 INFO L290 TraceCheckUtils]: 2: Hoare triple {21104#true} ~cond := #in~cond; {21104#true} is VALID [2022-04-08 15:08:19,387 INFO L290 TraceCheckUtils]: 3: Hoare triple {21104#true} assume !(0 == ~cond); {21104#true} is VALID [2022-04-08 15:08:19,387 INFO L290 TraceCheckUtils]: 4: Hoare triple {21104#true} assume true; {21104#true} is VALID [2022-04-08 15:08:19,387 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {21104#true} {21104#true} #1254#return; {21104#true} is VALID [2022-04-08 15:08:19,387 INFO L290 TraceCheckUtils]: 6: Hoare triple {21104#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {21104#true} is VALID [2022-04-08 15:08:19,387 INFO L290 TraceCheckUtils]: 7: Hoare triple {21104#true} assume true; {21104#true} is VALID [2022-04-08 15:08:19,397 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {21104#true} {21112#(not (= ~DC~0 ~NP~0))} #1218#return; {21112#(not (= ~DC~0 ~NP~0))} is VALID [2022-04-08 15:08:19,406 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:08:19,410 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:19,418 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:08:19,419 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:19,425 INFO L290 TraceCheckUtils]: 0: Hoare triple {21148#(and (= |old(#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; {21104#true} is VALID [2022-04-08 15:08:19,425 INFO L290 TraceCheckUtils]: 1: Hoare triple {21104#true} assume !(0 == ~__BLAST_NONDET~5); {21104#true} is VALID [2022-04-08 15:08:19,425 INFO L290 TraceCheckUtils]: 2: Hoare triple {21104#true} #res := -1073741823; {21104#true} is VALID [2022-04-08 15:08:19,425 INFO L290 TraceCheckUtils]: 3: Hoare triple {21104#true} assume true; {21104#true} is VALID [2022-04-08 15:08:19,426 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {21104#true} {21104#true} #1176#return; {21104#true} is VALID [2022-04-08 15:08:19,426 INFO L290 TraceCheckUtils]: 0: Hoare triple {21148#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {21104#true} is VALID [2022-04-08 15:08:19,427 INFO L272 TraceCheckUtils]: 1: Hoare triple {21104#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {21148#(and (= |old(#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 15:08:19,427 INFO L290 TraceCheckUtils]: 2: Hoare triple {21148#(and (= |old(#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; {21104#true} is VALID [2022-04-08 15:08:19,427 INFO L290 TraceCheckUtils]: 3: Hoare triple {21104#true} assume !(0 == ~__BLAST_NONDET~5); {21104#true} is VALID [2022-04-08 15:08:19,427 INFO L290 TraceCheckUtils]: 4: Hoare triple {21104#true} #res := -1073741823; {21104#true} is VALID [2022-04-08 15:08:19,427 INFO L290 TraceCheckUtils]: 5: Hoare triple {21104#true} assume true; {21104#true} is VALID [2022-04-08 15:08:19,427 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {21104#true} {21104#true} #1176#return; {21104#true} is VALID [2022-04-08 15:08:19,427 INFO L290 TraceCheckUtils]: 7: Hoare triple {21104#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {21104#true} is VALID [2022-04-08 15:08:19,427 INFO L290 TraceCheckUtils]: 8: Hoare triple {21104#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {21104#true} is VALID [2022-04-08 15:08:19,427 INFO L290 TraceCheckUtils]: 9: Hoare triple {21104#true} assume true; {21104#true} is VALID [2022-04-08 15:08:19,428 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21104#true} {21112#(not (= ~DC~0 ~NP~0))} #1220#return; {21112#(not (= ~DC~0 ~NP~0))} is VALID [2022-04-08 15:08:19,440 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 15:08:19,443 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:19,456 INFO L290 TraceCheckUtils]: 0: Hoare triple {21154#(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; {21155#(= ~s~0 ~NP~0)} is VALID [2022-04-08 15:08:19,456 INFO L290 TraceCheckUtils]: 1: Hoare triple {21155#(= ~s~0 ~NP~0)} assume true; {21155#(= ~s~0 ~NP~0)} is VALID [2022-04-08 15:08:19,457 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {21155#(= ~s~0 ~NP~0)} {21112#(not (= ~DC~0 ~NP~0))} #1222#return; {21136#(not (= ~s~0 ~DC~0))} is VALID [2022-04-08 15:08:19,457 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 44 [2022-04-08 15:08:19,459 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:19,465 INFO L290 TraceCheckUtils]: 0: Hoare triple {21104#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; {21104#true} is VALID [2022-04-08 15:08:19,465 INFO L290 TraceCheckUtils]: 1: Hoare triple {21104#true} assume 0 != #t~nondet17;havoc #t~nondet17;#res := 0; {21104#true} is VALID [2022-04-08 15:08:19,465 INFO L290 TraceCheckUtils]: 2: Hoare triple {21104#true} assume true; {21104#true} is VALID [2022-04-08 15:08:19,466 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21104#true} {21136#(not (= ~s~0 ~DC~0))} #1228#return; {21136#(not (= ~s~0 ~DC~0))} is VALID [2022-04-08 15:08:19,467 INFO L272 TraceCheckUtils]: 0: Hoare triple {21104#true} call ULTIMATE.init(); {21141#(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 15:08:19,467 INFO L290 TraceCheckUtils]: 1: Hoare triple {21141#(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; {21104#true} is VALID [2022-04-08 15:08:19,467 INFO L290 TraceCheckUtils]: 2: Hoare triple {21104#true} assume true; {21104#true} is VALID [2022-04-08 15:08:19,467 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21104#true} {21104#true} #1270#return; {21104#true} is VALID [2022-04-08 15:08:19,467 INFO L272 TraceCheckUtils]: 4: Hoare triple {21104#true} call #t~ret213 := main(); {21104#true} is VALID [2022-04-08 15:08:19,467 INFO L290 TraceCheckUtils]: 5: Hoare triple {21104#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {21104#true} is VALID [2022-04-08 15:08:19,468 INFO L272 TraceCheckUtils]: 6: Hoare triple {21104#true} call _BLAST_init(); {21142#(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 15:08:19,469 INFO L290 TraceCheckUtils]: 7: Hoare triple {21142#(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; {21112#(not (= ~DC~0 ~NP~0))} is VALID [2022-04-08 15:08:19,469 INFO L290 TraceCheckUtils]: 8: Hoare triple {21112#(not (= ~DC~0 ~NP~0))} assume true; {21112#(not (= ~DC~0 ~NP~0))} is VALID [2022-04-08 15:08:19,469 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {21112#(not (= ~DC~0 ~NP~0))} {21104#true} #1216#return; {21112#(not (= ~DC~0 ~NP~0))} is VALID [2022-04-08 15:08:19,470 INFO L272 TraceCheckUtils]: 10: Hoare triple {21112#(not (= ~DC~0 ~NP~0))} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {21143#(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 15:08:19,470 INFO L290 TraceCheckUtils]: 11: Hoare triple {21143#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {21104#true} is VALID [2022-04-08 15:08:19,470 INFO L272 TraceCheckUtils]: 12: Hoare triple {21104#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {21104#true} is VALID [2022-04-08 15:08:19,470 INFO L290 TraceCheckUtils]: 13: Hoare triple {21104#true} ~cond := #in~cond; {21104#true} is VALID [2022-04-08 15:08:19,470 INFO L290 TraceCheckUtils]: 14: Hoare triple {21104#true} assume !(0 == ~cond); {21104#true} is VALID [2022-04-08 15:08:19,470 INFO L290 TraceCheckUtils]: 15: Hoare triple {21104#true} assume true; {21104#true} is VALID [2022-04-08 15:08:19,470 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {21104#true} {21104#true} #1254#return; {21104#true} is VALID [2022-04-08 15:08:19,470 INFO L290 TraceCheckUtils]: 17: Hoare triple {21104#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {21104#true} is VALID [2022-04-08 15:08:19,470 INFO L290 TraceCheckUtils]: 18: Hoare triple {21104#true} assume true; {21104#true} is VALID [2022-04-08 15:08:19,471 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {21104#true} {21112#(not (= ~DC~0 ~NP~0))} #1218#return; {21112#(not (= ~DC~0 ~NP~0))} is VALID [2022-04-08 15:08:19,471 INFO L290 TraceCheckUtils]: 20: Hoare triple {21112#(not (= ~DC~0 ~NP~0))} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {21112#(not (= ~DC~0 ~NP~0))} is VALID [2022-04-08 15:08:19,471 INFO L290 TraceCheckUtils]: 21: Hoare triple {21112#(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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {21112#(not (= ~DC~0 ~NP~0))} is VALID [2022-04-08 15:08:19,471 INFO L290 TraceCheckUtils]: 22: Hoare triple {21112#(not (= ~DC~0 ~NP~0))} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {21112#(not (= ~DC~0 ~NP~0))} is VALID [2022-04-08 15:08:19,472 INFO L272 TraceCheckUtils]: 23: Hoare triple {21112#(not (= ~DC~0 ~NP~0))} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {21148#(and (= |old(#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 15:08:19,472 INFO L290 TraceCheckUtils]: 24: Hoare triple {21148#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {21104#true} is VALID [2022-04-08 15:08:19,473 INFO L272 TraceCheckUtils]: 25: Hoare triple {21104#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {21148#(and (= |old(#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 15:08:19,473 INFO L290 TraceCheckUtils]: 26: Hoare triple {21148#(and (= |old(#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; {21104#true} is VALID [2022-04-08 15:08:19,473 INFO L290 TraceCheckUtils]: 27: Hoare triple {21104#true} assume !(0 == ~__BLAST_NONDET~5); {21104#true} is VALID [2022-04-08 15:08:19,473 INFO L290 TraceCheckUtils]: 28: Hoare triple {21104#true} #res := -1073741823; {21104#true} is VALID [2022-04-08 15:08:19,473 INFO L290 TraceCheckUtils]: 29: Hoare triple {21104#true} assume true; {21104#true} is VALID [2022-04-08 15:08:19,473 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {21104#true} {21104#true} #1176#return; {21104#true} is VALID [2022-04-08 15:08:19,474 INFO L290 TraceCheckUtils]: 31: Hoare triple {21104#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {21104#true} is VALID [2022-04-08 15:08:19,474 INFO L290 TraceCheckUtils]: 32: Hoare triple {21104#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {21104#true} is VALID [2022-04-08 15:08:19,474 INFO L290 TraceCheckUtils]: 33: Hoare triple {21104#true} assume true; {21104#true} is VALID [2022-04-08 15:08:19,474 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {21104#true} {21112#(not (= ~DC~0 ~NP~0))} #1220#return; {21112#(not (= ~DC~0 ~NP~0))} is VALID [2022-04-08 15:08:19,474 INFO L290 TraceCheckUtils]: 35: Hoare triple {21112#(not (= ~DC~0 ~NP~0))} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {21112#(not (= ~DC~0 ~NP~0))} is VALID [2022-04-08 15:08:19,475 INFO L272 TraceCheckUtils]: 36: Hoare triple {21112#(not (= ~DC~0 ~NP~0))} call stub_driver_init(); {21154#(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 15:08:19,475 INFO L290 TraceCheckUtils]: 37: Hoare triple {21154#(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; {21155#(= ~s~0 ~NP~0)} is VALID [2022-04-08 15:08:19,475 INFO L290 TraceCheckUtils]: 38: Hoare triple {21155#(= ~s~0 ~NP~0)} assume true; {21155#(= ~s~0 ~NP~0)} is VALID [2022-04-08 15:08:19,476 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {21155#(= ~s~0 ~NP~0)} {21112#(not (= ~DC~0 ~NP~0))} #1222#return; {21136#(not (= ~s~0 ~DC~0))} is VALID [2022-04-08 15:08:19,476 INFO L290 TraceCheckUtils]: 40: Hoare triple {21136#(not (= ~s~0 ~DC~0))} assume !!(~status~5 >= 0); {21136#(not (= ~s~0 ~DC~0))} is VALID [2022-04-08 15:08:19,476 INFO L290 TraceCheckUtils]: 41: Hoare triple {21136#(not (= ~s~0 ~DC~0))} assume !(0 == ~__BLAST_NONDET~0); {21136#(not (= ~s~0 ~DC~0))} is VALID [2022-04-08 15:08:19,476 INFO L290 TraceCheckUtils]: 42: Hoare triple {21136#(not (= ~s~0 ~DC~0))} assume !(1 == ~__BLAST_NONDET~0); {21136#(not (= ~s~0 ~DC~0))} is VALID [2022-04-08 15:08:19,477 INFO L290 TraceCheckUtils]: 43: Hoare triple {21136#(not (= ~s~0 ~DC~0))} assume 2 == ~__BLAST_NONDET~0; {21136#(not (= ~s~0 ~DC~0))} is VALID [2022-04-08 15:08:19,477 INFO L272 TraceCheckUtils]: 44: Hoare triple {21136#(not (= ~s~0 ~DC~0))} call #t~ret173 := KbFilter_IoCtl(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {21104#true} is VALID [2022-04-08 15:08:19,477 INFO L290 TraceCheckUtils]: 45: Hoare triple {21104#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; {21104#true} is VALID [2022-04-08 15:08:19,477 INFO L290 TraceCheckUtils]: 46: Hoare triple {21104#true} assume 0 != #t~nondet17;havoc #t~nondet17;#res := 0; {21104#true} is VALID [2022-04-08 15:08:19,477 INFO L290 TraceCheckUtils]: 47: Hoare triple {21104#true} assume true; {21104#true} is VALID [2022-04-08 15:08:19,477 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {21104#true} {21136#(not (= ~s~0 ~DC~0))} #1228#return; {21136#(not (= ~s~0 ~DC~0))} is VALID [2022-04-08 15:08:19,478 INFO L290 TraceCheckUtils]: 49: Hoare triple {21136#(not (= ~s~0 ~DC~0))} assume -9223372036854775808 <= #t~ret173 && #t~ret173 <= 9223372036854775807;~status~5 := #t~ret173;havoc #t~ret173; {21136#(not (= ~s~0 ~DC~0))} is VALID [2022-04-08 15:08:19,478 INFO L290 TraceCheckUtils]: 50: Hoare triple {21136#(not (= ~s~0 ~DC~0))} assume 0 != ~we_should_unload~0; {21136#(not (= ~s~0 ~DC~0))} is VALID [2022-04-08 15:08:19,478 INFO L290 TraceCheckUtils]: 51: Hoare triple {21136#(not (= ~s~0 ~DC~0))} assume !(1 == ~pended~0); {21136#(not (= ~s~0 ~DC~0))} is VALID [2022-04-08 15:08:19,478 INFO L290 TraceCheckUtils]: 52: Hoare triple {21136#(not (= ~s~0 ~DC~0))} assume !(1 == ~pended~0); {21136#(not (= ~s~0 ~DC~0))} is VALID [2022-04-08 15:08:19,478 INFO L290 TraceCheckUtils]: 53: Hoare triple {21136#(not (= ~s~0 ~DC~0))} assume !(~s~0 == ~UNLOADED~0); {21136#(not (= ~s~0 ~DC~0))} is VALID [2022-04-08 15:08:19,479 INFO L290 TraceCheckUtils]: 54: Hoare triple {21136#(not (= ~s~0 ~DC~0))} assume !(-1 == ~status~5); {21136#(not (= ~s~0 ~DC~0))} is VALID [2022-04-08 15:08:19,479 INFO L290 TraceCheckUtils]: 55: Hoare triple {21136#(not (= ~s~0 ~DC~0))} assume ~s~0 != ~SKIP2~0; {21136#(not (= ~s~0 ~DC~0))} is VALID [2022-04-08 15:08:19,479 INFO L290 TraceCheckUtils]: 56: Hoare triple {21136#(not (= ~s~0 ~DC~0))} assume ~s~0 != ~IPC~0; {21136#(not (= ~s~0 ~DC~0))} is VALID [2022-04-08 15:08:19,485 INFO L290 TraceCheckUtils]: 57: Hoare triple {21136#(not (= ~s~0 ~DC~0))} assume !(~s~0 != ~DC~0); {21105#false} is VALID [2022-04-08 15:08:19,485 INFO L290 TraceCheckUtils]: 58: Hoare triple {21105#false} assume 1 == ~pended~0; {21105#false} is VALID [2022-04-08 15:08:19,485 INFO L290 TraceCheckUtils]: 59: Hoare triple {21105#false} assume 259 != ~status~5; {21105#false} is VALID [2022-04-08 15:08:19,485 INFO L272 TraceCheckUtils]: 60: Hoare triple {21105#false} call errorFn(); {21105#false} is VALID [2022-04-08 15:08:19,485 INFO L290 TraceCheckUtils]: 61: Hoare triple {21105#false} assume !false; {21105#false} is VALID [2022-04-08 15:08:19,486 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 15:08:19,486 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:08:19,486 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [226976888] [2022-04-08 15:08:19,486 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [226976888] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:08:19,486 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:08:19,486 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 15:08:19,486 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:08:19,486 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1208103011] [2022-04-08 15:08:19,486 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1208103011] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:08:19,486 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:08:19,486 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 15:08:19,486 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [335649970] [2022-04-08 15:08:19,486 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:08:19,487 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 15:08:19,487 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:08:19,488 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 15:08:19,530 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 15:08:19,530 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 15:08:19,531 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:08:19,531 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 15:08:19,531 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-08 15:08:19,532 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 15:08:21,681 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 15:08:30,092 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:08:30,092 INFO L93 Difference]: Finished difference Result 442 states and 581 transitions. [2022-04-08 15:08:30,092 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-08 15:08:30,092 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 15:08:30,092 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:08:30,092 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 15:08:30,095 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 529 transitions. [2022-04-08 15:08:30,095 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 15:08:30,098 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 529 transitions. [2022-04-08 15:08:30,098 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 529 transitions. [2022-04-08 15:08:30,681 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 15:08:30,689 INFO L225 Difference]: With dead ends: 442 [2022-04-08 15:08:30,689 INFO L226 Difference]: Without dead ends: 389 [2022-04-08 15:08:30,690 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 16 SyntacticMatches, 0 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 113 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=181, Invalid=469, Unknown=0, NotChecked=0, Total=650 [2022-04-08 15:08:30,690 INFO L913 BasicCegarLoop]: 336 mSDtfsCounter, 1389 mSDsluCounter, 274 mSDsCounter, 0 mSdLazyCounter, 878 mSolverCounterSat, 451 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1397 SdHoareTripleChecker+Valid, 610 SdHoareTripleChecker+Invalid, 1330 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 451 IncrementalHoareTripleChecker+Valid, 878 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.6s IncrementalHoareTripleChecker+Time [2022-04-08 15:08:30,690 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [1397 Valid, 610 Invalid, 1330 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [451 Valid, 878 Invalid, 1 Unknown, 0 Unchecked, 4.6s Time] [2022-04-08 15:08:30,691 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 389 states. [2022-04-08 15:08:31,026 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 389 to 371. [2022-04-08 15:08:31,026 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:08:31,027 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 15:08:31,027 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 15:08:31,028 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 15:08:31,035 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:08:31,035 INFO L93 Difference]: Finished difference Result 389 states and 516 transitions. [2022-04-08 15:08:31,035 INFO L276 IsEmpty]: Start isEmpty. Operand 389 states and 516 transitions. [2022-04-08 15:08:31,035 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:08:31,035 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:08:31,036 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 15:08:31,036 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 15:08:31,044 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:08:31,044 INFO L93 Difference]: Finished difference Result 389 states and 516 transitions. [2022-04-08 15:08:31,044 INFO L276 IsEmpty]: Start isEmpty. Operand 389 states and 516 transitions. [2022-04-08 15:08:31,044 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:08:31,044 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:08:31,044 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:08:31,044 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:08:31,045 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 15:08:31,052 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 371 states to 371 states and 493 transitions. [2022-04-08 15:08:31,052 INFO L78 Accepts]: Start accepts. Automaton has 371 states and 493 transitions. Word has length 62 [2022-04-08 15:08:31,052 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:08:31,052 INFO L478 AbstractCegarLoop]: Abstraction has 371 states and 493 transitions. [2022-04-08 15:08:31,053 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 15:08:31,053 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 371 states and 493 transitions. [2022-04-08 15:08:31,750 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 15:08:31,750 INFO L276 IsEmpty]: Start isEmpty. Operand 371 states and 493 transitions. [2022-04-08 15:08:31,751 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2022-04-08 15:08:31,752 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:08:31,752 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 15:08:31,752 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2022-04-08 15:08:31,752 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:08:31,752 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:08:31,752 INFO L85 PathProgramCache]: Analyzing trace with hash 1052170321, now seen corresponding path program 1 times [2022-04-08 15:08:31,752 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:08:31,752 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1044465915] [2022-04-08 15:08:31,752 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 15:08:31,752 INFO L85 PathProgramCache]: Analyzing trace with hash 1052170321, now seen corresponding path program 2 times [2022-04-08 15:08:31,753 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:08:31,753 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [43970304] [2022-04-08 15:08:31,753 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:08:31,753 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:08:31,806 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:31,932 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:08:31,934 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:31,940 INFO L290 TraceCheckUtils]: 0: Hoare triple {23644#(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; {23598#true} is VALID [2022-04-08 15:08:31,940 INFO L290 TraceCheckUtils]: 1: Hoare triple {23598#true} assume true; {23598#true} is VALID [2022-04-08 15:08:31,940 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {23598#true} {23598#true} #1270#return; {23598#true} is VALID [2022-04-08 15:08:31,961 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:08:31,963 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:31,982 INFO L290 TraceCheckUtils]: 0: Hoare triple {23645#(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; {23646#(and (= (+ (- 2) ~DC~0) 0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 15:08:31,983 INFO L290 TraceCheckUtils]: 1: Hoare triple {23646#(and (= (+ (- 2) ~DC~0) 0) (<= 4 ~SKIP2~0))} assume true; {23646#(and (= (+ (- 2) ~DC~0) 0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 15:08:31,983 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {23646#(and (= (+ (- 2) ~DC~0) 0) (<= 4 ~SKIP2~0))} {23598#true} #1216#return; {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 15:08:31,991 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:08:32,002 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:32,010 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:08:32,011 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:32,016 INFO L290 TraceCheckUtils]: 0: Hoare triple {23598#true} ~cond := #in~cond; {23598#true} is VALID [2022-04-08 15:08:32,016 INFO L290 TraceCheckUtils]: 1: Hoare triple {23598#true} assume !(0 == ~cond); {23598#true} is VALID [2022-04-08 15:08:32,016 INFO L290 TraceCheckUtils]: 2: Hoare triple {23598#true} assume true; {23598#true} is VALID [2022-04-08 15:08:32,017 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23598#true} {23598#true} #1254#return; {23598#true} is VALID [2022-04-08 15:08:32,017 INFO L290 TraceCheckUtils]: 0: Hoare triple {23647#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {23598#true} is VALID [2022-04-08 15:08:32,017 INFO L272 TraceCheckUtils]: 1: Hoare triple {23598#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {23598#true} is VALID [2022-04-08 15:08:32,017 INFO L290 TraceCheckUtils]: 2: Hoare triple {23598#true} ~cond := #in~cond; {23598#true} is VALID [2022-04-08 15:08:32,017 INFO L290 TraceCheckUtils]: 3: Hoare triple {23598#true} assume !(0 == ~cond); {23598#true} is VALID [2022-04-08 15:08:32,017 INFO L290 TraceCheckUtils]: 4: Hoare triple {23598#true} assume true; {23598#true} is VALID [2022-04-08 15:08:32,017 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {23598#true} {23598#true} #1254#return; {23598#true} is VALID [2022-04-08 15:08:32,017 INFO L290 TraceCheckUtils]: 6: Hoare triple {23598#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {23598#true} is VALID [2022-04-08 15:08:32,017 INFO L290 TraceCheckUtils]: 7: Hoare triple {23598#true} assume true; {23598#true} is VALID [2022-04-08 15:08:32,018 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {23598#true} {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} #1218#return; {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 15:08:32,027 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:08:32,032 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:32,041 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:08:32,042 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:32,048 INFO L290 TraceCheckUtils]: 0: Hoare triple {23652#(and (= |old(#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; {23598#true} is VALID [2022-04-08 15:08:32,048 INFO L290 TraceCheckUtils]: 1: Hoare triple {23598#true} assume !(0 == ~__BLAST_NONDET~5); {23598#true} is VALID [2022-04-08 15:08:32,048 INFO L290 TraceCheckUtils]: 2: Hoare triple {23598#true} #res := -1073741823; {23598#true} is VALID [2022-04-08 15:08:32,048 INFO L290 TraceCheckUtils]: 3: Hoare triple {23598#true} assume true; {23598#true} is VALID [2022-04-08 15:08:32,048 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {23598#true} {23598#true} #1176#return; {23598#true} is VALID [2022-04-08 15:08:32,048 INFO L290 TraceCheckUtils]: 0: Hoare triple {23652#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {23598#true} is VALID [2022-04-08 15:08:32,049 INFO L272 TraceCheckUtils]: 1: Hoare triple {23598#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {23652#(and (= |old(#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 15:08:32,049 INFO L290 TraceCheckUtils]: 2: Hoare triple {23652#(and (= |old(#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; {23598#true} is VALID [2022-04-08 15:08:32,050 INFO L290 TraceCheckUtils]: 3: Hoare triple {23598#true} assume !(0 == ~__BLAST_NONDET~5); {23598#true} is VALID [2022-04-08 15:08:32,050 INFO L290 TraceCheckUtils]: 4: Hoare triple {23598#true} #res := -1073741823; {23598#true} is VALID [2022-04-08 15:08:32,050 INFO L290 TraceCheckUtils]: 5: Hoare triple {23598#true} assume true; {23598#true} is VALID [2022-04-08 15:08:32,050 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {23598#true} {23598#true} #1176#return; {23598#true} is VALID [2022-04-08 15:08:32,050 INFO L290 TraceCheckUtils]: 7: Hoare triple {23598#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {23598#true} is VALID [2022-04-08 15:08:32,050 INFO L290 TraceCheckUtils]: 8: Hoare triple {23598#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {23598#true} is VALID [2022-04-08 15:08:32,050 INFO L290 TraceCheckUtils]: 9: Hoare triple {23598#true} assume true; {23598#true} is VALID [2022-04-08 15:08:32,050 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23598#true} {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} #1220#return; {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 15:08:32,063 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 15:08:32,065 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:32,072 INFO L290 TraceCheckUtils]: 0: Hoare triple {23658#(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; {23598#true} is VALID [2022-04-08 15:08:32,073 INFO L290 TraceCheckUtils]: 1: Hoare triple {23598#true} assume true; {23598#true} is VALID [2022-04-08 15:08:32,073 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {23598#true} {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} #1222#return; {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 15:08:32,085 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 47 [2022-04-08 15:08:32,090 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:32,134 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-04-08 15:08:32,137 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:32,166 INFO L290 TraceCheckUtils]: 0: Hoare triple {23665#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {23598#true} is VALID [2022-04-08 15:08:32,167 INFO L290 TraceCheckUtils]: 1: Hoare triple {23598#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {23666#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} is VALID [2022-04-08 15:08:32,167 INFO L290 TraceCheckUtils]: 2: Hoare triple {23666#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} assume true; {23666#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} is VALID [2022-04-08 15:08:32,168 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23666#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} {23598#true} #1248#return; {23664#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} is VALID [2022-04-08 15:08:32,168 INFO L290 TraceCheckUtils]: 0: Hoare triple {23659#(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, 76 + ~DeviceObject.offset, 8);~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, 52 + ~Irp.offset, 8);call #t~mem52.base, #t~mem52.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 20 + ~irpStack~2.offset, 8); {23598#true} is VALID [2022-04-08 15:08:32,169 INFO L290 TraceCheckUtils]: 1: Hoare triple {23598#true} assume #t~mem53 % 18446744073709551616 == ~bitwiseOr(~bitwiseOr(720896, 512), 3) % 18446744073709551616;havoc #t~mem53; {23598#true} is VALID [2022-04-08 15:08:32,169 INFO L290 TraceCheckUtils]: 2: Hoare triple {23598#true} call #t~mem62.base, #t~mem62.offset := read~$Pointer$(~devExt~2.base, 40 + ~devExt~2.offset, 8); {23598#true} is VALID [2022-04-08 15:08:32,172 INFO L290 TraceCheckUtils]: 3: Hoare triple {23598#true} assume 0 != (#t~mem62.base + #t~mem62.offset) % 4294967296;havoc #t~mem62.base, #t~mem62.offset;~status~2 := -1073741757; {23598#true} is VALID [2022-04-08 15:08:32,172 INFO L290 TraceCheckUtils]: 4: Hoare triple {23598#true} assume !(~status~2 >= 0);call write~int(~status~2, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~2 % 4294967296 <= 2147483647 then ~status~2 % 4294967296 else ~status~2 % 4294967296 - 4294967296); {23598#true} is VALID [2022-04-08 15:08:32,173 INFO L272 TraceCheckUtils]: 5: Hoare triple {23598#true} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {23665#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:08:32,173 INFO L290 TraceCheckUtils]: 6: Hoare triple {23665#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {23598#true} is VALID [2022-04-08 15:08:32,173 INFO L290 TraceCheckUtils]: 7: Hoare triple {23598#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {23666#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} is VALID [2022-04-08 15:08:32,173 INFO L290 TraceCheckUtils]: 8: Hoare triple {23666#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} assume true; {23666#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} is VALID [2022-04-08 15:08:32,174 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {23666#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} {23598#true} #1248#return; {23664#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} is VALID [2022-04-08 15:08:32,174 INFO L290 TraceCheckUtils]: 10: Hoare triple {23664#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} #res := ~status~2; {23664#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} is VALID [2022-04-08 15:08:32,175 INFO L290 TraceCheckUtils]: 11: Hoare triple {23664#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} assume true; {23664#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} is VALID [2022-04-08 15:08:32,176 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {23664#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} #1234#return; {23643#(and (not (= ~SKIP2~0 2)) (= 2 ~s~0))} is VALID [2022-04-08 15:08:32,177 INFO L272 TraceCheckUtils]: 0: Hoare triple {23598#true} call ULTIMATE.init(); {23644#(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 15:08:32,177 INFO L290 TraceCheckUtils]: 1: Hoare triple {23644#(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; {23598#true} is VALID [2022-04-08 15:08:32,177 INFO L290 TraceCheckUtils]: 2: Hoare triple {23598#true} assume true; {23598#true} is VALID [2022-04-08 15:08:32,177 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23598#true} {23598#true} #1270#return; {23598#true} is VALID [2022-04-08 15:08:32,177 INFO L272 TraceCheckUtils]: 4: Hoare triple {23598#true} call #t~ret213 := main(); {23598#true} is VALID [2022-04-08 15:08:32,177 INFO L290 TraceCheckUtils]: 5: Hoare triple {23598#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {23598#true} is VALID [2022-04-08 15:08:32,178 INFO L272 TraceCheckUtils]: 6: Hoare triple {23598#true} call _BLAST_init(); {23645#(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 15:08:32,178 INFO L290 TraceCheckUtils]: 7: Hoare triple {23645#(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; {23646#(and (= (+ (- 2) ~DC~0) 0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 15:08:32,179 INFO L290 TraceCheckUtils]: 8: Hoare triple {23646#(and (= (+ (- 2) ~DC~0) 0) (<= 4 ~SKIP2~0))} assume true; {23646#(and (= (+ (- 2) ~DC~0) 0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 15:08:32,179 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {23646#(and (= (+ (- 2) ~DC~0) 0) (<= 4 ~SKIP2~0))} {23598#true} #1216#return; {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 15:08:32,180 INFO L272 TraceCheckUtils]: 10: Hoare triple {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {23647#(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 15:08:32,180 INFO L290 TraceCheckUtils]: 11: Hoare triple {23647#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {23598#true} is VALID [2022-04-08 15:08:32,180 INFO L272 TraceCheckUtils]: 12: Hoare triple {23598#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {23598#true} is VALID [2022-04-08 15:08:32,180 INFO L290 TraceCheckUtils]: 13: Hoare triple {23598#true} ~cond := #in~cond; {23598#true} is VALID [2022-04-08 15:08:32,180 INFO L290 TraceCheckUtils]: 14: Hoare triple {23598#true} assume !(0 == ~cond); {23598#true} is VALID [2022-04-08 15:08:32,180 INFO L290 TraceCheckUtils]: 15: Hoare triple {23598#true} assume true; {23598#true} is VALID [2022-04-08 15:08:32,180 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {23598#true} {23598#true} #1254#return; {23598#true} is VALID [2022-04-08 15:08:32,180 INFO L290 TraceCheckUtils]: 17: Hoare triple {23598#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {23598#true} is VALID [2022-04-08 15:08:32,180 INFO L290 TraceCheckUtils]: 18: Hoare triple {23598#true} assume true; {23598#true} is VALID [2022-04-08 15:08:32,181 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {23598#true} {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} #1218#return; {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 15:08:32,181 INFO L290 TraceCheckUtils]: 20: Hoare triple {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 15:08:32,182 INFO L290 TraceCheckUtils]: 21: Hoare triple {23606#(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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 15:08:32,182 INFO L290 TraceCheckUtils]: 22: Hoare triple {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 15:08:32,183 INFO L272 TraceCheckUtils]: 23: Hoare triple {23606#(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); {23652#(and (= |old(#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 15:08:32,183 INFO L290 TraceCheckUtils]: 24: Hoare triple {23652#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {23598#true} is VALID [2022-04-08 15:08:32,184 INFO L272 TraceCheckUtils]: 25: Hoare triple {23598#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {23652#(and (= |old(#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 15:08:32,184 INFO L290 TraceCheckUtils]: 26: Hoare triple {23652#(and (= |old(#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; {23598#true} is VALID [2022-04-08 15:08:32,184 INFO L290 TraceCheckUtils]: 27: Hoare triple {23598#true} assume !(0 == ~__BLAST_NONDET~5); {23598#true} is VALID [2022-04-08 15:08:32,184 INFO L290 TraceCheckUtils]: 28: Hoare triple {23598#true} #res := -1073741823; {23598#true} is VALID [2022-04-08 15:08:32,184 INFO L290 TraceCheckUtils]: 29: Hoare triple {23598#true} assume true; {23598#true} is VALID [2022-04-08 15:08:32,184 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {23598#true} {23598#true} #1176#return; {23598#true} is VALID [2022-04-08 15:08:32,184 INFO L290 TraceCheckUtils]: 31: Hoare triple {23598#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {23598#true} is VALID [2022-04-08 15:08:32,184 INFO L290 TraceCheckUtils]: 32: Hoare triple {23598#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {23598#true} is VALID [2022-04-08 15:08:32,184 INFO L290 TraceCheckUtils]: 33: Hoare triple {23598#true} assume true; {23598#true} is VALID [2022-04-08 15:08:32,185 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {23598#true} {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} #1220#return; {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 15:08:32,185 INFO L290 TraceCheckUtils]: 35: Hoare triple {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 15:08:32,186 INFO L272 TraceCheckUtils]: 36: Hoare triple {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} call stub_driver_init(); {23658#(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 15:08:32,186 INFO L290 TraceCheckUtils]: 37: Hoare triple {23658#(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; {23598#true} is VALID [2022-04-08 15:08:32,186 INFO L290 TraceCheckUtils]: 38: Hoare triple {23598#true} assume true; {23598#true} is VALID [2022-04-08 15:08:32,186 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {23598#true} {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} #1222#return; {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 15:08:32,186 INFO L290 TraceCheckUtils]: 40: Hoare triple {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} assume !!(~status~5 >= 0); {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 15:08:32,187 INFO L290 TraceCheckUtils]: 41: Hoare triple {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} assume !(0 == ~__BLAST_NONDET~0); {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 15:08:32,187 INFO L290 TraceCheckUtils]: 42: Hoare triple {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} assume !(1 == ~__BLAST_NONDET~0); {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 15:08:32,187 INFO L290 TraceCheckUtils]: 43: Hoare triple {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} assume !(2 == ~__BLAST_NONDET~0); {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 15:08:32,188 INFO L290 TraceCheckUtils]: 44: Hoare triple {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} assume !(3 == ~__BLAST_NONDET~0); {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 15:08:32,188 INFO L290 TraceCheckUtils]: 45: Hoare triple {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} assume !(4 == ~__BLAST_NONDET~0); {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 15:08:32,188 INFO L290 TraceCheckUtils]: 46: Hoare triple {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} assume 8 == ~__BLAST_NONDET~0; {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} is VALID [2022-04-08 15:08:32,189 INFO L272 TraceCheckUtils]: 47: Hoare triple {23606#(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); {23659#(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 15:08:32,189 INFO L290 TraceCheckUtils]: 48: Hoare triple {23659#(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, 76 + ~DeviceObject.offset, 8);~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, 52 + ~Irp.offset, 8);call #t~mem52.base, #t~mem52.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 20 + ~irpStack~2.offset, 8); {23598#true} is VALID [2022-04-08 15:08:32,189 INFO L290 TraceCheckUtils]: 49: Hoare triple {23598#true} assume #t~mem53 % 18446744073709551616 == ~bitwiseOr(~bitwiseOr(720896, 512), 3) % 18446744073709551616;havoc #t~mem53; {23598#true} is VALID [2022-04-08 15:08:32,189 INFO L290 TraceCheckUtils]: 50: Hoare triple {23598#true} call #t~mem62.base, #t~mem62.offset := read~$Pointer$(~devExt~2.base, 40 + ~devExt~2.offset, 8); {23598#true} is VALID [2022-04-08 15:08:32,189 INFO L290 TraceCheckUtils]: 51: Hoare triple {23598#true} assume 0 != (#t~mem62.base + #t~mem62.offset) % 4294967296;havoc #t~mem62.base, #t~mem62.offset;~status~2 := -1073741757; {23598#true} is VALID [2022-04-08 15:08:32,189 INFO L290 TraceCheckUtils]: 52: Hoare triple {23598#true} assume !(~status~2 >= 0);call write~int(~status~2, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~2 % 4294967296 <= 2147483647 then ~status~2 % 4294967296 else ~status~2 % 4294967296 - 4294967296); {23598#true} is VALID [2022-04-08 15:08:32,190 INFO L272 TraceCheckUtils]: 53: Hoare triple {23598#true} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {23665#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:08:32,190 INFO L290 TraceCheckUtils]: 54: Hoare triple {23665#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {23598#true} is VALID [2022-04-08 15:08:32,190 INFO L290 TraceCheckUtils]: 55: Hoare triple {23598#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {23666#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} is VALID [2022-04-08 15:08:32,190 INFO L290 TraceCheckUtils]: 56: Hoare triple {23666#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} assume true; {23666#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} is VALID [2022-04-08 15:08:32,199 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {23666#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} {23598#true} #1248#return; {23664#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} is VALID [2022-04-08 15:08:32,200 INFO L290 TraceCheckUtils]: 58: Hoare triple {23664#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} #res := ~status~2; {23664#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} is VALID [2022-04-08 15:08:32,200 INFO L290 TraceCheckUtils]: 59: Hoare triple {23664#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} assume true; {23664#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} is VALID [2022-04-08 15:08:32,201 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {23664#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} {23606#(and (not (= ~SKIP2~0 2)) (= 2 ~DC~0))} #1234#return; {23643#(and (not (= ~SKIP2~0 2)) (= 2 ~s~0))} is VALID [2022-04-08 15:08:32,201 INFO L290 TraceCheckUtils]: 61: Hoare triple {23643#(and (not (= ~SKIP2~0 2)) (= 2 ~s~0))} assume -9223372036854775808 <= #t~ret176 && #t~ret176 <= 9223372036854775807;~status~5 := #t~ret176;havoc #t~ret176; {23643#(and (not (= ~SKIP2~0 2)) (= 2 ~s~0))} is VALID [2022-04-08 15:08:32,201 INFO L290 TraceCheckUtils]: 62: Hoare triple {23643#(and (not (= ~SKIP2~0 2)) (= 2 ~s~0))} assume 0 != ~we_should_unload~0; {23643#(and (not (= ~SKIP2~0 2)) (= 2 ~s~0))} is VALID [2022-04-08 15:08:32,202 INFO L290 TraceCheckUtils]: 63: Hoare triple {23643#(and (not (= ~SKIP2~0 2)) (= 2 ~s~0))} assume !(1 == ~pended~0); {23643#(and (not (= ~SKIP2~0 2)) (= 2 ~s~0))} is VALID [2022-04-08 15:08:32,202 INFO L290 TraceCheckUtils]: 64: Hoare triple {23643#(and (not (= ~SKIP2~0 2)) (= 2 ~s~0))} assume !(1 == ~pended~0); {23643#(and (not (= ~SKIP2~0 2)) (= 2 ~s~0))} is VALID [2022-04-08 15:08:32,202 INFO L290 TraceCheckUtils]: 65: Hoare triple {23643#(and (not (= ~SKIP2~0 2)) (= 2 ~s~0))} assume !(~s~0 == ~UNLOADED~0); {23643#(and (not (= ~SKIP2~0 2)) (= 2 ~s~0))} is VALID [2022-04-08 15:08:32,203 INFO L290 TraceCheckUtils]: 66: Hoare triple {23643#(and (not (= ~SKIP2~0 2)) (= 2 ~s~0))} assume !(-1 == ~status~5); {23643#(and (not (= ~SKIP2~0 2)) (= 2 ~s~0))} is VALID [2022-04-08 15:08:32,203 INFO L290 TraceCheckUtils]: 67: Hoare triple {23643#(and (not (= ~SKIP2~0 2)) (= 2 ~s~0))} assume !(~s~0 != ~SKIP2~0); {23599#false} is VALID [2022-04-08 15:08:32,203 INFO L290 TraceCheckUtils]: 68: Hoare triple {23599#false} assume 1 == ~pended~0; {23599#false} is VALID [2022-04-08 15:08:32,203 INFO L290 TraceCheckUtils]: 69: Hoare triple {23599#false} assume 259 != ~status~5; {23599#false} is VALID [2022-04-08 15:08:32,203 INFO L272 TraceCheckUtils]: 70: Hoare triple {23599#false} call errorFn(); {23599#false} is VALID [2022-04-08 15:08:32,203 INFO L290 TraceCheckUtils]: 71: Hoare triple {23599#false} assume !false; {23599#false} is VALID [2022-04-08 15:08:32,203 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 15:08:32,204 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:08:32,204 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [43970304] [2022-04-08 15:08:32,204 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [43970304] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:08:32,204 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:08:32,204 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 15:08:32,204 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:08:32,204 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1044465915] [2022-04-08 15:08:32,204 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1044465915] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:08:32,204 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:08:32,204 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 15:08:32,204 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1269177492] [2022-04-08 15:08:32,204 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:08:32,205 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 15:08:32,205 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:08:32,205 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 15:08:32,257 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 15:08:32,257 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 15:08:32,257 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:08:32,258 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 15:08:32,258 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=145, Unknown=0, NotChecked=0, Total=182 [2022-04-08 15:08:32,258 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 15:08:34,461 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 15:08:38,638 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.77s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 15:08:46,640 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:08:46,640 INFO L93 Difference]: Finished difference Result 417 states and 550 transitions. [2022-04-08 15:08:46,640 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-08 15:08:46,640 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 15:08:46,641 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:08:46,641 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 15:08:46,643 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 457 transitions. [2022-04-08 15:08:46,643 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 15:08:46,646 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 457 transitions. [2022-04-08 15:08:46,646 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 457 transitions. [2022-04-08 15:08:47,163 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 15:08:47,172 INFO L225 Difference]: With dead ends: 417 [2022-04-08 15:08:47,172 INFO L226 Difference]: Without dead ends: 409 [2022-04-08 15:08:47,172 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 15:08:47,173 INFO L913 BasicCegarLoop]: 276 mSDtfsCounter, 990 mSDsluCounter, 328 mSDsCounter, 0 mSdLazyCounter, 1621 mSolverCounterSat, 326 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 7.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1002 SdHoareTripleChecker+Valid, 604 SdHoareTripleChecker+Invalid, 1948 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 326 IncrementalHoareTripleChecker+Valid, 1621 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 7.5s IncrementalHoareTripleChecker+Time [2022-04-08 15:08:47,173 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [1002 Valid, 604 Invalid, 1948 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [326 Valid, 1621 Invalid, 1 Unknown, 0 Unchecked, 7.5s Time] [2022-04-08 15:08:47,174 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 409 states. [2022-04-08 15:08:47,552 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 409 to 386. [2022-04-08 15:08:47,553 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:08:47,553 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 15:08:47,553 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 15:08:47,554 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 15:08:47,561 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:08:47,561 INFO L93 Difference]: Finished difference Result 409 states and 541 transitions. [2022-04-08 15:08:47,561 INFO L276 IsEmpty]: Start isEmpty. Operand 409 states and 541 transitions. [2022-04-08 15:08:47,565 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:08:47,566 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:08:47,566 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 15:08:47,567 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 15:08:47,574 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:08:47,574 INFO L93 Difference]: Finished difference Result 409 states and 541 transitions. [2022-04-08 15:08:47,574 INFO L276 IsEmpty]: Start isEmpty. Operand 409 states and 541 transitions. [2022-04-08 15:08:47,575 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:08:47,575 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:08:47,575 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:08:47,575 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:08:47,576 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 15:08:47,589 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 386 states to 386 states and 511 transitions. [2022-04-08 15:08:47,589 INFO L78 Accepts]: Start accepts. Automaton has 386 states and 511 transitions. Word has length 72 [2022-04-08 15:08:47,590 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:08:47,590 INFO L478 AbstractCegarLoop]: Abstraction has 386 states and 511 transitions. [2022-04-08 15:08:47,590 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 15:08:47,590 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 386 states and 511 transitions. [2022-04-08 15:08:48,310 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 15:08:48,310 INFO L276 IsEmpty]: Start isEmpty. Operand 386 states and 511 transitions. [2022-04-08 15:08:48,311 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2022-04-08 15:08:48,311 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:08:48,311 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 15:08:48,311 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2022-04-08 15:08:48,311 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:08:48,312 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:08:48,312 INFO L85 PathProgramCache]: Analyzing trace with hash 2144673722, now seen corresponding path program 1 times [2022-04-08 15:08:48,312 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:08:48,312 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1306890151] [2022-04-08 15:08:48,312 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 15:08:48,312 INFO L85 PathProgramCache]: Analyzing trace with hash 2144673722, now seen corresponding path program 2 times [2022-04-08 15:08:48,312 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:08:48,312 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [575023870] [2022-04-08 15:08:48,312 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:08:48,312 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:08:48,373 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:48,475 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:08:48,477 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:48,482 INFO L290 TraceCheckUtils]: 0: Hoare triple {26172#(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; {26126#true} is VALID [2022-04-08 15:08:48,483 INFO L290 TraceCheckUtils]: 1: Hoare triple {26126#true} assume true; {26126#true} is VALID [2022-04-08 15:08:48,483 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {26126#true} {26126#true} #1270#return; {26126#true} is VALID [2022-04-08 15:08:48,504 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:08:48,506 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:48,521 INFO L290 TraceCheckUtils]: 0: Hoare triple {26173#(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; {26174#(and (<= 7 ~IPC~0) (= (+ (- 2) ~DC~0) 0))} is VALID [2022-04-08 15:08:48,521 INFO L290 TraceCheckUtils]: 1: Hoare triple {26174#(and (<= 7 ~IPC~0) (= (+ (- 2) ~DC~0) 0))} assume true; {26174#(and (<= 7 ~IPC~0) (= (+ (- 2) ~DC~0) 0))} is VALID [2022-04-08 15:08:48,522 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {26174#(and (<= 7 ~IPC~0) (= (+ (- 2) ~DC~0) 0))} {26126#true} #1216#return; {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 15:08:48,529 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:08:48,538 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:48,546 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:08:48,547 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:48,551 INFO L290 TraceCheckUtils]: 0: Hoare triple {26126#true} ~cond := #in~cond; {26126#true} is VALID [2022-04-08 15:08:48,551 INFO L290 TraceCheckUtils]: 1: Hoare triple {26126#true} assume !(0 == ~cond); {26126#true} is VALID [2022-04-08 15:08:48,551 INFO L290 TraceCheckUtils]: 2: Hoare triple {26126#true} assume true; {26126#true} is VALID [2022-04-08 15:08:48,552 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26126#true} {26126#true} #1254#return; {26126#true} is VALID [2022-04-08 15:08:48,552 INFO L290 TraceCheckUtils]: 0: Hoare triple {26175#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {26126#true} is VALID [2022-04-08 15:08:48,552 INFO L272 TraceCheckUtils]: 1: Hoare triple {26126#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {26126#true} is VALID [2022-04-08 15:08:48,552 INFO L290 TraceCheckUtils]: 2: Hoare triple {26126#true} ~cond := #in~cond; {26126#true} is VALID [2022-04-08 15:08:48,552 INFO L290 TraceCheckUtils]: 3: Hoare triple {26126#true} assume !(0 == ~cond); {26126#true} is VALID [2022-04-08 15:08:48,552 INFO L290 TraceCheckUtils]: 4: Hoare triple {26126#true} assume true; {26126#true} is VALID [2022-04-08 15:08:48,552 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {26126#true} {26126#true} #1254#return; {26126#true} is VALID [2022-04-08 15:08:48,552 INFO L290 TraceCheckUtils]: 6: Hoare triple {26126#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {26126#true} is VALID [2022-04-08 15:08:48,552 INFO L290 TraceCheckUtils]: 7: Hoare triple {26126#true} assume true; {26126#true} is VALID [2022-04-08 15:08:48,553 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {26126#true} {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} #1218#return; {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 15:08:48,562 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:08:48,567 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:48,597 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:08:48,598 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:48,604 INFO L290 TraceCheckUtils]: 0: Hoare triple {26180#(and (= |old(#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; {26126#true} is VALID [2022-04-08 15:08:48,604 INFO L290 TraceCheckUtils]: 1: Hoare triple {26126#true} assume !(0 == ~__BLAST_NONDET~5); {26126#true} is VALID [2022-04-08 15:08:48,604 INFO L290 TraceCheckUtils]: 2: Hoare triple {26126#true} #res := -1073741823; {26126#true} is VALID [2022-04-08 15:08:48,604 INFO L290 TraceCheckUtils]: 3: Hoare triple {26126#true} assume true; {26126#true} is VALID [2022-04-08 15:08:48,604 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {26126#true} {26126#true} #1176#return; {26126#true} is VALID [2022-04-08 15:08:48,604 INFO L290 TraceCheckUtils]: 0: Hoare triple {26180#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {26126#true} is VALID [2022-04-08 15:08:48,605 INFO L272 TraceCheckUtils]: 1: Hoare triple {26126#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {26180#(and (= |old(#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 15:08:48,605 INFO L290 TraceCheckUtils]: 2: Hoare triple {26180#(and (= |old(#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; {26126#true} is VALID [2022-04-08 15:08:48,605 INFO L290 TraceCheckUtils]: 3: Hoare triple {26126#true} assume !(0 == ~__BLAST_NONDET~5); {26126#true} is VALID [2022-04-08 15:08:48,605 INFO L290 TraceCheckUtils]: 4: Hoare triple {26126#true} #res := -1073741823; {26126#true} is VALID [2022-04-08 15:08:48,606 INFO L290 TraceCheckUtils]: 5: Hoare triple {26126#true} assume true; {26126#true} is VALID [2022-04-08 15:08:48,606 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {26126#true} {26126#true} #1176#return; {26126#true} is VALID [2022-04-08 15:08:48,606 INFO L290 TraceCheckUtils]: 7: Hoare triple {26126#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {26126#true} is VALID [2022-04-08 15:08:48,606 INFO L290 TraceCheckUtils]: 8: Hoare triple {26126#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {26126#true} is VALID [2022-04-08 15:08:48,606 INFO L290 TraceCheckUtils]: 9: Hoare triple {26126#true} assume true; {26126#true} is VALID [2022-04-08 15:08:48,606 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {26126#true} {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} #1220#return; {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 15:08:48,618 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 15:08:48,620 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:48,626 INFO L290 TraceCheckUtils]: 0: Hoare triple {26186#(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; {26126#true} is VALID [2022-04-08 15:08:48,626 INFO L290 TraceCheckUtils]: 1: Hoare triple {26126#true} assume true; {26126#true} is VALID [2022-04-08 15:08:48,627 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {26126#true} {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} #1222#return; {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 15:08:48,638 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 47 [2022-04-08 15:08:48,645 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:48,686 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-04-08 15:08:48,689 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:08:48,708 INFO L290 TraceCheckUtils]: 0: Hoare triple {26193#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {26126#true} is VALID [2022-04-08 15:08:48,709 INFO L290 TraceCheckUtils]: 1: Hoare triple {26126#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {26194#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} is VALID [2022-04-08 15:08:48,709 INFO L290 TraceCheckUtils]: 2: Hoare triple {26194#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} assume true; {26194#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} is VALID [2022-04-08 15:08:48,710 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26194#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} {26126#true} #1248#return; {26192#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} is VALID [2022-04-08 15:08:48,710 INFO L290 TraceCheckUtils]: 0: Hoare triple {26187#(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, 76 + ~DeviceObject.offset, 8);~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, 52 + ~Irp.offset, 8);call #t~mem52.base, #t~mem52.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 20 + ~irpStack~2.offset, 8); {26126#true} is VALID [2022-04-08 15:08:48,710 INFO L290 TraceCheckUtils]: 1: Hoare triple {26126#true} assume #t~mem53 % 18446744073709551616 == ~bitwiseOr(~bitwiseOr(720896, 512), 3) % 18446744073709551616;havoc #t~mem53; {26126#true} is VALID [2022-04-08 15:08:48,710 INFO L290 TraceCheckUtils]: 2: Hoare triple {26126#true} call #t~mem62.base, #t~mem62.offset := read~$Pointer$(~devExt~2.base, 40 + ~devExt~2.offset, 8); {26126#true} is VALID [2022-04-08 15:08:48,710 INFO L290 TraceCheckUtils]: 3: Hoare triple {26126#true} assume 0 != (#t~mem62.base + #t~mem62.offset) % 4294967296;havoc #t~mem62.base, #t~mem62.offset;~status~2 := -1073741757; {26126#true} is VALID [2022-04-08 15:08:48,710 INFO L290 TraceCheckUtils]: 4: Hoare triple {26126#true} assume !(~status~2 >= 0);call write~int(~status~2, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~2 % 4294967296 <= 2147483647 then ~status~2 % 4294967296 else ~status~2 % 4294967296 - 4294967296); {26126#true} is VALID [2022-04-08 15:08:48,711 INFO L272 TraceCheckUtils]: 5: Hoare triple {26126#true} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {26193#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:08:48,711 INFO L290 TraceCheckUtils]: 6: Hoare triple {26193#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {26126#true} is VALID [2022-04-08 15:08:48,711 INFO L290 TraceCheckUtils]: 7: Hoare triple {26126#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {26194#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} is VALID [2022-04-08 15:08:48,711 INFO L290 TraceCheckUtils]: 8: Hoare triple {26194#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} assume true; {26194#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} is VALID [2022-04-08 15:08:48,712 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {26194#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} {26126#true} #1248#return; {26192#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} is VALID [2022-04-08 15:08:48,712 INFO L290 TraceCheckUtils]: 10: Hoare triple {26192#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} #res := ~status~2; {26192#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} is VALID [2022-04-08 15:08:48,713 INFO L290 TraceCheckUtils]: 11: Hoare triple {26192#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} assume true; {26192#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} is VALID [2022-04-08 15:08:48,714 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {26192#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} #1234#return; {26171#(and (= 2 ~s~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 15:08:48,715 INFO L272 TraceCheckUtils]: 0: Hoare triple {26126#true} call ULTIMATE.init(); {26172#(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 15:08:48,715 INFO L290 TraceCheckUtils]: 1: Hoare triple {26172#(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; {26126#true} is VALID [2022-04-08 15:08:48,715 INFO L290 TraceCheckUtils]: 2: Hoare triple {26126#true} assume true; {26126#true} is VALID [2022-04-08 15:08:48,715 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26126#true} {26126#true} #1270#return; {26126#true} is VALID [2022-04-08 15:08:48,715 INFO L272 TraceCheckUtils]: 4: Hoare triple {26126#true} call #t~ret213 := main(); {26126#true} is VALID [2022-04-08 15:08:48,715 INFO L290 TraceCheckUtils]: 5: Hoare triple {26126#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {26126#true} is VALID [2022-04-08 15:08:48,716 INFO L272 TraceCheckUtils]: 6: Hoare triple {26126#true} call _BLAST_init(); {26173#(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 15:08:48,716 INFO L290 TraceCheckUtils]: 7: Hoare triple {26173#(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; {26174#(and (<= 7 ~IPC~0) (= (+ (- 2) ~DC~0) 0))} is VALID [2022-04-08 15:08:48,716 INFO L290 TraceCheckUtils]: 8: Hoare triple {26174#(and (<= 7 ~IPC~0) (= (+ (- 2) ~DC~0) 0))} assume true; {26174#(and (<= 7 ~IPC~0) (= (+ (- 2) ~DC~0) 0))} is VALID [2022-04-08 15:08:48,717 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {26174#(and (<= 7 ~IPC~0) (= (+ (- 2) ~DC~0) 0))} {26126#true} #1216#return; {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 15:08:48,718 INFO L272 TraceCheckUtils]: 10: Hoare triple {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {26175#(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 15:08:48,718 INFO L290 TraceCheckUtils]: 11: Hoare triple {26175#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {26126#true} is VALID [2022-04-08 15:08:48,718 INFO L272 TraceCheckUtils]: 12: Hoare triple {26126#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {26126#true} is VALID [2022-04-08 15:08:48,718 INFO L290 TraceCheckUtils]: 13: Hoare triple {26126#true} ~cond := #in~cond; {26126#true} is VALID [2022-04-08 15:08:48,718 INFO L290 TraceCheckUtils]: 14: Hoare triple {26126#true} assume !(0 == ~cond); {26126#true} is VALID [2022-04-08 15:08:48,718 INFO L290 TraceCheckUtils]: 15: Hoare triple {26126#true} assume true; {26126#true} is VALID [2022-04-08 15:08:48,718 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {26126#true} {26126#true} #1254#return; {26126#true} is VALID [2022-04-08 15:08:48,718 INFO L290 TraceCheckUtils]: 17: Hoare triple {26126#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {26126#true} is VALID [2022-04-08 15:08:48,718 INFO L290 TraceCheckUtils]: 18: Hoare triple {26126#true} assume true; {26126#true} is VALID [2022-04-08 15:08:48,719 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {26126#true} {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} #1218#return; {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 15:08:48,719 INFO L290 TraceCheckUtils]: 20: Hoare triple {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 15:08:48,719 INFO L290 TraceCheckUtils]: 21: Hoare triple {26134#(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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 15:08:48,720 INFO L290 TraceCheckUtils]: 22: Hoare triple {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 15:08:48,721 INFO L272 TraceCheckUtils]: 23: Hoare triple {26134#(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); {26180#(and (= |old(#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 15:08:48,721 INFO L290 TraceCheckUtils]: 24: Hoare triple {26180#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {26126#true} is VALID [2022-04-08 15:08:48,722 INFO L272 TraceCheckUtils]: 25: Hoare triple {26126#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {26180#(and (= |old(#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 15:08:48,722 INFO L290 TraceCheckUtils]: 26: Hoare triple {26180#(and (= |old(#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; {26126#true} is VALID [2022-04-08 15:08:48,722 INFO L290 TraceCheckUtils]: 27: Hoare triple {26126#true} assume !(0 == ~__BLAST_NONDET~5); {26126#true} is VALID [2022-04-08 15:08:48,722 INFO L290 TraceCheckUtils]: 28: Hoare triple {26126#true} #res := -1073741823; {26126#true} is VALID [2022-04-08 15:08:48,722 INFO L290 TraceCheckUtils]: 29: Hoare triple {26126#true} assume true; {26126#true} is VALID [2022-04-08 15:08:48,722 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {26126#true} {26126#true} #1176#return; {26126#true} is VALID [2022-04-08 15:08:48,722 INFO L290 TraceCheckUtils]: 31: Hoare triple {26126#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {26126#true} is VALID [2022-04-08 15:08:48,722 INFO L290 TraceCheckUtils]: 32: Hoare triple {26126#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {26126#true} is VALID [2022-04-08 15:08:48,722 INFO L290 TraceCheckUtils]: 33: Hoare triple {26126#true} assume true; {26126#true} is VALID [2022-04-08 15:08:48,723 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {26126#true} {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} #1220#return; {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 15:08:48,723 INFO L290 TraceCheckUtils]: 35: Hoare triple {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 15:08:48,724 INFO L272 TraceCheckUtils]: 36: Hoare triple {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} call stub_driver_init(); {26186#(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 15:08:48,724 INFO L290 TraceCheckUtils]: 37: Hoare triple {26186#(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; {26126#true} is VALID [2022-04-08 15:08:48,724 INFO L290 TraceCheckUtils]: 38: Hoare triple {26126#true} assume true; {26126#true} is VALID [2022-04-08 15:08:48,724 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {26126#true} {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} #1222#return; {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 15:08:48,724 INFO L290 TraceCheckUtils]: 40: Hoare triple {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} assume !!(~status~5 >= 0); {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 15:08:48,725 INFO L290 TraceCheckUtils]: 41: Hoare triple {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} assume !(0 == ~__BLAST_NONDET~0); {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 15:08:48,725 INFO L290 TraceCheckUtils]: 42: Hoare triple {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} assume !(1 == ~__BLAST_NONDET~0); {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 15:08:48,725 INFO L290 TraceCheckUtils]: 43: Hoare triple {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} assume !(2 == ~__BLAST_NONDET~0); {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 15:08:48,725 INFO L290 TraceCheckUtils]: 44: Hoare triple {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} assume !(3 == ~__BLAST_NONDET~0); {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 15:08:48,726 INFO L290 TraceCheckUtils]: 45: Hoare triple {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} assume !(4 == ~__BLAST_NONDET~0); {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 15:08:48,726 INFO L290 TraceCheckUtils]: 46: Hoare triple {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} assume 8 == ~__BLAST_NONDET~0; {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 15:08:48,727 INFO L272 TraceCheckUtils]: 47: Hoare triple {26134#(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); {26187#(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 15:08:48,727 INFO L290 TraceCheckUtils]: 48: Hoare triple {26187#(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, 76 + ~DeviceObject.offset, 8);~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, 52 + ~Irp.offset, 8);call #t~mem52.base, #t~mem52.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 20 + ~irpStack~2.offset, 8); {26126#true} is VALID [2022-04-08 15:08:48,727 INFO L290 TraceCheckUtils]: 49: Hoare triple {26126#true} assume #t~mem53 % 18446744073709551616 == ~bitwiseOr(~bitwiseOr(720896, 512), 3) % 18446744073709551616;havoc #t~mem53; {26126#true} is VALID [2022-04-08 15:08:48,727 INFO L290 TraceCheckUtils]: 50: Hoare triple {26126#true} call #t~mem62.base, #t~mem62.offset := read~$Pointer$(~devExt~2.base, 40 + ~devExt~2.offset, 8); {26126#true} is VALID [2022-04-08 15:08:48,727 INFO L290 TraceCheckUtils]: 51: Hoare triple {26126#true} assume 0 != (#t~mem62.base + #t~mem62.offset) % 4294967296;havoc #t~mem62.base, #t~mem62.offset;~status~2 := -1073741757; {26126#true} is VALID [2022-04-08 15:08:48,727 INFO L290 TraceCheckUtils]: 52: Hoare triple {26126#true} assume !(~status~2 >= 0);call write~int(~status~2, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~2 % 4294967296 <= 2147483647 then ~status~2 % 4294967296 else ~status~2 % 4294967296 - 4294967296); {26126#true} is VALID [2022-04-08 15:08:48,727 INFO L272 TraceCheckUtils]: 53: Hoare triple {26126#true} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {26193#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:08:48,728 INFO L290 TraceCheckUtils]: 54: Hoare triple {26193#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {26126#true} is VALID [2022-04-08 15:08:48,728 INFO L290 TraceCheckUtils]: 55: Hoare triple {26126#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {26194#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} is VALID [2022-04-08 15:08:48,728 INFO L290 TraceCheckUtils]: 56: Hoare triple {26194#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} assume true; {26194#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} is VALID [2022-04-08 15:08:48,729 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {26194#(and (<= ~s~0 ~DC~0) (<= ~DC~0 ~s~0))} {26126#true} #1248#return; {26192#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} is VALID [2022-04-08 15:08:48,729 INFO L290 TraceCheckUtils]: 58: Hoare triple {26192#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} #res := ~status~2; {26192#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} is VALID [2022-04-08 15:08:48,729 INFO L290 TraceCheckUtils]: 59: Hoare triple {26192#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} assume true; {26192#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} is VALID [2022-04-08 15:08:48,730 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {26192#(and (or (not (<= ~s~0 1)) (<= ~DC~0 ~s~0)) (or (<= ~s~0 ~DC~0) (<= ~s~0 2)))} {26134#(and (= 2 ~DC~0) (not (= ~IPC~0 2)))} #1234#return; {26171#(and (= 2 ~s~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 15:08:48,731 INFO L290 TraceCheckUtils]: 61: Hoare triple {26171#(and (= 2 ~s~0) (not (= ~IPC~0 2)))} assume -9223372036854775808 <= #t~ret176 && #t~ret176 <= 9223372036854775807;~status~5 := #t~ret176;havoc #t~ret176; {26171#(and (= 2 ~s~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 15:08:48,731 INFO L290 TraceCheckUtils]: 62: Hoare triple {26171#(and (= 2 ~s~0) (not (= ~IPC~0 2)))} assume 0 != ~we_should_unload~0; {26171#(and (= 2 ~s~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 15:08:48,731 INFO L290 TraceCheckUtils]: 63: Hoare triple {26171#(and (= 2 ~s~0) (not (= ~IPC~0 2)))} assume !(1 == ~pended~0); {26171#(and (= 2 ~s~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 15:08:48,732 INFO L290 TraceCheckUtils]: 64: Hoare triple {26171#(and (= 2 ~s~0) (not (= ~IPC~0 2)))} assume !(1 == ~pended~0); {26171#(and (= 2 ~s~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 15:08:48,732 INFO L290 TraceCheckUtils]: 65: Hoare triple {26171#(and (= 2 ~s~0) (not (= ~IPC~0 2)))} assume !(~s~0 == ~UNLOADED~0); {26171#(and (= 2 ~s~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 15:08:48,732 INFO L290 TraceCheckUtils]: 66: Hoare triple {26171#(and (= 2 ~s~0) (not (= ~IPC~0 2)))} assume !(-1 == ~status~5); {26171#(and (= 2 ~s~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 15:08:48,732 INFO L290 TraceCheckUtils]: 67: Hoare triple {26171#(and (= 2 ~s~0) (not (= ~IPC~0 2)))} assume ~s~0 != ~SKIP2~0; {26171#(and (= 2 ~s~0) (not (= ~IPC~0 2)))} is VALID [2022-04-08 15:08:48,733 INFO L290 TraceCheckUtils]: 68: Hoare triple {26171#(and (= 2 ~s~0) (not (= ~IPC~0 2)))} assume !(~s~0 != ~IPC~0); {26127#false} is VALID [2022-04-08 15:08:48,733 INFO L290 TraceCheckUtils]: 69: Hoare triple {26127#false} assume 1 == ~pended~0; {26127#false} is VALID [2022-04-08 15:08:48,733 INFO L290 TraceCheckUtils]: 70: Hoare triple {26127#false} assume 259 != ~status~5; {26127#false} is VALID [2022-04-08 15:08:48,733 INFO L272 TraceCheckUtils]: 71: Hoare triple {26127#false} call errorFn(); {26127#false} is VALID [2022-04-08 15:08:48,733 INFO L290 TraceCheckUtils]: 72: Hoare triple {26127#false} assume !false; {26127#false} is VALID [2022-04-08 15:08:48,733 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 15:08:48,733 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:08:48,733 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [575023870] [2022-04-08 15:08:48,733 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [575023870] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:08:48,733 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:08:48,734 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 15:08:48,734 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:08:48,734 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1306890151] [2022-04-08 15:08:48,734 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1306890151] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:08:48,734 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:08:48,734 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 15:08:48,734 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1221431010] [2022-04-08 15:08:48,734 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:08:48,734 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 15:08:48,734 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:08:48,735 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 15:08:48,792 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 15:08:48,793 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 15:08:48,793 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:08:48,793 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 15:08:48,793 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=145, Unknown=0, NotChecked=0, Total=182 [2022-04-08 15:08:48,793 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 15:08:50,991 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 15:09:03,665 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:09:03,665 INFO L93 Difference]: Finished difference Result 417 states and 549 transitions. [2022-04-08 15:09:03,665 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-08 15:09:03,665 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 15:09:03,665 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:09:03,665 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 15:09:03,668 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 456 transitions. [2022-04-08 15:09:03,668 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 15:09:03,670 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 456 transitions. [2022-04-08 15:09:03,670 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 456 transitions. [2022-04-08 15:09:04,209 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 15:09:04,217 INFO L225 Difference]: With dead ends: 417 [2022-04-08 15:09:04,218 INFO L226 Difference]: Without dead ends: 409 [2022-04-08 15:09:04,218 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 15:09:04,221 INFO L913 BasicCegarLoop]: 278 mSDtfsCounter, 1251 mSDsluCounter, 303 mSDsCounter, 0 mSdLazyCounter, 1437 mSolverCounterSat, 410 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 7.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1263 SdHoareTripleChecker+Valid, 581 SdHoareTripleChecker+Invalid, 1848 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 410 IncrementalHoareTripleChecker+Valid, 1437 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 7.2s IncrementalHoareTripleChecker+Time [2022-04-08 15:09:04,221 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [1263 Valid, 581 Invalid, 1848 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [410 Valid, 1437 Invalid, 1 Unknown, 0 Unchecked, 7.2s Time] [2022-04-08 15:09:04,222 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 409 states. [2022-04-08 15:09:04,550 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 409 to 387. [2022-04-08 15:09:04,550 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:09:04,551 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 15:09:04,551 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 15:09:04,551 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 15:09:04,558 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:09:04,559 INFO L93 Difference]: Finished difference Result 409 states and 540 transitions. [2022-04-08 15:09:04,559 INFO L276 IsEmpty]: Start isEmpty. Operand 409 states and 540 transitions. [2022-04-08 15:09:04,559 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:09:04,559 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:09:04,560 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 15:09:04,560 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 15:09:04,568 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:09:04,568 INFO L93 Difference]: Finished difference Result 409 states and 540 transitions. [2022-04-08 15:09:04,568 INFO L276 IsEmpty]: Start isEmpty. Operand 409 states and 540 transitions. [2022-04-08 15:09:04,568 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:09:04,568 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:09:04,568 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:09:04,568 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:09:04,569 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 15:09:04,577 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 387 states to 387 states and 512 transitions. [2022-04-08 15:09:04,577 INFO L78 Accepts]: Start accepts. Automaton has 387 states and 512 transitions. Word has length 73 [2022-04-08 15:09:04,577 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:09:04,577 INFO L478 AbstractCegarLoop]: Abstraction has 387 states and 512 transitions. [2022-04-08 15:09:04,577 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 15:09:04,577 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 387 states and 512 transitions. [2022-04-08 15:09:05,298 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 15:09:05,298 INFO L276 IsEmpty]: Start isEmpty. Operand 387 states and 512 transitions. [2022-04-08 15:09:05,299 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-08 15:09:05,299 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:09:05,305 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 15:09:05,305 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2022-04-08 15:09:05,306 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:09:05,306 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:09:05,306 INFO L85 PathProgramCache]: Analyzing trace with hash 1821545128, now seen corresponding path program 1 times [2022-04-08 15:09:05,306 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:09:05,306 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [485610789] [2022-04-08 15:09:05,306 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 15:09:05,306 INFO L85 PathProgramCache]: Analyzing trace with hash 1821545128, now seen corresponding path program 2 times [2022-04-08 15:09:05,306 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:09:05,306 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1144833059] [2022-04-08 15:09:05,306 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:09:05,307 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:09:05,363 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:05,423 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:09:05,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:05,430 INFO L290 TraceCheckUtils]: 0: Hoare triple {28701#(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; {28656#true} is VALID [2022-04-08 15:09:05,430 INFO L290 TraceCheckUtils]: 1: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-08 15:09:05,430 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {28656#true} {28656#true} #1270#return; {28656#true} is VALID [2022-04-08 15:09:05,449 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:09:05,451 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:05,457 INFO L290 TraceCheckUtils]: 0: Hoare triple {28702#(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; {28656#true} is VALID [2022-04-08 15:09:05,458 INFO L290 TraceCheckUtils]: 1: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-08 15:09:05,458 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {28656#true} {28656#true} #1216#return; {28656#true} is VALID [2022-04-08 15:09:05,464 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:09:05,479 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:05,486 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:09:05,486 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:05,490 INFO L290 TraceCheckUtils]: 0: Hoare triple {28656#true} ~cond := #in~cond; {28656#true} is VALID [2022-04-08 15:09:05,490 INFO L290 TraceCheckUtils]: 1: Hoare triple {28656#true} assume !(0 == ~cond); {28656#true} is VALID [2022-04-08 15:09:05,490 INFO L290 TraceCheckUtils]: 2: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-08 15:09:05,491 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28656#true} {28656#true} #1254#return; {28656#true} is VALID [2022-04-08 15:09:05,491 INFO L290 TraceCheckUtils]: 0: Hoare triple {28703#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {28656#true} is VALID [2022-04-08 15:09:05,491 INFO L272 TraceCheckUtils]: 1: Hoare triple {28656#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {28656#true} is VALID [2022-04-08 15:09:05,491 INFO L290 TraceCheckUtils]: 2: Hoare triple {28656#true} ~cond := #in~cond; {28656#true} is VALID [2022-04-08 15:09:05,491 INFO L290 TraceCheckUtils]: 3: Hoare triple {28656#true} assume !(0 == ~cond); {28656#true} is VALID [2022-04-08 15:09:05,491 INFO L290 TraceCheckUtils]: 4: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-08 15:09:05,491 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {28656#true} {28656#true} #1254#return; {28656#true} is VALID [2022-04-08 15:09:05,491 INFO L290 TraceCheckUtils]: 6: Hoare triple {28656#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {28656#true} is VALID [2022-04-08 15:09:05,491 INFO L290 TraceCheckUtils]: 7: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-08 15:09:05,491 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {28656#true} {28656#true} #1218#return; {28656#true} is VALID [2022-04-08 15:09:05,499 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:09:05,502 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:05,507 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:09:05,509 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:05,515 INFO L290 TraceCheckUtils]: 0: Hoare triple {28708#(and (= |old(#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; {28656#true} is VALID [2022-04-08 15:09:05,515 INFO L290 TraceCheckUtils]: 1: Hoare triple {28656#true} assume !(0 == ~__BLAST_NONDET~5); {28656#true} is VALID [2022-04-08 15:09:05,515 INFO L290 TraceCheckUtils]: 2: Hoare triple {28656#true} #res := -1073741823; {28656#true} is VALID [2022-04-08 15:09:05,515 INFO L290 TraceCheckUtils]: 3: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-08 15:09:05,515 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {28656#true} {28656#true} #1176#return; {28656#true} is VALID [2022-04-08 15:09:05,515 INFO L290 TraceCheckUtils]: 0: Hoare triple {28708#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {28656#true} is VALID [2022-04-08 15:09:05,516 INFO L272 TraceCheckUtils]: 1: Hoare triple {28656#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {28708#(and (= |old(#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 15:09:05,516 INFO L290 TraceCheckUtils]: 2: Hoare triple {28708#(and (= |old(#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; {28656#true} is VALID [2022-04-08 15:09:05,516 INFO L290 TraceCheckUtils]: 3: Hoare triple {28656#true} assume !(0 == ~__BLAST_NONDET~5); {28656#true} is VALID [2022-04-08 15:09:05,516 INFO L290 TraceCheckUtils]: 4: Hoare triple {28656#true} #res := -1073741823; {28656#true} is VALID [2022-04-08 15:09:05,516 INFO L290 TraceCheckUtils]: 5: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-08 15:09:05,516 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {28656#true} {28656#true} #1176#return; {28656#true} is VALID [2022-04-08 15:09:05,517 INFO L290 TraceCheckUtils]: 7: Hoare triple {28656#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {28656#true} is VALID [2022-04-08 15:09:05,517 INFO L290 TraceCheckUtils]: 8: Hoare triple {28656#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {28656#true} is VALID [2022-04-08 15:09:05,517 INFO L290 TraceCheckUtils]: 9: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-08 15:09:05,517 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {28656#true} {28656#true} #1220#return; {28656#true} is VALID [2022-04-08 15:09:05,528 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 15:09:05,530 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:05,534 INFO L290 TraceCheckUtils]: 0: Hoare triple {28714#(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; {28656#true} is VALID [2022-04-08 15:09:05,535 INFO L290 TraceCheckUtils]: 1: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-08 15:09:05,535 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {28656#true} {28656#true} #1222#return; {28656#true} is VALID [2022-04-08 15:09:05,546 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 47 [2022-04-08 15:09:05,548 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:05,560 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-04-08 15:09:05,561 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:05,565 INFO L290 TraceCheckUtils]: 0: Hoare triple {28720#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {28656#true} is VALID [2022-04-08 15:09:05,565 INFO L290 TraceCheckUtils]: 1: Hoare triple {28656#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {28656#true} is VALID [2022-04-08 15:09:05,565 INFO L290 TraceCheckUtils]: 2: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-08 15:09:05,565 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28656#true} {28656#true} #1248#return; {28656#true} is VALID [2022-04-08 15:09:05,566 INFO L290 TraceCheckUtils]: 0: Hoare triple {28715#(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, 76 + ~DeviceObject.offset, 8);~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, 52 + ~Irp.offset, 8);call #t~mem52.base, #t~mem52.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 20 + ~irpStack~2.offset, 8); {28656#true} is VALID [2022-04-08 15:09:05,566 INFO L290 TraceCheckUtils]: 1: Hoare triple {28656#true} assume #t~mem53 % 18446744073709551616 == ~bitwiseOr(~bitwiseOr(720896, 512), 3) % 18446744073709551616;havoc #t~mem53; {28656#true} is VALID [2022-04-08 15:09:05,566 INFO L290 TraceCheckUtils]: 2: Hoare triple {28656#true} call #t~mem62.base, #t~mem62.offset := read~$Pointer$(~devExt~2.base, 40 + ~devExt~2.offset, 8); {28656#true} is VALID [2022-04-08 15:09:05,566 INFO L290 TraceCheckUtils]: 3: Hoare triple {28656#true} assume 0 != (#t~mem62.base + #t~mem62.offset) % 4294967296;havoc #t~mem62.base, #t~mem62.offset;~status~2 := -1073741757; {28656#true} is VALID [2022-04-08 15:09:05,566 INFO L290 TraceCheckUtils]: 4: Hoare triple {28656#true} assume !(~status~2 >= 0);call write~int(~status~2, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~2 % 4294967296 <= 2147483647 then ~status~2 % 4294967296 else ~status~2 % 4294967296 - 4294967296); {28656#true} is VALID [2022-04-08 15:09:05,566 INFO L272 TraceCheckUtils]: 5: Hoare triple {28656#true} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {28720#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:09:05,566 INFO L290 TraceCheckUtils]: 6: Hoare triple {28720#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {28656#true} is VALID [2022-04-08 15:09:05,566 INFO L290 TraceCheckUtils]: 7: Hoare triple {28656#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {28656#true} is VALID [2022-04-08 15:09:05,566 INFO L290 TraceCheckUtils]: 8: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-08 15:09:05,566 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {28656#true} {28656#true} #1248#return; {28656#true} is VALID [2022-04-08 15:09:05,567 INFO L290 TraceCheckUtils]: 10: Hoare triple {28656#true} #res := ~status~2; {28656#true} is VALID [2022-04-08 15:09:05,567 INFO L290 TraceCheckUtils]: 11: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-08 15:09:05,567 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {28656#true} {28656#true} #1234#return; {28656#true} is VALID [2022-04-08 15:09:05,568 INFO L272 TraceCheckUtils]: 0: Hoare triple {28656#true} call ULTIMATE.init(); {28701#(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 15:09:05,568 INFO L290 TraceCheckUtils]: 1: Hoare triple {28701#(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; {28656#true} is VALID [2022-04-08 15:09:05,568 INFO L290 TraceCheckUtils]: 2: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-08 15:09:05,568 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28656#true} {28656#true} #1270#return; {28656#true} is VALID [2022-04-08 15:09:05,568 INFO L272 TraceCheckUtils]: 4: Hoare triple {28656#true} call #t~ret213 := main(); {28656#true} is VALID [2022-04-08 15:09:05,568 INFO L290 TraceCheckUtils]: 5: Hoare triple {28656#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {28656#true} is VALID [2022-04-08 15:09:05,569 INFO L272 TraceCheckUtils]: 6: Hoare triple {28656#true} call _BLAST_init(); {28702#(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 15:09:05,569 INFO L290 TraceCheckUtils]: 7: Hoare triple {28702#(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; {28656#true} is VALID [2022-04-08 15:09:05,569 INFO L290 TraceCheckUtils]: 8: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-08 15:09:05,569 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {28656#true} {28656#true} #1216#return; {28656#true} is VALID [2022-04-08 15:09:05,570 INFO L272 TraceCheckUtils]: 10: Hoare triple {28656#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {28703#(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 15:09:05,570 INFO L290 TraceCheckUtils]: 11: Hoare triple {28703#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {28656#true} is VALID [2022-04-08 15:09:05,570 INFO L272 TraceCheckUtils]: 12: Hoare triple {28656#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {28656#true} is VALID [2022-04-08 15:09:05,570 INFO L290 TraceCheckUtils]: 13: Hoare triple {28656#true} ~cond := #in~cond; {28656#true} is VALID [2022-04-08 15:09:05,570 INFO L290 TraceCheckUtils]: 14: Hoare triple {28656#true} assume !(0 == ~cond); {28656#true} is VALID [2022-04-08 15:09:05,570 INFO L290 TraceCheckUtils]: 15: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-08 15:09:05,570 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {28656#true} {28656#true} #1254#return; {28656#true} is VALID [2022-04-08 15:09:05,570 INFO L290 TraceCheckUtils]: 17: Hoare triple {28656#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {28656#true} is VALID [2022-04-08 15:09:05,570 INFO L290 TraceCheckUtils]: 18: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-08 15:09:05,570 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {28656#true} {28656#true} #1218#return; {28656#true} is VALID [2022-04-08 15:09:05,570 INFO L290 TraceCheckUtils]: 20: Hoare triple {28656#true} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {28656#true} is VALID [2022-04-08 15:09:05,570 INFO L290 TraceCheckUtils]: 21: Hoare triple {28656#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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {28656#true} is VALID [2022-04-08 15:09:05,570 INFO L290 TraceCheckUtils]: 22: Hoare triple {28656#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {28656#true} is VALID [2022-04-08 15:09:05,571 INFO L272 TraceCheckUtils]: 23: Hoare triple {28656#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {28708#(and (= |old(#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 15:09:05,571 INFO L290 TraceCheckUtils]: 24: Hoare triple {28708#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {28656#true} is VALID [2022-04-08 15:09:05,572 INFO L272 TraceCheckUtils]: 25: Hoare triple {28656#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {28708#(and (= |old(#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 15:09:05,572 INFO L290 TraceCheckUtils]: 26: Hoare triple {28708#(and (= |old(#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; {28656#true} is VALID [2022-04-08 15:09:05,572 INFO L290 TraceCheckUtils]: 27: Hoare triple {28656#true} assume !(0 == ~__BLAST_NONDET~5); {28656#true} is VALID [2022-04-08 15:09:05,572 INFO L290 TraceCheckUtils]: 28: Hoare triple {28656#true} #res := -1073741823; {28656#true} is VALID [2022-04-08 15:09:05,572 INFO L290 TraceCheckUtils]: 29: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-08 15:09:05,572 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {28656#true} {28656#true} #1176#return; {28656#true} is VALID [2022-04-08 15:09:05,572 INFO L290 TraceCheckUtils]: 31: Hoare triple {28656#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {28656#true} is VALID [2022-04-08 15:09:05,572 INFO L290 TraceCheckUtils]: 32: Hoare triple {28656#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {28656#true} is VALID [2022-04-08 15:09:05,572 INFO L290 TraceCheckUtils]: 33: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-08 15:09:05,572 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {28656#true} {28656#true} #1220#return; {28656#true} is VALID [2022-04-08 15:09:05,572 INFO L290 TraceCheckUtils]: 35: Hoare triple {28656#true} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {28656#true} is VALID [2022-04-08 15:09:05,573 INFO L272 TraceCheckUtils]: 36: Hoare triple {28656#true} call stub_driver_init(); {28714#(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 15:09:05,573 INFO L290 TraceCheckUtils]: 37: Hoare triple {28714#(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; {28656#true} is VALID [2022-04-08 15:09:05,573 INFO L290 TraceCheckUtils]: 38: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-08 15:09:05,573 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {28656#true} {28656#true} #1222#return; {28656#true} is VALID [2022-04-08 15:09:05,573 INFO L290 TraceCheckUtils]: 40: Hoare triple {28656#true} assume !!(~status~5 >= 0); {28656#true} is VALID [2022-04-08 15:09:05,573 INFO L290 TraceCheckUtils]: 41: Hoare triple {28656#true} assume !(0 == ~__BLAST_NONDET~0); {28656#true} is VALID [2022-04-08 15:09:05,573 INFO L290 TraceCheckUtils]: 42: Hoare triple {28656#true} assume !(1 == ~__BLAST_NONDET~0); {28656#true} is VALID [2022-04-08 15:09:05,573 INFO L290 TraceCheckUtils]: 43: Hoare triple {28656#true} assume !(2 == ~__BLAST_NONDET~0); {28656#true} is VALID [2022-04-08 15:09:05,573 INFO L290 TraceCheckUtils]: 44: Hoare triple {28656#true} assume !(3 == ~__BLAST_NONDET~0); {28656#true} is VALID [2022-04-08 15:09:05,573 INFO L290 TraceCheckUtils]: 45: Hoare triple {28656#true} assume !(4 == ~__BLAST_NONDET~0); {28656#true} is VALID [2022-04-08 15:09:05,573 INFO L290 TraceCheckUtils]: 46: Hoare triple {28656#true} assume 8 == ~__BLAST_NONDET~0; {28656#true} is VALID [2022-04-08 15:09:05,574 INFO L272 TraceCheckUtils]: 47: Hoare triple {28656#true} call #t~ret176 := KbFilter_InternIoCtl(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {28715#(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 15:09:05,574 INFO L290 TraceCheckUtils]: 48: Hoare triple {28715#(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, 76 + ~DeviceObject.offset, 8);~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, 52 + ~Irp.offset, 8);call #t~mem52.base, #t~mem52.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 20 + ~irpStack~2.offset, 8); {28656#true} is VALID [2022-04-08 15:09:05,574 INFO L290 TraceCheckUtils]: 49: Hoare triple {28656#true} assume #t~mem53 % 18446744073709551616 == ~bitwiseOr(~bitwiseOr(720896, 512), 3) % 18446744073709551616;havoc #t~mem53; {28656#true} is VALID [2022-04-08 15:09:05,574 INFO L290 TraceCheckUtils]: 50: Hoare triple {28656#true} call #t~mem62.base, #t~mem62.offset := read~$Pointer$(~devExt~2.base, 40 + ~devExt~2.offset, 8); {28656#true} is VALID [2022-04-08 15:09:05,574 INFO L290 TraceCheckUtils]: 51: Hoare triple {28656#true} assume 0 != (#t~mem62.base + #t~mem62.offset) % 4294967296;havoc #t~mem62.base, #t~mem62.offset;~status~2 := -1073741757; {28656#true} is VALID [2022-04-08 15:09:05,575 INFO L290 TraceCheckUtils]: 52: Hoare triple {28656#true} assume !(~status~2 >= 0);call write~int(~status~2, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~2 % 4294967296 <= 2147483647 then ~status~2 % 4294967296 else ~status~2 % 4294967296 - 4294967296); {28656#true} is VALID [2022-04-08 15:09:05,575 INFO L272 TraceCheckUtils]: 53: Hoare triple {28656#true} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {28720#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:09:05,575 INFO L290 TraceCheckUtils]: 54: Hoare triple {28720#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {28656#true} is VALID [2022-04-08 15:09:05,575 INFO L290 TraceCheckUtils]: 55: Hoare triple {28656#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {28656#true} is VALID [2022-04-08 15:09:05,575 INFO L290 TraceCheckUtils]: 56: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-08 15:09:05,575 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {28656#true} {28656#true} #1248#return; {28656#true} is VALID [2022-04-08 15:09:05,575 INFO L290 TraceCheckUtils]: 58: Hoare triple {28656#true} #res := ~status~2; {28656#true} is VALID [2022-04-08 15:09:05,575 INFO L290 TraceCheckUtils]: 59: Hoare triple {28656#true} assume true; {28656#true} is VALID [2022-04-08 15:09:05,575 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {28656#true} {28656#true} #1234#return; {28656#true} is VALID [2022-04-08 15:09:05,575 INFO L290 TraceCheckUtils]: 61: Hoare triple {28656#true} assume -9223372036854775808 <= #t~ret176 && #t~ret176 <= 9223372036854775807;~status~5 := #t~ret176;havoc #t~ret176; {28656#true} is VALID [2022-04-08 15:09:05,575 INFO L290 TraceCheckUtils]: 62: Hoare triple {28656#true} assume 0 != ~we_should_unload~0; {28656#true} is VALID [2022-04-08 15:09:05,576 INFO L290 TraceCheckUtils]: 63: Hoare triple {28656#true} assume !(1 == ~pended~0); {28700#(not (= ~pended~0 1))} is VALID [2022-04-08 15:09:05,576 INFO L290 TraceCheckUtils]: 64: Hoare triple {28700#(not (= ~pended~0 1))} assume !(1 == ~pended~0); {28700#(not (= ~pended~0 1))} is VALID [2022-04-08 15:09:05,576 INFO L290 TraceCheckUtils]: 65: Hoare triple {28700#(not (= ~pended~0 1))} assume !(~s~0 == ~UNLOADED~0); {28700#(not (= ~pended~0 1))} is VALID [2022-04-08 15:09:05,576 INFO L290 TraceCheckUtils]: 66: Hoare triple {28700#(not (= ~pended~0 1))} assume !(-1 == ~status~5); {28700#(not (= ~pended~0 1))} is VALID [2022-04-08 15:09:05,577 INFO L290 TraceCheckUtils]: 67: Hoare triple {28700#(not (= ~pended~0 1))} assume ~s~0 != ~SKIP2~0; {28700#(not (= ~pended~0 1))} is VALID [2022-04-08 15:09:05,577 INFO L290 TraceCheckUtils]: 68: Hoare triple {28700#(not (= ~pended~0 1))} assume ~s~0 != ~IPC~0; {28700#(not (= ~pended~0 1))} is VALID [2022-04-08 15:09:05,577 INFO L290 TraceCheckUtils]: 69: Hoare triple {28700#(not (= ~pended~0 1))} assume !(~s~0 != ~DC~0); {28700#(not (= ~pended~0 1))} is VALID [2022-04-08 15:09:05,577 INFO L290 TraceCheckUtils]: 70: Hoare triple {28700#(not (= ~pended~0 1))} assume 1 == ~pended~0; {28657#false} is VALID [2022-04-08 15:09:05,577 INFO L290 TraceCheckUtils]: 71: Hoare triple {28657#false} assume 259 != ~status~5; {28657#false} is VALID [2022-04-08 15:09:05,577 INFO L272 TraceCheckUtils]: 72: Hoare triple {28657#false} call errorFn(); {28657#false} is VALID [2022-04-08 15:09:05,577 INFO L290 TraceCheckUtils]: 73: Hoare triple {28657#false} assume !false; {28657#false} is VALID [2022-04-08 15:09:05,578 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 15:09:05,578 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:09:05,578 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1144833059] [2022-04-08 15:09:05,578 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1144833059] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:09:05,578 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:09:05,578 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 15:09:05,578 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:09:05,578 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [485610789] [2022-04-08 15:09:05,578 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [485610789] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:09:05,578 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:09:05,578 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 15:09:05,578 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1822782845] [2022-04-08 15:09:05,578 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:09:05,579 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 15:09:05,579 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:09:05,579 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 15:09:05,632 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 15:09:05,632 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 15:09:05,632 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:09:05,633 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 15:09:05,633 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=64, Unknown=0, NotChecked=0, Total=90 [2022-04-08 15:09:05,634 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 15:09:07,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 15:09:12,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:09:12,456 INFO L93 Difference]: Finished difference Result 419 states and 554 transitions. [2022-04-08 15:09:12,456 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 15:09:12,456 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 15:09:12,456 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:09:12,456 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 15:09:12,459 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 436 transitions. [2022-04-08 15:09:12,459 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 15:09:12,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 436 transitions. [2022-04-08 15:09:12,461 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 436 transitions. [2022-04-08 15:09:12,946 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 15:09:12,955 INFO L225 Difference]: With dead ends: 419 [2022-04-08 15:09:12,955 INFO L226 Difference]: Without dead ends: 396 [2022-04-08 15:09:12,955 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 15:09:12,956 INFO L913 BasicCegarLoop]: 274 mSDtfsCounter, 904 mSDsluCounter, 113 mSDsCounter, 0 mSdLazyCounter, 550 mSolverCounterSat, 299 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 914 SdHoareTripleChecker+Valid, 387 SdHoareTripleChecker+Invalid, 850 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 299 IncrementalHoareTripleChecker+Valid, 550 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.6s IncrementalHoareTripleChecker+Time [2022-04-08 15:09:12,956 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [914 Valid, 387 Invalid, 850 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [299 Valid, 550 Invalid, 1 Unknown, 0 Unchecked, 3.6s Time] [2022-04-08 15:09:12,956 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 396 states. [2022-04-08 15:09:13,328 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 396 to 381. [2022-04-08 15:09:13,328 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:09:13,329 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 15:09:13,329 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 15:09:13,329 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 15:09:13,336 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:09:13,336 INFO L93 Difference]: Finished difference Result 396 states and 522 transitions. [2022-04-08 15:09:13,336 INFO L276 IsEmpty]: Start isEmpty. Operand 396 states and 522 transitions. [2022-04-08 15:09:13,337 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:09:13,337 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:09:13,337 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 15:09:13,338 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 15:09:13,345 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:09:13,345 INFO L93 Difference]: Finished difference Result 396 states and 522 transitions. [2022-04-08 15:09:13,345 INFO L276 IsEmpty]: Start isEmpty. Operand 396 states and 522 transitions. [2022-04-08 15:09:13,345 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:09:13,346 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:09:13,346 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:09:13,346 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:09:13,346 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 15:09:13,353 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 381 states to 381 states and 501 transitions. [2022-04-08 15:09:13,354 INFO L78 Accepts]: Start accepts. Automaton has 381 states and 501 transitions. Word has length 74 [2022-04-08 15:09:13,354 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:09:13,354 INFO L478 AbstractCegarLoop]: Abstraction has 381 states and 501 transitions. [2022-04-08 15:09:13,354 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 15:09:13,354 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 381 states and 501 transitions. [2022-04-08 15:09:14,091 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 15:09:14,091 INFO L276 IsEmpty]: Start isEmpty. Operand 381 states and 501 transitions. [2022-04-08 15:09:14,092 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2022-04-08 15:09:14,092 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:09:14,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] [2022-04-08 15:09:14,092 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11 [2022-04-08 15:09:14,092 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:09:14,093 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:09:14,093 INFO L85 PathProgramCache]: Analyzing trace with hash 937494245, now seen corresponding path program 1 times [2022-04-08 15:09:14,093 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:09:14,093 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1891144354] [2022-04-08 15:09:14,093 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 15:09:14,093 INFO L85 PathProgramCache]: Analyzing trace with hash 937494245, now seen corresponding path program 2 times [2022-04-08 15:09:14,093 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:09:14,093 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [328065056] [2022-04-08 15:09:14,093 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:09:14,093 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:09:14,147 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:14,205 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:09:14,209 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:14,214 INFO L290 TraceCheckUtils]: 0: Hoare triple {31183#(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; {31138#true} is VALID [2022-04-08 15:09:14,214 INFO L290 TraceCheckUtils]: 1: Hoare triple {31138#true} assume true; {31138#true} is VALID [2022-04-08 15:09:14,214 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {31138#true} {31138#true} #1270#return; {31138#true} is VALID [2022-04-08 15:09:14,233 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:09:14,234 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:14,239 INFO L290 TraceCheckUtils]: 0: Hoare triple {31184#(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; {31138#true} is VALID [2022-04-08 15:09:14,239 INFO L290 TraceCheckUtils]: 1: Hoare triple {31138#true} assume true; {31138#true} is VALID [2022-04-08 15:09:14,239 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {31138#true} {31138#true} #1216#return; {31138#true} is VALID [2022-04-08 15:09:14,245 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:09:14,250 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:14,257 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:09:14,258 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:14,262 INFO L290 TraceCheckUtils]: 0: Hoare triple {31138#true} ~cond := #in~cond; {31138#true} is VALID [2022-04-08 15:09:14,263 INFO L290 TraceCheckUtils]: 1: Hoare triple {31138#true} assume !(0 == ~cond); {31138#true} is VALID [2022-04-08 15:09:14,263 INFO L290 TraceCheckUtils]: 2: Hoare triple {31138#true} assume true; {31138#true} is VALID [2022-04-08 15:09:14,263 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31138#true} {31138#true} #1254#return; {31138#true} is VALID [2022-04-08 15:09:14,263 INFO L290 TraceCheckUtils]: 0: Hoare triple {31185#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {31138#true} is VALID [2022-04-08 15:09:14,263 INFO L272 TraceCheckUtils]: 1: Hoare triple {31138#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {31138#true} is VALID [2022-04-08 15:09:14,263 INFO L290 TraceCheckUtils]: 2: Hoare triple {31138#true} ~cond := #in~cond; {31138#true} is VALID [2022-04-08 15:09:14,263 INFO L290 TraceCheckUtils]: 3: Hoare triple {31138#true} assume !(0 == ~cond); {31138#true} is VALID [2022-04-08 15:09:14,263 INFO L290 TraceCheckUtils]: 4: Hoare triple {31138#true} assume true; {31138#true} is VALID [2022-04-08 15:09:14,263 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {31138#true} {31138#true} #1254#return; {31138#true} is VALID [2022-04-08 15:09:14,263 INFO L290 TraceCheckUtils]: 6: Hoare triple {31138#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {31138#true} is VALID [2022-04-08 15:09:14,263 INFO L290 TraceCheckUtils]: 7: Hoare triple {31138#true} assume true; {31138#true} is VALID [2022-04-08 15:09:14,263 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {31138#true} {31138#true} #1218#return; {31138#true} is VALID [2022-04-08 15:09:14,271 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:09:14,274 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:14,279 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:09:14,281 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:14,285 INFO L290 TraceCheckUtils]: 0: Hoare triple {31190#(and (= |old(#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; {31138#true} is VALID [2022-04-08 15:09:14,286 INFO L290 TraceCheckUtils]: 1: Hoare triple {31138#true} assume !(0 == ~__BLAST_NONDET~5); {31138#true} is VALID [2022-04-08 15:09:14,286 INFO L290 TraceCheckUtils]: 2: Hoare triple {31138#true} #res := -1073741823; {31138#true} is VALID [2022-04-08 15:09:14,286 INFO L290 TraceCheckUtils]: 3: Hoare triple {31138#true} assume true; {31138#true} is VALID [2022-04-08 15:09:14,286 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {31138#true} {31138#true} #1176#return; {31138#true} is VALID [2022-04-08 15:09:14,286 INFO L290 TraceCheckUtils]: 0: Hoare triple {31190#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {31138#true} is VALID [2022-04-08 15:09:14,287 INFO L272 TraceCheckUtils]: 1: Hoare triple {31138#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {31190#(and (= |old(#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 15:09:14,287 INFO L290 TraceCheckUtils]: 2: Hoare triple {31190#(and (= |old(#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; {31138#true} is VALID [2022-04-08 15:09:14,287 INFO L290 TraceCheckUtils]: 3: Hoare triple {31138#true} assume !(0 == ~__BLAST_NONDET~5); {31138#true} is VALID [2022-04-08 15:09:14,287 INFO L290 TraceCheckUtils]: 4: Hoare triple {31138#true} #res := -1073741823; {31138#true} is VALID [2022-04-08 15:09:14,287 INFO L290 TraceCheckUtils]: 5: Hoare triple {31138#true} assume true; {31138#true} is VALID [2022-04-08 15:09:14,287 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {31138#true} {31138#true} #1176#return; {31138#true} is VALID [2022-04-08 15:09:14,287 INFO L290 TraceCheckUtils]: 7: Hoare triple {31138#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {31138#true} is VALID [2022-04-08 15:09:14,287 INFO L290 TraceCheckUtils]: 8: Hoare triple {31138#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {31138#true} is VALID [2022-04-08 15:09:14,287 INFO L290 TraceCheckUtils]: 9: Hoare triple {31138#true} assume true; {31138#true} is VALID [2022-04-08 15:09:14,287 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {31138#true} {31138#true} #1220#return; {31138#true} is VALID [2022-04-08 15:09:14,299 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 15:09:14,300 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:14,306 INFO L290 TraceCheckUtils]: 0: Hoare triple {31196#(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; {31138#true} is VALID [2022-04-08 15:09:14,306 INFO L290 TraceCheckUtils]: 1: Hoare triple {31138#true} assume true; {31138#true} is VALID [2022-04-08 15:09:14,306 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {31138#true} {31138#true} #1222#return; {31138#true} is VALID [2022-04-08 15:09:14,306 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 49 [2022-04-08 15:09:14,307 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:14,312 INFO L290 TraceCheckUtils]: 0: Hoare triple {31185#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {31138#true} is VALID [2022-04-08 15:09:14,313 INFO L290 TraceCheckUtils]: 1: Hoare triple {31138#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {31138#true} is VALID [2022-04-08 15:09:14,313 INFO L290 TraceCheckUtils]: 2: Hoare triple {31138#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {31138#true} is VALID [2022-04-08 15:09:14,313 INFO L290 TraceCheckUtils]: 3: Hoare triple {31138#true} assume #res.base == dest.base && #res.offset == dest.offset; {31138#true} is VALID [2022-04-08 15:09:14,313 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {31138#true} {31138#true} #1186#return; {31138#true} is VALID [2022-04-08 15:09:14,320 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 59 [2022-04-08 15:09:14,323 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:14,338 INFO L290 TraceCheckUtils]: 0: Hoare triple {31197#(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; {31138#true} is VALID [2022-04-08 15:09:14,338 INFO L290 TraceCheckUtils]: 1: Hoare triple {31138#true} assume !(0 != ~compRegistered~0); {31198#(<= ~compRegistered~0 0)} is VALID [2022-04-08 15:09:14,339 INFO L290 TraceCheckUtils]: 2: Hoare triple {31198#(<= ~compRegistered~0 0)} assume 0 == ~__BLAST_NONDET~11; {31198#(<= ~compRegistered~0 0)} is VALID [2022-04-08 15:09:14,339 INFO L290 TraceCheckUtils]: 3: Hoare triple {31198#(<= ~compRegistered~0 0)} ~returnVal2~0 := 0; {31198#(<= ~compRegistered~0 0)} is VALID [2022-04-08 15:09:14,339 INFO L290 TraceCheckUtils]: 4: Hoare triple {31198#(<= ~compRegistered~0 0)} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {31198#(<= ~compRegistered~0 0)} is VALID [2022-04-08 15:09:14,339 INFO L290 TraceCheckUtils]: 5: Hoare triple {31198#(<= ~compRegistered~0 0)} #res := ~returnVal2~0; {31198#(<= ~compRegistered~0 0)} is VALID [2022-04-08 15:09:14,340 INFO L290 TraceCheckUtils]: 6: Hoare triple {31198#(<= ~compRegistered~0 0)} assume true; {31198#(<= ~compRegistered~0 0)} is VALID [2022-04-08 15:09:14,340 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {31198#(<= ~compRegistered~0 0)} {31174#(= ~compRegistered~0 1)} #1192#return; {31139#false} is VALID [2022-04-08 15:09:14,341 INFO L272 TraceCheckUtils]: 0: Hoare triple {31138#true} call ULTIMATE.init(); {31183#(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 15:09:14,341 INFO L290 TraceCheckUtils]: 1: Hoare triple {31183#(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; {31138#true} is VALID [2022-04-08 15:09:14,341 INFO L290 TraceCheckUtils]: 2: Hoare triple {31138#true} assume true; {31138#true} is VALID [2022-04-08 15:09:14,342 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31138#true} {31138#true} #1270#return; {31138#true} is VALID [2022-04-08 15:09:14,342 INFO L272 TraceCheckUtils]: 4: Hoare triple {31138#true} call #t~ret213 := main(); {31138#true} is VALID [2022-04-08 15:09:14,342 INFO L290 TraceCheckUtils]: 5: Hoare triple {31138#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {31138#true} is VALID [2022-04-08 15:09:14,342 INFO L272 TraceCheckUtils]: 6: Hoare triple {31138#true} call _BLAST_init(); {31184#(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 15:09:14,342 INFO L290 TraceCheckUtils]: 7: Hoare triple {31184#(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; {31138#true} is VALID [2022-04-08 15:09:14,343 INFO L290 TraceCheckUtils]: 8: Hoare triple {31138#true} assume true; {31138#true} is VALID [2022-04-08 15:09:14,343 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {31138#true} {31138#true} #1216#return; {31138#true} is VALID [2022-04-08 15:09:14,351 INFO L272 TraceCheckUtils]: 10: Hoare triple {31138#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {31185#(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 15:09:14,351 INFO L290 TraceCheckUtils]: 11: Hoare triple {31185#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {31138#true} is VALID [2022-04-08 15:09:14,351 INFO L272 TraceCheckUtils]: 12: Hoare triple {31138#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {31138#true} is VALID [2022-04-08 15:09:14,351 INFO L290 TraceCheckUtils]: 13: Hoare triple {31138#true} ~cond := #in~cond; {31138#true} is VALID [2022-04-08 15:09:14,351 INFO L290 TraceCheckUtils]: 14: Hoare triple {31138#true} assume !(0 == ~cond); {31138#true} is VALID [2022-04-08 15:09:14,351 INFO L290 TraceCheckUtils]: 15: Hoare triple {31138#true} assume true; {31138#true} is VALID [2022-04-08 15:09:14,351 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {31138#true} {31138#true} #1254#return; {31138#true} is VALID [2022-04-08 15:09:14,351 INFO L290 TraceCheckUtils]: 17: Hoare triple {31138#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {31138#true} is VALID [2022-04-08 15:09:14,352 INFO L290 TraceCheckUtils]: 18: Hoare triple {31138#true} assume true; {31138#true} is VALID [2022-04-08 15:09:14,352 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {31138#true} {31138#true} #1218#return; {31138#true} is VALID [2022-04-08 15:09:14,352 INFO L290 TraceCheckUtils]: 20: Hoare triple {31138#true} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {31138#true} is VALID [2022-04-08 15:09:14,352 INFO L290 TraceCheckUtils]: 21: Hoare triple {31138#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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {31138#true} is VALID [2022-04-08 15:09:14,352 INFO L290 TraceCheckUtils]: 22: Hoare triple {31138#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {31138#true} is VALID [2022-04-08 15:09:14,352 INFO L272 TraceCheckUtils]: 23: Hoare triple {31138#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {31190#(and (= |old(#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 15:09:14,352 INFO L290 TraceCheckUtils]: 24: Hoare triple {31190#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {31138#true} is VALID [2022-04-08 15:09:14,353 INFO L272 TraceCheckUtils]: 25: Hoare triple {31138#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {31190#(and (= |old(#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 15:09:14,353 INFO L290 TraceCheckUtils]: 26: Hoare triple {31190#(and (= |old(#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; {31138#true} is VALID [2022-04-08 15:09:14,354 INFO L290 TraceCheckUtils]: 27: Hoare triple {31138#true} assume !(0 == ~__BLAST_NONDET~5); {31138#true} is VALID [2022-04-08 15:09:14,354 INFO L290 TraceCheckUtils]: 28: Hoare triple {31138#true} #res := -1073741823; {31138#true} is VALID [2022-04-08 15:09:14,354 INFO L290 TraceCheckUtils]: 29: Hoare triple {31138#true} assume true; {31138#true} is VALID [2022-04-08 15:09:14,354 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {31138#true} {31138#true} #1176#return; {31138#true} is VALID [2022-04-08 15:09:14,354 INFO L290 TraceCheckUtils]: 31: Hoare triple {31138#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {31138#true} is VALID [2022-04-08 15:09:14,354 INFO L290 TraceCheckUtils]: 32: Hoare triple {31138#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {31138#true} is VALID [2022-04-08 15:09:14,354 INFO L290 TraceCheckUtils]: 33: Hoare triple {31138#true} assume true; {31138#true} is VALID [2022-04-08 15:09:14,354 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {31138#true} {31138#true} #1220#return; {31138#true} is VALID [2022-04-08 15:09:14,354 INFO L290 TraceCheckUtils]: 35: Hoare triple {31138#true} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {31138#true} is VALID [2022-04-08 15:09:14,354 INFO L272 TraceCheckUtils]: 36: Hoare triple {31138#true} call stub_driver_init(); {31196#(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 15:09:14,355 INFO L290 TraceCheckUtils]: 37: Hoare triple {31196#(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; {31138#true} is VALID [2022-04-08 15:09:14,355 INFO L290 TraceCheckUtils]: 38: Hoare triple {31138#true} assume true; {31138#true} is VALID [2022-04-08 15:09:14,355 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {31138#true} {31138#true} #1222#return; {31138#true} is VALID [2022-04-08 15:09:14,355 INFO L290 TraceCheckUtils]: 40: Hoare triple {31138#true} assume !!(~status~5 >= 0); {31138#true} is VALID [2022-04-08 15:09:14,355 INFO L290 TraceCheckUtils]: 41: Hoare triple {31138#true} assume !(0 == ~__BLAST_NONDET~0); {31138#true} is VALID [2022-04-08 15:09:14,355 INFO L290 TraceCheckUtils]: 42: Hoare triple {31138#true} assume !(1 == ~__BLAST_NONDET~0); {31138#true} is VALID [2022-04-08 15:09:14,355 INFO L290 TraceCheckUtils]: 43: Hoare triple {31138#true} assume !(2 == ~__BLAST_NONDET~0); {31138#true} is VALID [2022-04-08 15:09:14,355 INFO L290 TraceCheckUtils]: 44: Hoare triple {31138#true} assume 3 == ~__BLAST_NONDET~0; {31138#true} is VALID [2022-04-08 15:09:14,355 INFO L272 TraceCheckUtils]: 45: Hoare triple {31138#true} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {31138#true} is VALID [2022-04-08 15:09:14,355 INFO L290 TraceCheckUtils]: 46: Hoare triple {31138#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(28);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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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); {31138#true} is VALID [2022-04-08 15:09:14,355 INFO L290 TraceCheckUtils]: 47: Hoare triple {31138#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {31138#true} is VALID [2022-04-08 15:09:14,355 INFO L290 TraceCheckUtils]: 48: Hoare triple {31138#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 180 + ~Irp.offset, 8);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 68;havoc #t~mem103.base, #t~mem103.offset; {31138#true} is VALID [2022-04-08 15:09:14,356 INFO L272 TraceCheckUtils]: 49: Hoare triple {31138#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, 52); {31185#(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 15:09:14,356 INFO L290 TraceCheckUtils]: 50: Hoare triple {31185#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {31138#true} is VALID [2022-04-08 15:09:14,356 INFO L290 TraceCheckUtils]: 51: Hoare triple {31138#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {31138#true} is VALID [2022-04-08 15:09:14,356 INFO L290 TraceCheckUtils]: 52: Hoare triple {31138#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {31138#true} is VALID [2022-04-08 15:09:14,356 INFO L290 TraceCheckUtils]: 53: Hoare triple {31138#true} assume #res.base == dest.base && #res.offset == dest.offset; {31138#true} is VALID [2022-04-08 15:09:14,356 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {31138#true} {31138#true} #1186#return; {31138#true} is VALID [2022-04-08 15:09:14,356 INFO L290 TraceCheckUtils]: 55: Hoare triple {31138#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {31138#true} is VALID [2022-04-08 15:09:14,356 INFO L290 TraceCheckUtils]: 56: Hoare triple {31138#true} assume !(~s~0 != ~NP~0); {31138#true} is VALID [2022-04-08 15:09:14,356 INFO L290 TraceCheckUtils]: 57: Hoare triple {31138#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {31174#(= ~compRegistered~0 1)} is VALID [2022-04-08 15:09:14,357 INFO L290 TraceCheckUtils]: 58: Hoare triple {31174#(= ~compRegistered~0 1)} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 68;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 52 + ~irpSp___0~0.offset, 8);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 60 + ~irpSp___0~0.offset, 8);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, 16 + ~devExt~3.offset, 8); {31174#(= ~compRegistered~0 1)} is VALID [2022-04-08 15:09:14,357 INFO L272 TraceCheckUtils]: 59: Hoare triple {31174#(= ~compRegistered~0 1)} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {31197#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:09:14,357 INFO L290 TraceCheckUtils]: 60: Hoare triple {31197#(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; {31138#true} is VALID [2022-04-08 15:09:14,358 INFO L290 TraceCheckUtils]: 61: Hoare triple {31138#true} assume !(0 != ~compRegistered~0); {31198#(<= ~compRegistered~0 0)} is VALID [2022-04-08 15:09:14,358 INFO L290 TraceCheckUtils]: 62: Hoare triple {31198#(<= ~compRegistered~0 0)} assume 0 == ~__BLAST_NONDET~11; {31198#(<= ~compRegistered~0 0)} is VALID [2022-04-08 15:09:14,358 INFO L290 TraceCheckUtils]: 63: Hoare triple {31198#(<= ~compRegistered~0 0)} ~returnVal2~0 := 0; {31198#(<= ~compRegistered~0 0)} is VALID [2022-04-08 15:09:14,358 INFO L290 TraceCheckUtils]: 64: Hoare triple {31198#(<= ~compRegistered~0 0)} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {31198#(<= ~compRegistered~0 0)} is VALID [2022-04-08 15:09:14,358 INFO L290 TraceCheckUtils]: 65: Hoare triple {31198#(<= ~compRegistered~0 0)} #res := ~returnVal2~0; {31198#(<= ~compRegistered~0 0)} is VALID [2022-04-08 15:09:14,359 INFO L290 TraceCheckUtils]: 66: Hoare triple {31198#(<= ~compRegistered~0 0)} assume true; {31198#(<= ~compRegistered~0 0)} is VALID [2022-04-08 15:09:14,359 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {31198#(<= ~compRegistered~0 0)} {31174#(= ~compRegistered~0 1)} #1192#return; {31139#false} is VALID [2022-04-08 15:09:14,359 INFO L290 TraceCheckUtils]: 68: Hoare triple {31139#false} assume -9223372036854775808 <= #t~ret109 && #t~ret109 <= 9223372036854775807;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {31139#false} is VALID [2022-04-08 15:09:14,359 INFO L290 TraceCheckUtils]: 69: Hoare triple {31139#false} assume !(259 == ~status~3); {31139#false} is VALID [2022-04-08 15:09:14,359 INFO L290 TraceCheckUtils]: 70: Hoare triple {31139#false} assume !(~status~3 >= 0); {31139#false} is VALID [2022-04-08 15:09:14,360 INFO L290 TraceCheckUtils]: 71: Hoare triple {31139#false} call write~int(~status~3, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~3 % 4294967296 <= 2147483647 then ~status~3 % 4294967296 else ~status~3 % 4294967296 - 4294967296);call write~int(0, ~Irp.base, 52 + ~Irp.offset, 8); {31139#false} is VALID [2022-04-08 15:09:14,360 INFO L272 TraceCheckUtils]: 72: Hoare triple {31139#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {31139#false} is VALID [2022-04-08 15:09:14,360 INFO L290 TraceCheckUtils]: 73: Hoare triple {31139#false} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {31139#false} is VALID [2022-04-08 15:09:14,360 INFO L290 TraceCheckUtils]: 74: Hoare triple {31139#false} assume !(~s~0 == ~NP~0); {31139#false} is VALID [2022-04-08 15:09:14,360 INFO L272 TraceCheckUtils]: 75: Hoare triple {31139#false} call errorFn(); {31139#false} is VALID [2022-04-08 15:09:14,360 INFO L290 TraceCheckUtils]: 76: Hoare triple {31139#false} assume !false; {31139#false} is VALID [2022-04-08 15:09:14,360 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 15:09:14,360 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:09:14,360 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [328065056] [2022-04-08 15:09:14,360 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [328065056] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:09:14,360 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:09:14,360 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 15:09:14,361 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:09:14,361 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1891144354] [2022-04-08 15:09:14,361 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1891144354] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:09:14,361 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:09:14,361 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 15:09:14,361 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [429297634] [2022-04-08 15:09:14,361 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:09:14,361 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 15:09:14,361 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:09:14,361 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 15:09:14,414 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 15:09:14,414 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 15:09:14,415 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:09:14,415 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 15:09:14,415 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-08 15:09:14,415 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 15:09:16,567 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 15:09:21,524 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.00s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 15:09:24,860 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:09:24,860 INFO L93 Difference]: Finished difference Result 437 states and 561 transitions. [2022-04-08 15:09:24,860 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 15:09:24,860 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 15:09:24,860 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:09:24,861 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 15:09:24,863 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 493 transitions. [2022-04-08 15:09:24,864 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 15:09:24,867 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 493 transitions. [2022-04-08 15:09:24,867 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 493 transitions. [2022-04-08 15:09:25,388 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 15:09:25,395 INFO L225 Difference]: With dead ends: 437 [2022-04-08 15:09:25,395 INFO L226 Difference]: Without dead ends: 374 [2022-04-08 15:09:25,395 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 37 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 53 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=103, Invalid=277, Unknown=0, NotChecked=0, Total=380 [2022-04-08 15:09:25,396 INFO L913 BasicCegarLoop]: 313 mSDtfsCounter, 977 mSDsluCounter, 253 mSDsCounter, 0 mSdLazyCounter, 841 mSolverCounterSat, 316 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 987 SdHoareTripleChecker+Valid, 566 SdHoareTripleChecker+Invalid, 1158 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 316 IncrementalHoareTripleChecker+Valid, 841 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.8s IncrementalHoareTripleChecker+Time [2022-04-08 15:09:25,396 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [987 Valid, 566 Invalid, 1158 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [316 Valid, 841 Invalid, 1 Unknown, 0 Unchecked, 5.8s Time] [2022-04-08 15:09:25,396 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 374 states. [2022-04-08 15:09:25,811 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 374 to 345. [2022-04-08 15:09:25,811 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:09:25,811 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 15:09:25,812 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 15:09:25,812 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 15:09:25,818 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:09:25,818 INFO L93 Difference]: Finished difference Result 374 states and 482 transitions. [2022-04-08 15:09:25,818 INFO L276 IsEmpty]: Start isEmpty. Operand 374 states and 482 transitions. [2022-04-08 15:09:25,818 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:09:25,818 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:09:25,819 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 15:09:25,819 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 15:09:25,824 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:09:25,825 INFO L93 Difference]: Finished difference Result 374 states and 482 transitions. [2022-04-08 15:09:25,825 INFO L276 IsEmpty]: Start isEmpty. Operand 374 states and 482 transitions. [2022-04-08 15:09:25,825 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:09:25,825 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:09:25,825 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:09:25,825 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:09:25,826 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 15:09:25,831 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 345 states to 345 states and 447 transitions. [2022-04-08 15:09:25,832 INFO L78 Accepts]: Start accepts. Automaton has 345 states and 447 transitions. Word has length 77 [2022-04-08 15:09:25,832 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:09:25,832 INFO L478 AbstractCegarLoop]: Abstraction has 345 states and 447 transitions. [2022-04-08 15:09:25,832 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 15:09:25,832 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 345 states and 447 transitions. [2022-04-08 15:09:26,524 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 15:09:26,524 INFO L276 IsEmpty]: Start isEmpty. Operand 345 states and 447 transitions. [2022-04-08 15:09:26,525 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-08 15:09:26,525 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:09:26,525 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 15:09:26,525 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12 [2022-04-08 15:09:26,525 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:09:26,525 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:09:26,526 INFO L85 PathProgramCache]: Analyzing trace with hash 641442499, now seen corresponding path program 1 times [2022-04-08 15:09:26,526 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:09:26,526 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1289593556] [2022-04-08 15:09:26,526 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 15:09:26,526 INFO L85 PathProgramCache]: Analyzing trace with hash 641442499, now seen corresponding path program 2 times [2022-04-08 15:09:26,526 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:09:26,526 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1649542723] [2022-04-08 15:09:26,526 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:09:26,526 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:09:26,583 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:26,643 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:09:26,645 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:26,650 INFO L290 TraceCheckUtils]: 0: Hoare triple {33584#(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; {33538#true} is VALID [2022-04-08 15:09:26,650 INFO L290 TraceCheckUtils]: 1: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-08 15:09:26,650 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {33538#true} {33538#true} #1270#return; {33538#true} is VALID [2022-04-08 15:09:26,671 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:09:26,672 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:26,676 INFO L290 TraceCheckUtils]: 0: Hoare triple {33585#(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; {33538#true} is VALID [2022-04-08 15:09:26,677 INFO L290 TraceCheckUtils]: 1: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-08 15:09:26,677 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {33538#true} {33538#true} #1216#return; {33538#true} is VALID [2022-04-08 15:09:26,683 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:09:26,689 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:26,696 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:09:26,697 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:26,701 INFO L290 TraceCheckUtils]: 0: Hoare triple {33538#true} ~cond := #in~cond; {33538#true} is VALID [2022-04-08 15:09:26,702 INFO L290 TraceCheckUtils]: 1: Hoare triple {33538#true} assume !(0 == ~cond); {33538#true} is VALID [2022-04-08 15:09:26,702 INFO L290 TraceCheckUtils]: 2: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-08 15:09:26,702 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33538#true} {33538#true} #1254#return; {33538#true} is VALID [2022-04-08 15:09:26,702 INFO L290 TraceCheckUtils]: 0: Hoare triple {33586#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {33538#true} is VALID [2022-04-08 15:09:26,702 INFO L272 TraceCheckUtils]: 1: Hoare triple {33538#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {33538#true} is VALID [2022-04-08 15:09:26,702 INFO L290 TraceCheckUtils]: 2: Hoare triple {33538#true} ~cond := #in~cond; {33538#true} is VALID [2022-04-08 15:09:26,702 INFO L290 TraceCheckUtils]: 3: Hoare triple {33538#true} assume !(0 == ~cond); {33538#true} is VALID [2022-04-08 15:09:26,702 INFO L290 TraceCheckUtils]: 4: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-08 15:09:26,702 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {33538#true} {33538#true} #1254#return; {33538#true} is VALID [2022-04-08 15:09:26,702 INFO L290 TraceCheckUtils]: 6: Hoare triple {33538#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {33538#true} is VALID [2022-04-08 15:09:26,702 INFO L290 TraceCheckUtils]: 7: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-08 15:09:26,702 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {33538#true} {33538#true} #1218#return; {33538#true} is VALID [2022-04-08 15:09:26,711 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:09:26,715 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:26,720 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:09:26,721 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:26,726 INFO L290 TraceCheckUtils]: 0: Hoare triple {33591#(and (= |old(#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; {33538#true} is VALID [2022-04-08 15:09:26,726 INFO L290 TraceCheckUtils]: 1: Hoare triple {33538#true} assume !(0 == ~__BLAST_NONDET~5); {33538#true} is VALID [2022-04-08 15:09:26,726 INFO L290 TraceCheckUtils]: 2: Hoare triple {33538#true} #res := -1073741823; {33538#true} is VALID [2022-04-08 15:09:26,726 INFO L290 TraceCheckUtils]: 3: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-08 15:09:26,726 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {33538#true} {33538#true} #1176#return; {33538#true} is VALID [2022-04-08 15:09:26,726 INFO L290 TraceCheckUtils]: 0: Hoare triple {33591#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {33538#true} is VALID [2022-04-08 15:09:26,727 INFO L272 TraceCheckUtils]: 1: Hoare triple {33538#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {33591#(and (= |old(#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 15:09:26,727 INFO L290 TraceCheckUtils]: 2: Hoare triple {33591#(and (= |old(#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; {33538#true} is VALID [2022-04-08 15:09:26,727 INFO L290 TraceCheckUtils]: 3: Hoare triple {33538#true} assume !(0 == ~__BLAST_NONDET~5); {33538#true} is VALID [2022-04-08 15:09:26,728 INFO L290 TraceCheckUtils]: 4: Hoare triple {33538#true} #res := -1073741823; {33538#true} is VALID [2022-04-08 15:09:26,728 INFO L290 TraceCheckUtils]: 5: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-08 15:09:26,728 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {33538#true} {33538#true} #1176#return; {33538#true} is VALID [2022-04-08 15:09:26,728 INFO L290 TraceCheckUtils]: 7: Hoare triple {33538#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {33538#true} is VALID [2022-04-08 15:09:26,728 INFO L290 TraceCheckUtils]: 8: Hoare triple {33538#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {33538#true} is VALID [2022-04-08 15:09:26,728 INFO L290 TraceCheckUtils]: 9: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-08 15:09:26,728 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {33538#true} {33538#true} #1220#return; {33538#true} is VALID [2022-04-08 15:09:26,740 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 15:09:26,741 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:26,745 INFO L290 TraceCheckUtils]: 0: Hoare triple {33597#(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; {33538#true} is VALID [2022-04-08 15:09:26,746 INFO L290 TraceCheckUtils]: 1: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-08 15:09:26,746 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {33538#true} {33538#true} #1222#return; {33538#true} is VALID [2022-04-08 15:09:26,757 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 47 [2022-04-08 15:09:26,762 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:26,793 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-04-08 15:09:26,795 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:26,800 INFO L290 TraceCheckUtils]: 0: Hoare triple {33605#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {33538#true} is VALID [2022-04-08 15:09:26,800 INFO L290 TraceCheckUtils]: 1: Hoare triple {33538#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {33538#true} is VALID [2022-04-08 15:09:26,800 INFO L290 TraceCheckUtils]: 2: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-08 15:09:26,800 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33538#true} {33599#(<= (+ 1073741757 KbFilter_InternIoCtl_~status~2) 0)} #1248#return; {33599#(<= (+ 1073741757 KbFilter_InternIoCtl_~status~2) 0)} is VALID [2022-04-08 15:09:26,800 INFO L290 TraceCheckUtils]: 0: Hoare triple {33598#(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, 76 + ~DeviceObject.offset, 8);~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, 52 + ~Irp.offset, 8);call #t~mem52.base, #t~mem52.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 20 + ~irpStack~2.offset, 8); {33538#true} is VALID [2022-04-08 15:09:26,800 INFO L290 TraceCheckUtils]: 1: Hoare triple {33538#true} assume #t~mem53 % 18446744073709551616 == ~bitwiseOr(~bitwiseOr(720896, 512), 3) % 18446744073709551616;havoc #t~mem53; {33538#true} is VALID [2022-04-08 15:09:26,800 INFO L290 TraceCheckUtils]: 2: Hoare triple {33538#true} call #t~mem62.base, #t~mem62.offset := read~$Pointer$(~devExt~2.base, 40 + ~devExt~2.offset, 8); {33538#true} is VALID [2022-04-08 15:09:26,801 INFO L290 TraceCheckUtils]: 3: Hoare triple {33538#true} assume 0 != (#t~mem62.base + #t~mem62.offset) % 4294967296;havoc #t~mem62.base, #t~mem62.offset;~status~2 := -1073741757; {33599#(<= (+ 1073741757 KbFilter_InternIoCtl_~status~2) 0)} is VALID [2022-04-08 15:09:26,801 INFO L290 TraceCheckUtils]: 4: Hoare triple {33599#(<= (+ 1073741757 KbFilter_InternIoCtl_~status~2) 0)} assume !(~status~2 >= 0);call write~int(~status~2, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~2 % 4294967296 <= 2147483647 then ~status~2 % 4294967296 else ~status~2 % 4294967296 - 4294967296); {33599#(<= (+ 1073741757 KbFilter_InternIoCtl_~status~2) 0)} is VALID [2022-04-08 15:09:26,801 INFO L272 TraceCheckUtils]: 5: Hoare triple {33599#(<= (+ 1073741757 KbFilter_InternIoCtl_~status~2) 0)} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {33605#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:09:26,802 INFO L290 TraceCheckUtils]: 6: Hoare triple {33605#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {33538#true} is VALID [2022-04-08 15:09:26,802 INFO L290 TraceCheckUtils]: 7: Hoare triple {33538#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {33538#true} is VALID [2022-04-08 15:09:26,802 INFO L290 TraceCheckUtils]: 8: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-08 15:09:26,802 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {33538#true} {33599#(<= (+ 1073741757 KbFilter_InternIoCtl_~status~2) 0)} #1248#return; {33599#(<= (+ 1073741757 KbFilter_InternIoCtl_~status~2) 0)} is VALID [2022-04-08 15:09:26,802 INFO L290 TraceCheckUtils]: 10: Hoare triple {33599#(<= (+ 1073741757 KbFilter_InternIoCtl_~status~2) 0)} #res := ~status~2; {33604#(<= (+ 1073741757 |KbFilter_InternIoCtl_#res|) 0)} is VALID [2022-04-08 15:09:26,803 INFO L290 TraceCheckUtils]: 11: Hoare triple {33604#(<= (+ 1073741757 |KbFilter_InternIoCtl_#res|) 0)} assume true; {33604#(<= (+ 1073741757 |KbFilter_InternIoCtl_#res|) 0)} is VALID [2022-04-08 15:09:26,803 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {33604#(<= (+ 1073741757 |KbFilter_InternIoCtl_#res|) 0)} {33538#true} #1234#return; {33582#(not (= 259 |main_#t~ret176|))} is VALID [2022-04-08 15:09:26,804 INFO L272 TraceCheckUtils]: 0: Hoare triple {33538#true} call ULTIMATE.init(); {33584#(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 15:09:26,804 INFO L290 TraceCheckUtils]: 1: Hoare triple {33584#(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; {33538#true} is VALID [2022-04-08 15:09:26,804 INFO L290 TraceCheckUtils]: 2: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-08 15:09:26,804 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33538#true} {33538#true} #1270#return; {33538#true} is VALID [2022-04-08 15:09:26,805 INFO L272 TraceCheckUtils]: 4: Hoare triple {33538#true} call #t~ret213 := main(); {33538#true} is VALID [2022-04-08 15:09:26,805 INFO L290 TraceCheckUtils]: 5: Hoare triple {33538#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {33538#true} is VALID [2022-04-08 15:09:26,805 INFO L272 TraceCheckUtils]: 6: Hoare triple {33538#true} call _BLAST_init(); {33585#(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 15:09:26,805 INFO L290 TraceCheckUtils]: 7: Hoare triple {33585#(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; {33538#true} is VALID [2022-04-08 15:09:26,805 INFO L290 TraceCheckUtils]: 8: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-08 15:09:26,805 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {33538#true} {33538#true} #1216#return; {33538#true} is VALID [2022-04-08 15:09:26,806 INFO L272 TraceCheckUtils]: 10: Hoare triple {33538#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {33586#(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 15:09:26,806 INFO L290 TraceCheckUtils]: 11: Hoare triple {33586#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {33538#true} is VALID [2022-04-08 15:09:26,806 INFO L272 TraceCheckUtils]: 12: Hoare triple {33538#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {33538#true} is VALID [2022-04-08 15:09:26,806 INFO L290 TraceCheckUtils]: 13: Hoare triple {33538#true} ~cond := #in~cond; {33538#true} is VALID [2022-04-08 15:09:26,806 INFO L290 TraceCheckUtils]: 14: Hoare triple {33538#true} assume !(0 == ~cond); {33538#true} is VALID [2022-04-08 15:09:26,806 INFO L290 TraceCheckUtils]: 15: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-08 15:09:26,806 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {33538#true} {33538#true} #1254#return; {33538#true} is VALID [2022-04-08 15:09:26,806 INFO L290 TraceCheckUtils]: 17: Hoare triple {33538#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {33538#true} is VALID [2022-04-08 15:09:26,807 INFO L290 TraceCheckUtils]: 18: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-08 15:09:26,807 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {33538#true} {33538#true} #1218#return; {33538#true} is VALID [2022-04-08 15:09:26,807 INFO L290 TraceCheckUtils]: 20: Hoare triple {33538#true} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {33538#true} is VALID [2022-04-08 15:09:26,807 INFO L290 TraceCheckUtils]: 21: Hoare triple {33538#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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {33538#true} is VALID [2022-04-08 15:09:26,807 INFO L290 TraceCheckUtils]: 22: Hoare triple {33538#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {33538#true} is VALID [2022-04-08 15:09:26,807 INFO L272 TraceCheckUtils]: 23: Hoare triple {33538#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {33591#(and (= |old(#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 15:09:26,807 INFO L290 TraceCheckUtils]: 24: Hoare triple {33591#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {33538#true} is VALID [2022-04-08 15:09:26,808 INFO L272 TraceCheckUtils]: 25: Hoare triple {33538#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {33591#(and (= |old(#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 15:09:26,808 INFO L290 TraceCheckUtils]: 26: Hoare triple {33591#(and (= |old(#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; {33538#true} is VALID [2022-04-08 15:09:26,809 INFO L290 TraceCheckUtils]: 27: Hoare triple {33538#true} assume !(0 == ~__BLAST_NONDET~5); {33538#true} is VALID [2022-04-08 15:09:26,809 INFO L290 TraceCheckUtils]: 28: Hoare triple {33538#true} #res := -1073741823; {33538#true} is VALID [2022-04-08 15:09:26,809 INFO L290 TraceCheckUtils]: 29: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-08 15:09:26,809 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {33538#true} {33538#true} #1176#return; {33538#true} is VALID [2022-04-08 15:09:26,809 INFO L290 TraceCheckUtils]: 31: Hoare triple {33538#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {33538#true} is VALID [2022-04-08 15:09:26,809 INFO L290 TraceCheckUtils]: 32: Hoare triple {33538#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {33538#true} is VALID [2022-04-08 15:09:26,809 INFO L290 TraceCheckUtils]: 33: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-08 15:09:26,809 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {33538#true} {33538#true} #1220#return; {33538#true} is VALID [2022-04-08 15:09:26,809 INFO L290 TraceCheckUtils]: 35: Hoare triple {33538#true} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {33538#true} is VALID [2022-04-08 15:09:26,809 INFO L272 TraceCheckUtils]: 36: Hoare triple {33538#true} call stub_driver_init(); {33597#(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 15:09:26,810 INFO L290 TraceCheckUtils]: 37: Hoare triple {33597#(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; {33538#true} is VALID [2022-04-08 15:09:26,810 INFO L290 TraceCheckUtils]: 38: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-08 15:09:26,810 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {33538#true} {33538#true} #1222#return; {33538#true} is VALID [2022-04-08 15:09:26,810 INFO L290 TraceCheckUtils]: 40: Hoare triple {33538#true} assume !!(~status~5 >= 0); {33538#true} is VALID [2022-04-08 15:09:26,810 INFO L290 TraceCheckUtils]: 41: Hoare triple {33538#true} assume !(0 == ~__BLAST_NONDET~0); {33538#true} is VALID [2022-04-08 15:09:26,810 INFO L290 TraceCheckUtils]: 42: Hoare triple {33538#true} assume !(1 == ~__BLAST_NONDET~0); {33538#true} is VALID [2022-04-08 15:09:26,810 INFO L290 TraceCheckUtils]: 43: Hoare triple {33538#true} assume !(2 == ~__BLAST_NONDET~0); {33538#true} is VALID [2022-04-08 15:09:26,810 INFO L290 TraceCheckUtils]: 44: Hoare triple {33538#true} assume !(3 == ~__BLAST_NONDET~0); {33538#true} is VALID [2022-04-08 15:09:26,810 INFO L290 TraceCheckUtils]: 45: Hoare triple {33538#true} assume !(4 == ~__BLAST_NONDET~0); {33538#true} is VALID [2022-04-08 15:09:26,810 INFO L290 TraceCheckUtils]: 46: Hoare triple {33538#true} assume 8 == ~__BLAST_NONDET~0; {33538#true} is VALID [2022-04-08 15:09:26,811 INFO L272 TraceCheckUtils]: 47: Hoare triple {33538#true} call #t~ret176 := KbFilter_InternIoCtl(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {33598#(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 15:09:26,811 INFO L290 TraceCheckUtils]: 48: Hoare triple {33598#(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, 76 + ~DeviceObject.offset, 8);~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, 52 + ~Irp.offset, 8);call #t~mem52.base, #t~mem52.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 20 + ~irpStack~2.offset, 8); {33538#true} is VALID [2022-04-08 15:09:26,811 INFO L290 TraceCheckUtils]: 49: Hoare triple {33538#true} assume #t~mem53 % 18446744073709551616 == ~bitwiseOr(~bitwiseOr(720896, 512), 3) % 18446744073709551616;havoc #t~mem53; {33538#true} is VALID [2022-04-08 15:09:26,811 INFO L290 TraceCheckUtils]: 50: Hoare triple {33538#true} call #t~mem62.base, #t~mem62.offset := read~$Pointer$(~devExt~2.base, 40 + ~devExt~2.offset, 8); {33538#true} is VALID [2022-04-08 15:09:26,811 INFO L290 TraceCheckUtils]: 51: Hoare triple {33538#true} assume 0 != (#t~mem62.base + #t~mem62.offset) % 4294967296;havoc #t~mem62.base, #t~mem62.offset;~status~2 := -1073741757; {33599#(<= (+ 1073741757 KbFilter_InternIoCtl_~status~2) 0)} is VALID [2022-04-08 15:09:26,811 INFO L290 TraceCheckUtils]: 52: Hoare triple {33599#(<= (+ 1073741757 KbFilter_InternIoCtl_~status~2) 0)} assume !(~status~2 >= 0);call write~int(~status~2, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~2 % 4294967296 <= 2147483647 then ~status~2 % 4294967296 else ~status~2 % 4294967296 - 4294967296); {33599#(<= (+ 1073741757 KbFilter_InternIoCtl_~status~2) 0)} is VALID [2022-04-08 15:09:26,812 INFO L272 TraceCheckUtils]: 53: Hoare triple {33599#(<= (+ 1073741757 KbFilter_InternIoCtl_~status~2) 0)} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {33605#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:09:26,812 INFO L290 TraceCheckUtils]: 54: Hoare triple {33605#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {33538#true} is VALID [2022-04-08 15:09:26,812 INFO L290 TraceCheckUtils]: 55: Hoare triple {33538#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {33538#true} is VALID [2022-04-08 15:09:26,812 INFO L290 TraceCheckUtils]: 56: Hoare triple {33538#true} assume true; {33538#true} is VALID [2022-04-08 15:09:26,812 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {33538#true} {33599#(<= (+ 1073741757 KbFilter_InternIoCtl_~status~2) 0)} #1248#return; {33599#(<= (+ 1073741757 KbFilter_InternIoCtl_~status~2) 0)} is VALID [2022-04-08 15:09:26,813 INFO L290 TraceCheckUtils]: 58: Hoare triple {33599#(<= (+ 1073741757 KbFilter_InternIoCtl_~status~2) 0)} #res := ~status~2; {33604#(<= (+ 1073741757 |KbFilter_InternIoCtl_#res|) 0)} is VALID [2022-04-08 15:09:26,813 INFO L290 TraceCheckUtils]: 59: Hoare triple {33604#(<= (+ 1073741757 |KbFilter_InternIoCtl_#res|) 0)} assume true; {33604#(<= (+ 1073741757 |KbFilter_InternIoCtl_#res|) 0)} is VALID [2022-04-08 15:09:26,814 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {33604#(<= (+ 1073741757 |KbFilter_InternIoCtl_#res|) 0)} {33538#true} #1234#return; {33582#(not (= 259 |main_#t~ret176|))} is VALID [2022-04-08 15:09:26,814 INFO L290 TraceCheckUtils]: 61: Hoare triple {33582#(not (= 259 |main_#t~ret176|))} assume -9223372036854775808 <= #t~ret176 && #t~ret176 <= 9223372036854775807;~status~5 := #t~ret176;havoc #t~ret176; {33583#(not (= main_~status~5 259))} is VALID [2022-04-08 15:09:26,814 INFO L290 TraceCheckUtils]: 62: Hoare triple {33583#(not (= main_~status~5 259))} assume 0 != ~we_should_unload~0; {33583#(not (= main_~status~5 259))} is VALID [2022-04-08 15:09:26,814 INFO L290 TraceCheckUtils]: 63: Hoare triple {33583#(not (= main_~status~5 259))} assume !(1 == ~pended~0); {33583#(not (= main_~status~5 259))} is VALID [2022-04-08 15:09:26,815 INFO L290 TraceCheckUtils]: 64: Hoare triple {33583#(not (= main_~status~5 259))} assume !(1 == ~pended~0); {33583#(not (= main_~status~5 259))} is VALID [2022-04-08 15:09:26,815 INFO L290 TraceCheckUtils]: 65: Hoare triple {33583#(not (= main_~status~5 259))} assume !(~s~0 == ~UNLOADED~0); {33583#(not (= main_~status~5 259))} is VALID [2022-04-08 15:09:26,815 INFO L290 TraceCheckUtils]: 66: Hoare triple {33583#(not (= main_~status~5 259))} assume !(-1 == ~status~5); {33583#(not (= main_~status~5 259))} is VALID [2022-04-08 15:09:26,815 INFO L290 TraceCheckUtils]: 67: Hoare triple {33583#(not (= main_~status~5 259))} assume ~s~0 != ~SKIP2~0; {33583#(not (= main_~status~5 259))} is VALID [2022-04-08 15:09:26,816 INFO L290 TraceCheckUtils]: 68: Hoare triple {33583#(not (= main_~status~5 259))} assume ~s~0 != ~IPC~0; {33583#(not (= main_~status~5 259))} is VALID [2022-04-08 15:09:26,816 INFO L290 TraceCheckUtils]: 69: Hoare triple {33583#(not (= main_~status~5 259))} assume !(~s~0 != ~DC~0); {33583#(not (= main_~status~5 259))} is VALID [2022-04-08 15:09:26,816 INFO L290 TraceCheckUtils]: 70: Hoare triple {33583#(not (= main_~status~5 259))} assume !(1 == ~pended~0); {33583#(not (= main_~status~5 259))} is VALID [2022-04-08 15:09:26,816 INFO L290 TraceCheckUtils]: 71: Hoare triple {33583#(not (= main_~status~5 259))} assume ~s~0 == ~DC~0; {33583#(not (= main_~status~5 259))} is VALID [2022-04-08 15:09:26,817 INFO L290 TraceCheckUtils]: 72: Hoare triple {33583#(not (= main_~status~5 259))} assume 259 == ~status~5; {33539#false} is VALID [2022-04-08 15:09:26,817 INFO L272 TraceCheckUtils]: 73: Hoare triple {33539#false} call errorFn(); {33539#false} is VALID [2022-04-08 15:09:26,817 INFO L290 TraceCheckUtils]: 74: Hoare triple {33539#false} assume !false; {33539#false} is VALID [2022-04-08 15:09:26,817 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 15:09:26,817 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:09:26,817 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1649542723] [2022-04-08 15:09:26,817 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1649542723] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:09:26,817 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:09:26,817 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 15:09:26,817 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:09:26,817 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1289593556] [2022-04-08 15:09:26,817 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1289593556] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:09:26,818 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:09:26,818 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 15:09:26,818 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [294990852] [2022-04-08 15:09:26,818 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:09:26,818 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 15:09:26,818 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:09:26,818 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 15:09:26,874 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 15:09:26,874 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 15:09:26,875 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:09:26,875 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 15:09:26,875 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=124, Unknown=0, NotChecked=0, Total=156 [2022-04-08 15:09:26,875 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 15:09:29,015 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 15:09:36,692 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.27s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 15:09:45,257 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:09:45,257 INFO L93 Difference]: Finished difference Result 417 states and 534 transitions. [2022-04-08 15:09:45,257 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-08 15:09:45,257 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 15:09:45,257 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:09:45,258 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 15:09:45,260 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 480 transitions. [2022-04-08 15:09:45,260 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 15:09:45,262 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 480 transitions. [2022-04-08 15:09:45,263 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 480 transitions. [2022-04-08 15:09:45,804 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 15:09:45,811 INFO L225 Difference]: With dead ends: 417 [2022-04-08 15:09:45,811 INFO L226 Difference]: Without dead ends: 359 [2022-04-08 15:09:45,812 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 15:09:45,812 INFO L913 BasicCegarLoop]: 279 mSDtfsCounter, 489 mSDsluCounter, 538 mSDsCounter, 0 mSdLazyCounter, 2077 mSolverCounterSat, 177 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 9.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 492 SdHoareTripleChecker+Valid, 817 SdHoareTripleChecker+Invalid, 2255 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 177 IncrementalHoareTripleChecker+Valid, 2077 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 9.0s IncrementalHoareTripleChecker+Time [2022-04-08 15:09:45,812 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [492 Valid, 817 Invalid, 2255 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [177 Valid, 2077 Invalid, 1 Unknown, 0 Unchecked, 9.0s Time] [2022-04-08 15:09:45,813 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 359 states. [2022-04-08 15:09:46,225 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 359 to 344. [2022-04-08 15:09:46,225 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:09:46,226 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 15:09:46,226 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 15:09:46,227 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 15:09:46,232 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:09:46,232 INFO L93 Difference]: Finished difference Result 359 states and 463 transitions. [2022-04-08 15:09:46,232 INFO L276 IsEmpty]: Start isEmpty. Operand 359 states and 463 transitions. [2022-04-08 15:09:46,233 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:09:46,233 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:09:46,233 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 15:09:46,234 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 15:09:46,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:09:46,239 INFO L93 Difference]: Finished difference Result 359 states and 463 transitions. [2022-04-08 15:09:46,239 INFO L276 IsEmpty]: Start isEmpty. Operand 359 states and 463 transitions. [2022-04-08 15:09:46,240 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:09:46,240 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:09:46,240 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:09:46,240 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:09:46,240 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 15:09:46,248 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 344 states to 344 states and 442 transitions. [2022-04-08 15:09:46,248 INFO L78 Accepts]: Start accepts. Automaton has 344 states and 442 transitions. Word has length 75 [2022-04-08 15:09:46,248 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:09:46,249 INFO L478 AbstractCegarLoop]: Abstraction has 344 states and 442 transitions. [2022-04-08 15:09:46,249 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 15:09:46,249 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 344 states and 442 transitions. [2022-04-08 15:09:46,922 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 15:09:46,922 INFO L276 IsEmpty]: Start isEmpty. Operand 344 states and 442 transitions. [2022-04-08 15:09:46,923 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 77 [2022-04-08 15:09:46,923 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:09:46,923 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 15:09:46,923 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13 [2022-04-08 15:09:46,923 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:09:46,923 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:09:46,923 INFO L85 PathProgramCache]: Analyzing trace with hash 476602328, now seen corresponding path program 1 times [2022-04-08 15:09:46,923 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:09:46,923 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1049193498] [2022-04-08 15:09:46,924 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 15:09:46,924 INFO L85 PathProgramCache]: Analyzing trace with hash 476602328, now seen corresponding path program 2 times [2022-04-08 15:09:46,924 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:09:46,924 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1911761553] [2022-04-08 15:09:46,924 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:09:46,924 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:09:46,985 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:47,055 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:09:47,057 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:47,061 INFO L290 TraceCheckUtils]: 0: Hoare triple {35911#(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; {35862#true} is VALID [2022-04-08 15:09:47,062 INFO L290 TraceCheckUtils]: 1: Hoare triple {35862#true} assume true; {35862#true} is VALID [2022-04-08 15:09:47,062 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35862#true} {35862#true} #1270#return; {35862#true} is VALID [2022-04-08 15:09:47,085 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:09:47,087 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:47,094 INFO L290 TraceCheckUtils]: 0: Hoare triple {35912#(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; {35870#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 15:09:47,094 INFO L290 TraceCheckUtils]: 1: Hoare triple {35870#(not (= ~SKIP1~0 ~NP~0))} assume true; {35870#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 15:09:47,094 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35870#(not (= ~SKIP1~0 ~NP~0))} {35862#true} #1216#return; {35870#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 15:09:47,101 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:09:47,110 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:47,118 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:09:47,118 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:47,122 INFO L290 TraceCheckUtils]: 0: Hoare triple {35862#true} ~cond := #in~cond; {35862#true} is VALID [2022-04-08 15:09:47,123 INFO L290 TraceCheckUtils]: 1: Hoare triple {35862#true} assume !(0 == ~cond); {35862#true} is VALID [2022-04-08 15:09:47,123 INFO L290 TraceCheckUtils]: 2: Hoare triple {35862#true} assume true; {35862#true} is VALID [2022-04-08 15:09:47,123 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35862#true} {35862#true} #1254#return; {35862#true} is VALID [2022-04-08 15:09:47,123 INFO L290 TraceCheckUtils]: 0: Hoare triple {35913#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {35862#true} is VALID [2022-04-08 15:09:47,123 INFO L272 TraceCheckUtils]: 1: Hoare triple {35862#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {35862#true} is VALID [2022-04-08 15:09:47,123 INFO L290 TraceCheckUtils]: 2: Hoare triple {35862#true} ~cond := #in~cond; {35862#true} is VALID [2022-04-08 15:09:47,123 INFO L290 TraceCheckUtils]: 3: Hoare triple {35862#true} assume !(0 == ~cond); {35862#true} is VALID [2022-04-08 15:09:47,123 INFO L290 TraceCheckUtils]: 4: Hoare triple {35862#true} assume true; {35862#true} is VALID [2022-04-08 15:09:47,123 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {35862#true} {35862#true} #1254#return; {35862#true} is VALID [2022-04-08 15:09:47,123 INFO L290 TraceCheckUtils]: 6: Hoare triple {35862#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {35862#true} is VALID [2022-04-08 15:09:47,123 INFO L290 TraceCheckUtils]: 7: Hoare triple {35862#true} assume true; {35862#true} is VALID [2022-04-08 15:09:47,124 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {35862#true} {35870#(not (= ~SKIP1~0 ~NP~0))} #1218#return; {35870#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 15:09:47,133 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:09:47,137 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:47,143 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:09:47,144 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:47,149 INFO L290 TraceCheckUtils]: 0: Hoare triple {35918#(and (= |old(#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; {35862#true} is VALID [2022-04-08 15:09:47,149 INFO L290 TraceCheckUtils]: 1: Hoare triple {35862#true} assume !(0 == ~__BLAST_NONDET~5); {35862#true} is VALID [2022-04-08 15:09:47,149 INFO L290 TraceCheckUtils]: 2: Hoare triple {35862#true} #res := -1073741823; {35862#true} is VALID [2022-04-08 15:09:47,149 INFO L290 TraceCheckUtils]: 3: Hoare triple {35862#true} assume true; {35862#true} is VALID [2022-04-08 15:09:47,149 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {35862#true} {35862#true} #1176#return; {35862#true} is VALID [2022-04-08 15:09:47,149 INFO L290 TraceCheckUtils]: 0: Hoare triple {35918#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {35862#true} is VALID [2022-04-08 15:09:47,150 INFO L272 TraceCheckUtils]: 1: Hoare triple {35862#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {35918#(and (= |old(#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 15:09:47,150 INFO L290 TraceCheckUtils]: 2: Hoare triple {35918#(and (= |old(#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; {35862#true} is VALID [2022-04-08 15:09:47,151 INFO L290 TraceCheckUtils]: 3: Hoare triple {35862#true} assume !(0 == ~__BLAST_NONDET~5); {35862#true} is VALID [2022-04-08 15:09:47,151 INFO L290 TraceCheckUtils]: 4: Hoare triple {35862#true} #res := -1073741823; {35862#true} is VALID [2022-04-08 15:09:47,151 INFO L290 TraceCheckUtils]: 5: Hoare triple {35862#true} assume true; {35862#true} is VALID [2022-04-08 15:09:47,151 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {35862#true} {35862#true} #1176#return; {35862#true} is VALID [2022-04-08 15:09:47,151 INFO L290 TraceCheckUtils]: 7: Hoare triple {35862#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {35862#true} is VALID [2022-04-08 15:09:47,151 INFO L290 TraceCheckUtils]: 8: Hoare triple {35862#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {35862#true} is VALID [2022-04-08 15:09:47,151 INFO L290 TraceCheckUtils]: 9: Hoare triple {35862#true} assume true; {35862#true} is VALID [2022-04-08 15:09:47,152 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {35862#true} {35870#(not (= ~SKIP1~0 ~NP~0))} #1220#return; {35870#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 15:09:47,164 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 15:09:47,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:47,170 INFO L290 TraceCheckUtils]: 0: Hoare triple {35924#(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; {35862#true} is VALID [2022-04-08 15:09:47,171 INFO L290 TraceCheckUtils]: 1: Hoare triple {35862#true} assume true; {35862#true} is VALID [2022-04-08 15:09:47,171 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35862#true} {35870#(not (= ~SKIP1~0 ~NP~0))} #1222#return; {35870#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 15:09:47,184 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-08 15:09:47,192 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:47,226 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-04-08 15:09:47,229 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:09:47,252 INFO L290 TraceCheckUtils]: 0: Hoare triple {35936#(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; {35937#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:09:47,253 INFO L290 TraceCheckUtils]: 1: Hoare triple {35937#(= ~s~0 |old(~s~0)|)} assume !(0 != ~compRegistered~0); {35937#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:09:47,253 INFO L290 TraceCheckUtils]: 2: Hoare triple {35937#(= ~s~0 |old(~s~0)|)} assume 0 == ~__BLAST_NONDET~16; {35937#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:09:47,253 INFO L290 TraceCheckUtils]: 3: Hoare triple {35937#(= ~s~0 |old(~s~0)|)} ~returnVal~0 := 0; {35937#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:09:47,254 INFO L290 TraceCheckUtils]: 4: Hoare triple {35937#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := (if ~returnVal~0 % 4294967296 <= 2147483647 then ~returnVal~0 % 4294967296 else ~returnVal~0 % 4294967296 - 4294967296); {35938#(= ~NP~0 |old(~s~0)|)} is VALID [2022-04-08 15:09:47,254 INFO L290 TraceCheckUtils]: 5: Hoare triple {35938#(= ~NP~0 |old(~s~0)|)} #res := ~returnVal~0; {35938#(= ~NP~0 |old(~s~0)|)} is VALID [2022-04-08 15:09:47,255 INFO L290 TraceCheckUtils]: 6: Hoare triple {35938#(= ~NP~0 |old(~s~0)|)} assume true; {35938#(= ~NP~0 |old(~s~0)|)} is VALID [2022-04-08 15:09:47,255 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {35938#(= ~NP~0 |old(~s~0)|)} {35926#(= ~SKIP1~0 ~s~0)} #1268#return; {35935#(= ~SKIP1~0 ~NP~0)} is VALID [2022-04-08 15:09:47,256 INFO L290 TraceCheckUtils]: 0: Hoare triple {35925#(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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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, 12 + ~irpStack~4.offset, 4);~powerType~0 := #t~mem125;havoc #t~mem125;call #t~mem126 := read~int(~irpStack~4.base, 16 + ~irpStack~4.offset, 4);call #t~mem127 := read~int(~irpStack~4.base, 16 + ~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); {35862#true} is VALID [2022-04-08 15:09:47,256 INFO L290 TraceCheckUtils]: 1: Hoare triple {35862#true} assume 2 == #t~mem128 % 256;havoc #t~mem128; {35862#true} is VALID [2022-04-08 15:09:47,256 INFO L290 TraceCheckUtils]: 2: Hoare triple {35862#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, 96 + ~devExt~4.offset, 4);havoc #t~mem132; {35862#true} is VALID [2022-04-08 15:09:47,256 INFO L290 TraceCheckUtils]: 3: Hoare triple {35862#true} assume ~s~0 == ~NP~0;~s~0 := ~SKIP1~0; {35926#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-08 15:09:47,257 INFO L290 TraceCheckUtils]: 4: Hoare triple {35926#(= ~SKIP1~0 ~s~0)} call #t~mem133 := read~int(~Irp.base, 63 + ~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, 63 + ~Irp.offset, 1);havoc #t~mem133;call #t~mem134.base, #t~mem134.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);call write~$Pointer$(#t~mem134.base, 68 + #t~mem134.offset, ~Irp.base, 180 + ~Irp.offset, 8);havoc #t~mem134.base, #t~mem134.offset;call #t~mem135.base, #t~mem135.offset := read~$Pointer$(~devExt~4.base, 16 + ~devExt~4.offset, 8); {35926#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-08 15:09:47,258 INFO L272 TraceCheckUtils]: 5: Hoare triple {35926#(= ~SKIP1~0 ~s~0)} call #t~ret136 := PoCallDriver(#t~mem135.base, #t~mem135.offset, ~Irp.base, ~Irp.offset); {35936#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:09:47,258 INFO L290 TraceCheckUtils]: 6: Hoare triple {35936#(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; {35937#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:09:47,258 INFO L290 TraceCheckUtils]: 7: Hoare triple {35937#(= ~s~0 |old(~s~0)|)} assume !(0 != ~compRegistered~0); {35937#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:09:47,258 INFO L290 TraceCheckUtils]: 8: Hoare triple {35937#(= ~s~0 |old(~s~0)|)} assume 0 == ~__BLAST_NONDET~16; {35937#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:09:47,259 INFO L290 TraceCheckUtils]: 9: Hoare triple {35937#(= ~s~0 |old(~s~0)|)} ~returnVal~0 := 0; {35937#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:09:47,259 INFO L290 TraceCheckUtils]: 10: Hoare triple {35937#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := (if ~returnVal~0 % 4294967296 <= 2147483647 then ~returnVal~0 % 4294967296 else ~returnVal~0 % 4294967296 - 4294967296); {35938#(= ~NP~0 |old(~s~0)|)} is VALID [2022-04-08 15:09:47,259 INFO L290 TraceCheckUtils]: 11: Hoare triple {35938#(= ~NP~0 |old(~s~0)|)} #res := ~returnVal~0; {35938#(= ~NP~0 |old(~s~0)|)} is VALID [2022-04-08 15:09:47,260 INFO L290 TraceCheckUtils]: 12: Hoare triple {35938#(= ~NP~0 |old(~s~0)|)} assume true; {35938#(= ~NP~0 |old(~s~0)|)} is VALID [2022-04-08 15:09:47,261 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {35938#(= ~NP~0 |old(~s~0)|)} {35926#(= ~SKIP1~0 ~s~0)} #1268#return; {35935#(= ~SKIP1~0 ~NP~0)} is VALID [2022-04-08 15:09:47,261 INFO L290 TraceCheckUtils]: 14: Hoare triple {35935#(= ~SKIP1~0 ~NP~0)} assume -9223372036854775808 <= #t~ret136 && #t~ret136 <= 9223372036854775807;~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; {35935#(= ~SKIP1~0 ~NP~0)} is VALID [2022-04-08 15:09:47,261 INFO L290 TraceCheckUtils]: 15: Hoare triple {35935#(= ~SKIP1~0 ~NP~0)} assume true; {35935#(= ~SKIP1~0 ~NP~0)} is VALID [2022-04-08 15:09:47,262 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {35935#(= ~SKIP1~0 ~NP~0)} {35870#(not (= ~SKIP1~0 ~NP~0))} #1232#return; {35863#false} is VALID [2022-04-08 15:09:47,263 INFO L272 TraceCheckUtils]: 0: Hoare triple {35862#true} call ULTIMATE.init(); {35911#(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 15:09:47,263 INFO L290 TraceCheckUtils]: 1: Hoare triple {35911#(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; {35862#true} is VALID [2022-04-08 15:09:47,263 INFO L290 TraceCheckUtils]: 2: Hoare triple {35862#true} assume true; {35862#true} is VALID [2022-04-08 15:09:47,263 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35862#true} {35862#true} #1270#return; {35862#true} is VALID [2022-04-08 15:09:47,264 INFO L272 TraceCheckUtils]: 4: Hoare triple {35862#true} call #t~ret213 := main(); {35862#true} is VALID [2022-04-08 15:09:47,264 INFO L290 TraceCheckUtils]: 5: Hoare triple {35862#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {35862#true} is VALID [2022-04-08 15:09:47,264 INFO L272 TraceCheckUtils]: 6: Hoare triple {35862#true} call _BLAST_init(); {35912#(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 15:09:47,265 INFO L290 TraceCheckUtils]: 7: Hoare triple {35912#(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; {35870#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 15:09:47,265 INFO L290 TraceCheckUtils]: 8: Hoare triple {35870#(not (= ~SKIP1~0 ~NP~0))} assume true; {35870#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 15:09:47,266 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {35870#(not (= ~SKIP1~0 ~NP~0))} {35862#true} #1216#return; {35870#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 15:09:47,266 INFO L272 TraceCheckUtils]: 10: Hoare triple {35870#(not (= ~SKIP1~0 ~NP~0))} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {35913#(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 15:09:47,266 INFO L290 TraceCheckUtils]: 11: Hoare triple {35913#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {35862#true} is VALID [2022-04-08 15:09:47,267 INFO L272 TraceCheckUtils]: 12: Hoare triple {35862#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {35862#true} is VALID [2022-04-08 15:09:47,267 INFO L290 TraceCheckUtils]: 13: Hoare triple {35862#true} ~cond := #in~cond; {35862#true} is VALID [2022-04-08 15:09:47,267 INFO L290 TraceCheckUtils]: 14: Hoare triple {35862#true} assume !(0 == ~cond); {35862#true} is VALID [2022-04-08 15:09:47,267 INFO L290 TraceCheckUtils]: 15: Hoare triple {35862#true} assume true; {35862#true} is VALID [2022-04-08 15:09:47,267 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {35862#true} {35862#true} #1254#return; {35862#true} is VALID [2022-04-08 15:09:47,267 INFO L290 TraceCheckUtils]: 17: Hoare triple {35862#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {35862#true} is VALID [2022-04-08 15:09:47,267 INFO L290 TraceCheckUtils]: 18: Hoare triple {35862#true} assume true; {35862#true} is VALID [2022-04-08 15:09:47,268 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {35862#true} {35870#(not (= ~SKIP1~0 ~NP~0))} #1218#return; {35870#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 15:09:47,268 INFO L290 TraceCheckUtils]: 20: Hoare triple {35870#(not (= ~SKIP1~0 ~NP~0))} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {35870#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 15:09:47,268 INFO L290 TraceCheckUtils]: 21: Hoare triple {35870#(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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {35870#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 15:09:47,268 INFO L290 TraceCheckUtils]: 22: Hoare triple {35870#(not (= ~SKIP1~0 ~NP~0))} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {35870#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 15:09:47,269 INFO L272 TraceCheckUtils]: 23: Hoare triple {35870#(not (= ~SKIP1~0 ~NP~0))} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {35918#(and (= |old(#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 15:09:47,269 INFO L290 TraceCheckUtils]: 24: Hoare triple {35918#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {35862#true} is VALID [2022-04-08 15:09:47,270 INFO L272 TraceCheckUtils]: 25: Hoare triple {35862#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {35918#(and (= |old(#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 15:09:47,270 INFO L290 TraceCheckUtils]: 26: Hoare triple {35918#(and (= |old(#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; {35862#true} is VALID [2022-04-08 15:09:47,270 INFO L290 TraceCheckUtils]: 27: Hoare triple {35862#true} assume !(0 == ~__BLAST_NONDET~5); {35862#true} is VALID [2022-04-08 15:09:47,270 INFO L290 TraceCheckUtils]: 28: Hoare triple {35862#true} #res := -1073741823; {35862#true} is VALID [2022-04-08 15:09:47,271 INFO L290 TraceCheckUtils]: 29: Hoare triple {35862#true} assume true; {35862#true} is VALID [2022-04-08 15:09:47,271 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {35862#true} {35862#true} #1176#return; {35862#true} is VALID [2022-04-08 15:09:47,271 INFO L290 TraceCheckUtils]: 31: Hoare triple {35862#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {35862#true} is VALID [2022-04-08 15:09:47,271 INFO L290 TraceCheckUtils]: 32: Hoare triple {35862#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {35862#true} is VALID [2022-04-08 15:09:47,271 INFO L290 TraceCheckUtils]: 33: Hoare triple {35862#true} assume true; {35862#true} is VALID [2022-04-08 15:09:47,271 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {35862#true} {35870#(not (= ~SKIP1~0 ~NP~0))} #1220#return; {35870#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 15:09:47,272 INFO L290 TraceCheckUtils]: 35: Hoare triple {35870#(not (= ~SKIP1~0 ~NP~0))} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {35870#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 15:09:47,272 INFO L272 TraceCheckUtils]: 36: Hoare triple {35870#(not (= ~SKIP1~0 ~NP~0))} call stub_driver_init(); {35924#(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 15:09:47,272 INFO L290 TraceCheckUtils]: 37: Hoare triple {35924#(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; {35862#true} is VALID [2022-04-08 15:09:47,272 INFO L290 TraceCheckUtils]: 38: Hoare triple {35862#true} assume true; {35862#true} is VALID [2022-04-08 15:09:47,273 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {35862#true} {35870#(not (= ~SKIP1~0 ~NP~0))} #1222#return; {35870#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 15:09:47,273 INFO L290 TraceCheckUtils]: 40: Hoare triple {35870#(not (= ~SKIP1~0 ~NP~0))} assume !!(~status~5 >= 0); {35870#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 15:09:47,273 INFO L290 TraceCheckUtils]: 41: Hoare triple {35870#(not (= ~SKIP1~0 ~NP~0))} assume !(0 == ~__BLAST_NONDET~0); {35870#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 15:09:47,273 INFO L290 TraceCheckUtils]: 42: Hoare triple {35870#(not (= ~SKIP1~0 ~NP~0))} assume !(1 == ~__BLAST_NONDET~0); {35870#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 15:09:47,274 INFO L290 TraceCheckUtils]: 43: Hoare triple {35870#(not (= ~SKIP1~0 ~NP~0))} assume !(2 == ~__BLAST_NONDET~0); {35870#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 15:09:47,274 INFO L290 TraceCheckUtils]: 44: Hoare triple {35870#(not (= ~SKIP1~0 ~NP~0))} assume !(3 == ~__BLAST_NONDET~0); {35870#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 15:09:47,274 INFO L290 TraceCheckUtils]: 45: Hoare triple {35870#(not (= ~SKIP1~0 ~NP~0))} assume 4 == ~__BLAST_NONDET~0; {35870#(not (= ~SKIP1~0 ~NP~0))} is VALID [2022-04-08 15:09:47,275 INFO L272 TraceCheckUtils]: 46: Hoare triple {35870#(not (= ~SKIP1~0 ~NP~0))} call #t~ret175 := KbFilter_Power(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {35925#(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 15:09:47,275 INFO L290 TraceCheckUtils]: 47: Hoare triple {35925#(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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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, 12 + ~irpStack~4.offset, 4);~powerType~0 := #t~mem125;havoc #t~mem125;call #t~mem126 := read~int(~irpStack~4.base, 16 + ~irpStack~4.offset, 4);call #t~mem127 := read~int(~irpStack~4.base, 16 + ~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); {35862#true} is VALID [2022-04-08 15:09:47,275 INFO L290 TraceCheckUtils]: 48: Hoare triple {35862#true} assume 2 == #t~mem128 % 256;havoc #t~mem128; {35862#true} is VALID [2022-04-08 15:09:47,275 INFO L290 TraceCheckUtils]: 49: Hoare triple {35862#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, 96 + ~devExt~4.offset, 4);havoc #t~mem132; {35862#true} is VALID [2022-04-08 15:09:47,276 INFO L290 TraceCheckUtils]: 50: Hoare triple {35862#true} assume ~s~0 == ~NP~0;~s~0 := ~SKIP1~0; {35926#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-08 15:09:47,276 INFO L290 TraceCheckUtils]: 51: Hoare triple {35926#(= ~SKIP1~0 ~s~0)} call #t~mem133 := read~int(~Irp.base, 63 + ~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, 63 + ~Irp.offset, 1);havoc #t~mem133;call #t~mem134.base, #t~mem134.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);call write~$Pointer$(#t~mem134.base, 68 + #t~mem134.offset, ~Irp.base, 180 + ~Irp.offset, 8);havoc #t~mem134.base, #t~mem134.offset;call #t~mem135.base, #t~mem135.offset := read~$Pointer$(~devExt~4.base, 16 + ~devExt~4.offset, 8); {35926#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-08 15:09:47,277 INFO L272 TraceCheckUtils]: 52: Hoare triple {35926#(= ~SKIP1~0 ~s~0)} call #t~ret136 := PoCallDriver(#t~mem135.base, #t~mem135.offset, ~Irp.base, ~Irp.offset); {35936#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:09:47,277 INFO L290 TraceCheckUtils]: 53: Hoare triple {35936#(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; {35937#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:09:47,277 INFO L290 TraceCheckUtils]: 54: Hoare triple {35937#(= ~s~0 |old(~s~0)|)} assume !(0 != ~compRegistered~0); {35937#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:09:47,278 INFO L290 TraceCheckUtils]: 55: Hoare triple {35937#(= ~s~0 |old(~s~0)|)} assume 0 == ~__BLAST_NONDET~16; {35937#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:09:47,278 INFO L290 TraceCheckUtils]: 56: Hoare triple {35937#(= ~s~0 |old(~s~0)|)} ~returnVal~0 := 0; {35937#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:09:47,278 INFO L290 TraceCheckUtils]: 57: Hoare triple {35937#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := (if ~returnVal~0 % 4294967296 <= 2147483647 then ~returnVal~0 % 4294967296 else ~returnVal~0 % 4294967296 - 4294967296); {35938#(= ~NP~0 |old(~s~0)|)} is VALID [2022-04-08 15:09:47,278 INFO L290 TraceCheckUtils]: 58: Hoare triple {35938#(= ~NP~0 |old(~s~0)|)} #res := ~returnVal~0; {35938#(= ~NP~0 |old(~s~0)|)} is VALID [2022-04-08 15:09:47,279 INFO L290 TraceCheckUtils]: 59: Hoare triple {35938#(= ~NP~0 |old(~s~0)|)} assume true; {35938#(= ~NP~0 |old(~s~0)|)} is VALID [2022-04-08 15:09:47,280 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {35938#(= ~NP~0 |old(~s~0)|)} {35926#(= ~SKIP1~0 ~s~0)} #1268#return; {35935#(= ~SKIP1~0 ~NP~0)} is VALID [2022-04-08 15:09:47,280 INFO L290 TraceCheckUtils]: 61: Hoare triple {35935#(= ~SKIP1~0 ~NP~0)} assume -9223372036854775808 <= #t~ret136 && #t~ret136 <= 9223372036854775807;~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; {35935#(= ~SKIP1~0 ~NP~0)} is VALID [2022-04-08 15:09:47,280 INFO L290 TraceCheckUtils]: 62: Hoare triple {35935#(= ~SKIP1~0 ~NP~0)} assume true; {35935#(= ~SKIP1~0 ~NP~0)} is VALID [2022-04-08 15:09:47,281 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {35935#(= ~SKIP1~0 ~NP~0)} {35870#(not (= ~SKIP1~0 ~NP~0))} #1232#return; {35863#false} is VALID [2022-04-08 15:09:47,281 INFO L290 TraceCheckUtils]: 64: Hoare triple {35863#false} assume -9223372036854775808 <= #t~ret175 && #t~ret175 <= 9223372036854775807;~status~5 := #t~ret175;havoc #t~ret175; {35863#false} is VALID [2022-04-08 15:09:47,281 INFO L290 TraceCheckUtils]: 65: Hoare triple {35863#false} assume 0 != ~we_should_unload~0; {35863#false} is VALID [2022-04-08 15:09:47,281 INFO L290 TraceCheckUtils]: 66: Hoare triple {35863#false} assume !(1 == ~pended~0); {35863#false} is VALID [2022-04-08 15:09:47,281 INFO L290 TraceCheckUtils]: 67: Hoare triple {35863#false} assume !(1 == ~pended~0); {35863#false} is VALID [2022-04-08 15:09:47,281 INFO L290 TraceCheckUtils]: 68: Hoare triple {35863#false} assume !(~s~0 == ~UNLOADED~0); {35863#false} is VALID [2022-04-08 15:09:47,281 INFO L290 TraceCheckUtils]: 69: Hoare triple {35863#false} assume !(-1 == ~status~5); {35863#false} is VALID [2022-04-08 15:09:47,281 INFO L290 TraceCheckUtils]: 70: Hoare triple {35863#false} assume !(~s~0 != ~SKIP2~0); {35863#false} is VALID [2022-04-08 15:09:47,281 INFO L290 TraceCheckUtils]: 71: Hoare triple {35863#false} assume !(1 == ~pended~0); {35863#false} is VALID [2022-04-08 15:09:47,281 INFO L290 TraceCheckUtils]: 72: Hoare triple {35863#false} assume ~s~0 == ~DC~0; {35863#false} is VALID [2022-04-08 15:09:47,281 INFO L290 TraceCheckUtils]: 73: Hoare triple {35863#false} assume 259 == ~status~5; {35863#false} is VALID [2022-04-08 15:09:47,281 INFO L272 TraceCheckUtils]: 74: Hoare triple {35863#false} call errorFn(); {35863#false} is VALID [2022-04-08 15:09:47,281 INFO L290 TraceCheckUtils]: 75: Hoare triple {35863#false} assume !false; {35863#false} is VALID [2022-04-08 15:09:47,282 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 15:09:47,282 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:09:47,282 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1911761553] [2022-04-08 15:09:47,282 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1911761553] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:09:47,282 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:09:47,282 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 15:09:47,282 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:09:47,282 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1049193498] [2022-04-08 15:09:47,282 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1049193498] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:09:47,282 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:09:47,282 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 15:09:47,282 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [961133120] [2022-04-08 15:09:47,282 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:09:47,283 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 15:09:47,283 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:09:47,283 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 15:09:47,346 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 15:09:47,346 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 15:09:47,346 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:09:47,346 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 15:09:47,346 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=142, Unknown=0, NotChecked=0, Total=182 [2022-04-08 15:09:47,346 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 15:09:49,580 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 15:10:03,845 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:10:03,845 INFO L93 Difference]: Finished difference Result 422 states and 536 transitions. [2022-04-08 15:10:03,845 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-08 15:10:03,845 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 15:10:03,845 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:10:03,846 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 15:10:03,848 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 508 transitions. [2022-04-08 15:10:03,848 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 15:10:03,851 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 508 transitions. [2022-04-08 15:10:03,851 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 508 transitions. [2022-04-08 15:10:04,440 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 15:10:04,447 INFO L225 Difference]: With dead ends: 422 [2022-04-08 15:10:04,447 INFO L226 Difference]: Without dead ends: 379 [2022-04-08 15:10:04,448 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 49 GetRequests, 16 SyntacticMatches, 0 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 230 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=260, Invalid=930, Unknown=0, NotChecked=0, Total=1190 [2022-04-08 15:10:04,448 INFO L913 BasicCegarLoop]: 303 mSDtfsCounter, 1227 mSDsluCounter, 389 mSDsCounter, 0 mSdLazyCounter, 1608 mSolverCounterSat, 436 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 7.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1232 SdHoareTripleChecker+Valid, 692 SdHoareTripleChecker+Invalid, 2045 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 436 IncrementalHoareTripleChecker+Valid, 1608 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 7.0s IncrementalHoareTripleChecker+Time [2022-04-08 15:10:04,448 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [1232 Valid, 692 Invalid, 2045 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [436 Valid, 1608 Invalid, 1 Unknown, 0 Unchecked, 7.0s Time] [2022-04-08 15:10:04,449 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 379 states. [2022-04-08 15:10:04,871 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 379 to 344. [2022-04-08 15:10:04,871 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:10:04,871 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 15:10:04,872 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 15:10:04,872 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 15:10:04,878 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:10:04,878 INFO L93 Difference]: Finished difference Result 379 states and 484 transitions. [2022-04-08 15:10:04,878 INFO L276 IsEmpty]: Start isEmpty. Operand 379 states and 484 transitions. [2022-04-08 15:10:04,878 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:10:04,878 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:10:04,879 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 15:10:04,879 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 15:10:04,885 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:10:04,885 INFO L93 Difference]: Finished difference Result 379 states and 484 transitions. [2022-04-08 15:10:04,885 INFO L276 IsEmpty]: Start isEmpty. Operand 379 states and 484 transitions. [2022-04-08 15:10:04,885 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:10:04,886 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:10:04,886 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:10:04,886 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:10:04,886 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 15:10:04,892 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 344 states to 344 states and 439 transitions. [2022-04-08 15:10:04,892 INFO L78 Accepts]: Start accepts. Automaton has 344 states and 439 transitions. Word has length 76 [2022-04-08 15:10:04,892 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:10:04,892 INFO L478 AbstractCegarLoop]: Abstraction has 344 states and 439 transitions. [2022-04-08 15:10:04,892 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 15:10:04,892 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 344 states and 439 transitions. [2022-04-08 15:10:05,602 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 15:10:05,602 INFO L276 IsEmpty]: Start isEmpty. Operand 344 states and 439 transitions. [2022-04-08 15:10:05,603 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 77 [2022-04-08 15:10:05,603 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:10:05,603 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 15:10:05,604 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14 [2022-04-08 15:10:05,604 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:10:05,604 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:10:05,604 INFO L85 PathProgramCache]: Analyzing trace with hash 1346047832, now seen corresponding path program 1 times [2022-04-08 15:10:05,604 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:10:05,604 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1002617668] [2022-04-08 15:10:05,604 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 15:10:05,604 INFO L85 PathProgramCache]: Analyzing trace with hash 1346047832, now seen corresponding path program 2 times [2022-04-08 15:10:05,604 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:10:05,604 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1066592136] [2022-04-08 15:10:05,604 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:10:05,605 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:10:05,657 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:05,707 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:10:05,708 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:05,713 INFO L290 TraceCheckUtils]: 0: Hoare triple {38322#(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; {38277#true} is VALID [2022-04-08 15:10:05,713 INFO L290 TraceCheckUtils]: 1: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-08 15:10:05,714 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38277#true} {38277#true} #1270#return; {38277#true} is VALID [2022-04-08 15:10:05,736 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:10:05,737 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:05,777 INFO L290 TraceCheckUtils]: 0: Hoare triple {38323#(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; {38277#true} is VALID [2022-04-08 15:10:05,777 INFO L290 TraceCheckUtils]: 1: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-08 15:10:05,777 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38277#true} {38277#true} #1216#return; {38277#true} is VALID [2022-04-08 15:10:05,784 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:10:05,791 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:05,798 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:10:05,798 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:05,802 INFO L290 TraceCheckUtils]: 0: Hoare triple {38277#true} ~cond := #in~cond; {38277#true} is VALID [2022-04-08 15:10:05,802 INFO L290 TraceCheckUtils]: 1: Hoare triple {38277#true} assume !(0 == ~cond); {38277#true} is VALID [2022-04-08 15:10:05,802 INFO L290 TraceCheckUtils]: 2: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-08 15:10:05,802 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38277#true} {38277#true} #1254#return; {38277#true} is VALID [2022-04-08 15:10:05,802 INFO L290 TraceCheckUtils]: 0: Hoare triple {38324#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {38277#true} is VALID [2022-04-08 15:10:05,803 INFO L272 TraceCheckUtils]: 1: Hoare triple {38277#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {38277#true} is VALID [2022-04-08 15:10:05,803 INFO L290 TraceCheckUtils]: 2: Hoare triple {38277#true} ~cond := #in~cond; {38277#true} is VALID [2022-04-08 15:10:05,803 INFO L290 TraceCheckUtils]: 3: Hoare triple {38277#true} assume !(0 == ~cond); {38277#true} is VALID [2022-04-08 15:10:05,803 INFO L290 TraceCheckUtils]: 4: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-08 15:10:05,803 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {38277#true} {38277#true} #1254#return; {38277#true} is VALID [2022-04-08 15:10:05,803 INFO L290 TraceCheckUtils]: 6: Hoare triple {38277#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {38277#true} is VALID [2022-04-08 15:10:05,803 INFO L290 TraceCheckUtils]: 7: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-08 15:10:05,803 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {38277#true} {38277#true} #1218#return; {38277#true} is VALID [2022-04-08 15:10:05,811 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:10:05,814 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:05,819 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:10:05,821 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:05,826 INFO L290 TraceCheckUtils]: 0: Hoare triple {38329#(and (= |old(#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; {38277#true} is VALID [2022-04-08 15:10:05,826 INFO L290 TraceCheckUtils]: 1: Hoare triple {38277#true} assume !(0 == ~__BLAST_NONDET~5); {38277#true} is VALID [2022-04-08 15:10:05,826 INFO L290 TraceCheckUtils]: 2: Hoare triple {38277#true} #res := -1073741823; {38277#true} is VALID [2022-04-08 15:10:05,826 INFO L290 TraceCheckUtils]: 3: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-08 15:10:05,826 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {38277#true} {38277#true} #1176#return; {38277#true} is VALID [2022-04-08 15:10:05,826 INFO L290 TraceCheckUtils]: 0: Hoare triple {38329#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {38277#true} is VALID [2022-04-08 15:10:05,827 INFO L272 TraceCheckUtils]: 1: Hoare triple {38277#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {38329#(and (= |old(#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 15:10:05,827 INFO L290 TraceCheckUtils]: 2: Hoare triple {38329#(and (= |old(#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; {38277#true} is VALID [2022-04-08 15:10:05,827 INFO L290 TraceCheckUtils]: 3: Hoare triple {38277#true} assume !(0 == ~__BLAST_NONDET~5); {38277#true} is VALID [2022-04-08 15:10:05,827 INFO L290 TraceCheckUtils]: 4: Hoare triple {38277#true} #res := -1073741823; {38277#true} is VALID [2022-04-08 15:10:05,827 INFO L290 TraceCheckUtils]: 5: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-08 15:10:05,827 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {38277#true} {38277#true} #1176#return; {38277#true} is VALID [2022-04-08 15:10:05,827 INFO L290 TraceCheckUtils]: 7: Hoare triple {38277#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {38277#true} is VALID [2022-04-08 15:10:05,828 INFO L290 TraceCheckUtils]: 8: Hoare triple {38277#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {38277#true} is VALID [2022-04-08 15:10:05,828 INFO L290 TraceCheckUtils]: 9: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-08 15:10:05,828 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38277#true} {38277#true} #1220#return; {38277#true} is VALID [2022-04-08 15:10:05,844 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 15:10:05,845 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:05,849 INFO L290 TraceCheckUtils]: 0: Hoare triple {38335#(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; {38277#true} is VALID [2022-04-08 15:10:05,849 INFO L290 TraceCheckUtils]: 1: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-08 15:10:05,849 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38277#true} {38277#true} #1222#return; {38277#true} is VALID [2022-04-08 15:10:05,861 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 47 [2022-04-08 15:10:05,868 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:05,890 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:10:05,891 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:05,896 INFO L290 TraceCheckUtils]: 0: Hoare triple {38342#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {38277#true} is VALID [2022-04-08 15:10:05,896 INFO L290 TraceCheckUtils]: 1: Hoare triple {38277#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {38277#true} is VALID [2022-04-08 15:10:05,896 INFO L290 TraceCheckUtils]: 2: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-08 15:10:05,896 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38277#true} {38278#false} #1248#return; {38278#false} is VALID [2022-04-08 15:10:05,897 INFO L290 TraceCheckUtils]: 0: Hoare triple {38336#(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, 76 + ~DeviceObject.offset, 8);~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, 52 + ~Irp.offset, 8);call #t~mem52.base, #t~mem52.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 20 + ~irpStack~2.offset, 8); {38337#(<= 0 KbFilter_InternIoCtl_~status~2)} is VALID [2022-04-08 15:10:05,897 INFO L290 TraceCheckUtils]: 1: Hoare triple {38337#(<= 0 KbFilter_InternIoCtl_~status~2)} assume #t~mem53 % 18446744073709551616 == ~bitwiseOr(~bitwiseOr(720896, 512), 3) % 18446744073709551616;havoc #t~mem53; {38337#(<= 0 KbFilter_InternIoCtl_~status~2)} is VALID [2022-04-08 15:10:05,897 INFO L290 TraceCheckUtils]: 2: Hoare triple {38337#(<= 0 KbFilter_InternIoCtl_~status~2)} call #t~mem62.base, #t~mem62.offset := read~$Pointer$(~devExt~2.base, 40 + ~devExt~2.offset, 8); {38337#(<= 0 KbFilter_InternIoCtl_~status~2)} is VALID [2022-04-08 15:10:05,897 INFO L290 TraceCheckUtils]: 3: Hoare triple {38337#(<= 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, 12 + ~irpStack~2.offset, 8); {38337#(<= 0 KbFilter_InternIoCtl_~status~2)} is VALID [2022-04-08 15:10:05,898 INFO L290 TraceCheckUtils]: 4: Hoare triple {38337#(<= 0 KbFilter_InternIoCtl_~status~2)} assume !(#t~mem63 % 18446744073709551616 < 16);havoc #t~mem63;call #t~mem64.base, #t~mem64.offset := read~$Pointer$(~irpStack~2.base, 28 + ~irpStack~2.offset, 8);~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, 8);call #t~mem66.base, #t~mem66.offset := read~$Pointer$(~connectData~0.base, 8 + ~connectData~0.offset, 8);call write~$Pointer$(#t~mem65.base, #t~mem65.offset, ~devExt~2.base, 32 + ~devExt~2.offset, 8);call write~$Pointer$(#t~mem66.base, #t~mem66.offset, ~devExt~2.base, 40 + ~devExt~2.offset, 8);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, 8);call write~$Pointer$(#t~mem67.base, #t~mem67.offset, ~connectData~0.base, ~connectData~0.offset, 8);havoc #t~mem67.base, #t~mem67.offset;call write~$Pointer$(#funAddr~KbFilter_ServiceCallback.base, #funAddr~KbFilter_ServiceCallback.offset, ~connectData~0.base, 8 + ~connectData~0.offset, 8); {38337#(<= 0 KbFilter_InternIoCtl_~status~2)} is VALID [2022-04-08 15:10:05,899 INFO L290 TraceCheckUtils]: 5: Hoare triple {38337#(<= 0 KbFilter_InternIoCtl_~status~2)} assume !(~status~2 >= 0);call write~int(~status~2, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~2 % 4294967296 <= 2147483647 then ~status~2 % 4294967296 else ~status~2 % 4294967296 - 4294967296); {38278#false} is VALID [2022-04-08 15:10:05,899 INFO L272 TraceCheckUtils]: 6: Hoare triple {38278#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {38342#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:10:05,899 INFO L290 TraceCheckUtils]: 7: Hoare triple {38342#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {38277#true} is VALID [2022-04-08 15:10:05,899 INFO L290 TraceCheckUtils]: 8: Hoare triple {38277#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {38277#true} is VALID [2022-04-08 15:10:05,899 INFO L290 TraceCheckUtils]: 9: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-08 15:10:05,899 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38277#true} {38278#false} #1248#return; {38278#false} is VALID [2022-04-08 15:10:05,899 INFO L290 TraceCheckUtils]: 11: Hoare triple {38278#false} #res := ~status~2; {38278#false} is VALID [2022-04-08 15:10:05,899 INFO L290 TraceCheckUtils]: 12: Hoare triple {38278#false} assume true; {38278#false} is VALID [2022-04-08 15:10:05,899 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {38278#false} {38277#true} #1234#return; {38278#false} is VALID [2022-04-08 15:10:05,900 INFO L272 TraceCheckUtils]: 0: Hoare triple {38277#true} call ULTIMATE.init(); {38322#(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 15:10:05,900 INFO L290 TraceCheckUtils]: 1: Hoare triple {38322#(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; {38277#true} is VALID [2022-04-08 15:10:05,900 INFO L290 TraceCheckUtils]: 2: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-08 15:10:05,901 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38277#true} {38277#true} #1270#return; {38277#true} is VALID [2022-04-08 15:10:05,901 INFO L272 TraceCheckUtils]: 4: Hoare triple {38277#true} call #t~ret213 := main(); {38277#true} is VALID [2022-04-08 15:10:05,901 INFO L290 TraceCheckUtils]: 5: Hoare triple {38277#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {38277#true} is VALID [2022-04-08 15:10:05,901 INFO L272 TraceCheckUtils]: 6: Hoare triple {38277#true} call _BLAST_init(); {38323#(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 15:10:05,902 INFO L290 TraceCheckUtils]: 7: Hoare triple {38323#(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; {38277#true} is VALID [2022-04-08 15:10:05,902 INFO L290 TraceCheckUtils]: 8: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-08 15:10:05,902 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {38277#true} {38277#true} #1216#return; {38277#true} is VALID [2022-04-08 15:10:05,902 INFO L272 TraceCheckUtils]: 10: Hoare triple {38277#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {38324#(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 15:10:05,902 INFO L290 TraceCheckUtils]: 11: Hoare triple {38324#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {38277#true} is VALID [2022-04-08 15:10:05,902 INFO L272 TraceCheckUtils]: 12: Hoare triple {38277#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {38277#true} is VALID [2022-04-08 15:10:05,903 INFO L290 TraceCheckUtils]: 13: Hoare triple {38277#true} ~cond := #in~cond; {38277#true} is VALID [2022-04-08 15:10:05,903 INFO L290 TraceCheckUtils]: 14: Hoare triple {38277#true} assume !(0 == ~cond); {38277#true} is VALID [2022-04-08 15:10:05,903 INFO L290 TraceCheckUtils]: 15: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-08 15:10:05,903 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {38277#true} {38277#true} #1254#return; {38277#true} is VALID [2022-04-08 15:10:05,903 INFO L290 TraceCheckUtils]: 17: Hoare triple {38277#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {38277#true} is VALID [2022-04-08 15:10:05,903 INFO L290 TraceCheckUtils]: 18: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-08 15:10:05,903 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {38277#true} {38277#true} #1218#return; {38277#true} is VALID [2022-04-08 15:10:05,903 INFO L290 TraceCheckUtils]: 20: Hoare triple {38277#true} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {38277#true} is VALID [2022-04-08 15:10:05,903 INFO L290 TraceCheckUtils]: 21: Hoare triple {38277#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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {38277#true} is VALID [2022-04-08 15:10:05,903 INFO L290 TraceCheckUtils]: 22: Hoare triple {38277#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {38277#true} is VALID [2022-04-08 15:10:05,904 INFO L272 TraceCheckUtils]: 23: Hoare triple {38277#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {38329#(and (= |old(#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 15:10:05,904 INFO L290 TraceCheckUtils]: 24: Hoare triple {38329#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {38277#true} is VALID [2022-04-08 15:10:05,905 INFO L272 TraceCheckUtils]: 25: Hoare triple {38277#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {38329#(and (= |old(#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 15:10:05,905 INFO L290 TraceCheckUtils]: 26: Hoare triple {38329#(and (= |old(#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; {38277#true} is VALID [2022-04-08 15:10:05,905 INFO L290 TraceCheckUtils]: 27: Hoare triple {38277#true} assume !(0 == ~__BLAST_NONDET~5); {38277#true} is VALID [2022-04-08 15:10:05,905 INFO L290 TraceCheckUtils]: 28: Hoare triple {38277#true} #res := -1073741823; {38277#true} is VALID [2022-04-08 15:10:05,905 INFO L290 TraceCheckUtils]: 29: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-08 15:10:05,905 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {38277#true} {38277#true} #1176#return; {38277#true} is VALID [2022-04-08 15:10:05,905 INFO L290 TraceCheckUtils]: 31: Hoare triple {38277#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {38277#true} is VALID [2022-04-08 15:10:05,905 INFO L290 TraceCheckUtils]: 32: Hoare triple {38277#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {38277#true} is VALID [2022-04-08 15:10:05,905 INFO L290 TraceCheckUtils]: 33: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-08 15:10:05,905 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {38277#true} {38277#true} #1220#return; {38277#true} is VALID [2022-04-08 15:10:05,905 INFO L290 TraceCheckUtils]: 35: Hoare triple {38277#true} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {38277#true} is VALID [2022-04-08 15:10:05,906 INFO L272 TraceCheckUtils]: 36: Hoare triple {38277#true} call stub_driver_init(); {38335#(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 15:10:05,906 INFO L290 TraceCheckUtils]: 37: Hoare triple {38335#(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; {38277#true} is VALID [2022-04-08 15:10:05,906 INFO L290 TraceCheckUtils]: 38: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-08 15:10:05,906 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {38277#true} {38277#true} #1222#return; {38277#true} is VALID [2022-04-08 15:10:05,906 INFO L290 TraceCheckUtils]: 40: Hoare triple {38277#true} assume !!(~status~5 >= 0); {38277#true} is VALID [2022-04-08 15:10:05,906 INFO L290 TraceCheckUtils]: 41: Hoare triple {38277#true} assume !(0 == ~__BLAST_NONDET~0); {38277#true} is VALID [2022-04-08 15:10:05,906 INFO L290 TraceCheckUtils]: 42: Hoare triple {38277#true} assume !(1 == ~__BLAST_NONDET~0); {38277#true} is VALID [2022-04-08 15:10:05,906 INFO L290 TraceCheckUtils]: 43: Hoare triple {38277#true} assume !(2 == ~__BLAST_NONDET~0); {38277#true} is VALID [2022-04-08 15:10:05,906 INFO L290 TraceCheckUtils]: 44: Hoare triple {38277#true} assume !(3 == ~__BLAST_NONDET~0); {38277#true} is VALID [2022-04-08 15:10:05,907 INFO L290 TraceCheckUtils]: 45: Hoare triple {38277#true} assume !(4 == ~__BLAST_NONDET~0); {38277#true} is VALID [2022-04-08 15:10:05,907 INFO L290 TraceCheckUtils]: 46: Hoare triple {38277#true} assume 8 == ~__BLAST_NONDET~0; {38277#true} is VALID [2022-04-08 15:10:05,907 INFO L272 TraceCheckUtils]: 47: Hoare triple {38277#true} call #t~ret176 := KbFilter_InternIoCtl(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {38336#(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 15:10:05,908 INFO L290 TraceCheckUtils]: 48: Hoare triple {38336#(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, 76 + ~DeviceObject.offset, 8);~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, 52 + ~Irp.offset, 8);call #t~mem52.base, #t~mem52.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 20 + ~irpStack~2.offset, 8); {38337#(<= 0 KbFilter_InternIoCtl_~status~2)} is VALID [2022-04-08 15:10:05,908 INFO L290 TraceCheckUtils]: 49: Hoare triple {38337#(<= 0 KbFilter_InternIoCtl_~status~2)} assume #t~mem53 % 18446744073709551616 == ~bitwiseOr(~bitwiseOr(720896, 512), 3) % 18446744073709551616;havoc #t~mem53; {38337#(<= 0 KbFilter_InternIoCtl_~status~2)} is VALID [2022-04-08 15:10:05,909 INFO L290 TraceCheckUtils]: 50: Hoare triple {38337#(<= 0 KbFilter_InternIoCtl_~status~2)} call #t~mem62.base, #t~mem62.offset := read~$Pointer$(~devExt~2.base, 40 + ~devExt~2.offset, 8); {38337#(<= 0 KbFilter_InternIoCtl_~status~2)} is VALID [2022-04-08 15:10:05,909 INFO L290 TraceCheckUtils]: 51: Hoare triple {38337#(<= 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, 12 + ~irpStack~2.offset, 8); {38337#(<= 0 KbFilter_InternIoCtl_~status~2)} is VALID [2022-04-08 15:10:05,909 INFO L290 TraceCheckUtils]: 52: Hoare triple {38337#(<= 0 KbFilter_InternIoCtl_~status~2)} assume !(#t~mem63 % 18446744073709551616 < 16);havoc #t~mem63;call #t~mem64.base, #t~mem64.offset := read~$Pointer$(~irpStack~2.base, 28 + ~irpStack~2.offset, 8);~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, 8);call #t~mem66.base, #t~mem66.offset := read~$Pointer$(~connectData~0.base, 8 + ~connectData~0.offset, 8);call write~$Pointer$(#t~mem65.base, #t~mem65.offset, ~devExt~2.base, 32 + ~devExt~2.offset, 8);call write~$Pointer$(#t~mem66.base, #t~mem66.offset, ~devExt~2.base, 40 + ~devExt~2.offset, 8);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, 8);call write~$Pointer$(#t~mem67.base, #t~mem67.offset, ~connectData~0.base, ~connectData~0.offset, 8);havoc #t~mem67.base, #t~mem67.offset;call write~$Pointer$(#funAddr~KbFilter_ServiceCallback.base, #funAddr~KbFilter_ServiceCallback.offset, ~connectData~0.base, 8 + ~connectData~0.offset, 8); {38337#(<= 0 KbFilter_InternIoCtl_~status~2)} is VALID [2022-04-08 15:10:05,909 INFO L290 TraceCheckUtils]: 53: Hoare triple {38337#(<= 0 KbFilter_InternIoCtl_~status~2)} assume !(~status~2 >= 0);call write~int(~status~2, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~2 % 4294967296 <= 2147483647 then ~status~2 % 4294967296 else ~status~2 % 4294967296 - 4294967296); {38278#false} is VALID [2022-04-08 15:10:05,909 INFO L272 TraceCheckUtils]: 54: Hoare triple {38278#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {38342#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:10:05,909 INFO L290 TraceCheckUtils]: 55: Hoare triple {38342#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {38277#true} is VALID [2022-04-08 15:10:05,910 INFO L290 TraceCheckUtils]: 56: Hoare triple {38277#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {38277#true} is VALID [2022-04-08 15:10:05,910 INFO L290 TraceCheckUtils]: 57: Hoare triple {38277#true} assume true; {38277#true} is VALID [2022-04-08 15:10:05,910 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {38277#true} {38278#false} #1248#return; {38278#false} is VALID [2022-04-08 15:10:05,910 INFO L290 TraceCheckUtils]: 59: Hoare triple {38278#false} #res := ~status~2; {38278#false} is VALID [2022-04-08 15:10:05,910 INFO L290 TraceCheckUtils]: 60: Hoare triple {38278#false} assume true; {38278#false} is VALID [2022-04-08 15:10:05,910 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {38278#false} {38277#true} #1234#return; {38278#false} is VALID [2022-04-08 15:10:05,910 INFO L290 TraceCheckUtils]: 62: Hoare triple {38278#false} assume -9223372036854775808 <= #t~ret176 && #t~ret176 <= 9223372036854775807;~status~5 := #t~ret176;havoc #t~ret176; {38278#false} is VALID [2022-04-08 15:10:05,910 INFO L290 TraceCheckUtils]: 63: Hoare triple {38278#false} assume 0 != ~we_should_unload~0; {38278#false} is VALID [2022-04-08 15:10:05,910 INFO L290 TraceCheckUtils]: 64: Hoare triple {38278#false} assume !(1 == ~pended~0); {38278#false} is VALID [2022-04-08 15:10:05,910 INFO L290 TraceCheckUtils]: 65: Hoare triple {38278#false} assume !(1 == ~pended~0); {38278#false} is VALID [2022-04-08 15:10:05,910 INFO L290 TraceCheckUtils]: 66: Hoare triple {38278#false} assume !(~s~0 == ~UNLOADED~0); {38278#false} is VALID [2022-04-08 15:10:05,910 INFO L290 TraceCheckUtils]: 67: Hoare triple {38278#false} assume !(-1 == ~status~5); {38278#false} is VALID [2022-04-08 15:10:05,910 INFO L290 TraceCheckUtils]: 68: Hoare triple {38278#false} assume ~s~0 != ~SKIP2~0; {38278#false} is VALID [2022-04-08 15:10:05,910 INFO L290 TraceCheckUtils]: 69: Hoare triple {38278#false} assume ~s~0 != ~IPC~0; {38278#false} is VALID [2022-04-08 15:10:05,910 INFO L290 TraceCheckUtils]: 70: Hoare triple {38278#false} assume !(~s~0 != ~DC~0); {38278#false} is VALID [2022-04-08 15:10:05,910 INFO L290 TraceCheckUtils]: 71: Hoare triple {38278#false} assume !(1 == ~pended~0); {38278#false} is VALID [2022-04-08 15:10:05,910 INFO L290 TraceCheckUtils]: 72: Hoare triple {38278#false} assume ~s~0 == ~DC~0; {38278#false} is VALID [2022-04-08 15:10:05,910 INFO L290 TraceCheckUtils]: 73: Hoare triple {38278#false} assume 259 == ~status~5; {38278#false} is VALID [2022-04-08 15:10:05,910 INFO L272 TraceCheckUtils]: 74: Hoare triple {38278#false} call errorFn(); {38278#false} is VALID [2022-04-08 15:10:05,911 INFO L290 TraceCheckUtils]: 75: Hoare triple {38278#false} assume !false; {38278#false} is VALID [2022-04-08 15:10:05,911 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 15:10:05,911 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:10:05,911 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1066592136] [2022-04-08 15:10:05,912 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1066592136] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:10:05,912 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:10:05,912 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 15:10:05,913 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:10:05,913 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1002617668] [2022-04-08 15:10:05,913 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1002617668] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:10:05,913 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:10:05,913 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 15:10:05,913 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [54868640] [2022-04-08 15:10:05,913 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:10:05,913 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 15:10:05,913 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:10:05,913 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 15:10:05,974 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 15:10:05,974 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 15:10:05,974 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:10:05,975 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 15:10:05,975 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=64, Unknown=0, NotChecked=0, Total=90 [2022-04-08 15:10:05,975 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 15:10:08,099 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 15:10:14,681 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:10:14,681 INFO L93 Difference]: Finished difference Result 378 states and 480 transitions. [2022-04-08 15:10:14,682 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 15:10:14,682 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 15:10:14,682 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:10:14,682 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 15:10:14,684 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 427 transitions. [2022-04-08 15:10:14,684 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 15:10:14,686 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 427 transitions. [2022-04-08 15:10:14,686 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 427 transitions. [2022-04-08 15:10:15,150 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 15:10:15,156 INFO L225 Difference]: With dead ends: 378 [2022-04-08 15:10:15,157 INFO L226 Difference]: Without dead ends: 355 [2022-04-08 15:10:15,157 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 15:10:15,157 INFO L913 BasicCegarLoop]: 274 mSDtfsCounter, 619 mSDsluCounter, 228 mSDsCounter, 0 mSdLazyCounter, 877 mSolverCounterSat, 213 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 622 SdHoareTripleChecker+Valid, 502 SdHoareTripleChecker+Invalid, 1091 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 213 IncrementalHoareTripleChecker+Valid, 877 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.6s IncrementalHoareTripleChecker+Time [2022-04-08 15:10:15,157 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [622 Valid, 502 Invalid, 1091 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [213 Valid, 877 Invalid, 1 Unknown, 0 Unchecked, 4.6s Time] [2022-04-08 15:10:15,158 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 355 states. [2022-04-08 15:10:15,578 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 355 to 335. [2022-04-08 15:10:15,578 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:10:15,579 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 15:10:15,579 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 15:10:15,580 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 15:10:15,585 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:10:15,585 INFO L93 Difference]: Finished difference Result 355 states and 456 transitions. [2022-04-08 15:10:15,585 INFO L276 IsEmpty]: Start isEmpty. Operand 355 states and 456 transitions. [2022-04-08 15:10:15,585 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:10:15,585 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:10:15,586 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 15:10:15,586 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 15:10:15,591 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:10:15,591 INFO L93 Difference]: Finished difference Result 355 states and 456 transitions. [2022-04-08 15:10:15,591 INFO L276 IsEmpty]: Start isEmpty. Operand 355 states and 456 transitions. [2022-04-08 15:10:15,593 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:10:15,593 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:10:15,593 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:10:15,593 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:10:15,593 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 15:10:15,603 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 335 states to 335 states and 429 transitions. [2022-04-08 15:10:15,604 INFO L78 Accepts]: Start accepts. Automaton has 335 states and 429 transitions. Word has length 76 [2022-04-08 15:10:15,604 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:10:15,604 INFO L478 AbstractCegarLoop]: Abstraction has 335 states and 429 transitions. [2022-04-08 15:10:15,604 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 15:10:15,604 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 335 states and 429 transitions. [2022-04-08 15:10:16,291 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 15:10:16,292 INFO L276 IsEmpty]: Start isEmpty. Operand 335 states and 429 transitions. [2022-04-08 15:10:16,292 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2022-04-08 15:10:16,292 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:10:16,293 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 15:10:16,293 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable15 [2022-04-08 15:10:16,293 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:10:16,293 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:10:16,293 INFO L85 PathProgramCache]: Analyzing trace with hash 2131421, now seen corresponding path program 1 times [2022-04-08 15:10:16,293 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:10:16,293 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [66926424] [2022-04-08 15:10:16,293 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 15:10:16,293 INFO L85 PathProgramCache]: Analyzing trace with hash 2131421, now seen corresponding path program 2 times [2022-04-08 15:10:16,294 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:10:16,294 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [467461145] [2022-04-08 15:10:16,294 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:10:16,294 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:10:16,356 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:16,422 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:10:16,424 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:16,439 INFO L290 TraceCheckUtils]: 0: Hoare triple {40543#(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; {40491#true} is VALID [2022-04-08 15:10:16,439 INFO L290 TraceCheckUtils]: 1: Hoare triple {40491#true} assume true; {40491#true} is VALID [2022-04-08 15:10:16,439 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40491#true} {40491#true} #1270#return; {40491#true} is VALID [2022-04-08 15:10:16,461 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:10:16,462 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:16,467 INFO L290 TraceCheckUtils]: 0: Hoare triple {40544#(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; {40491#true} is VALID [2022-04-08 15:10:16,467 INFO L290 TraceCheckUtils]: 1: Hoare triple {40491#true} assume true; {40491#true} is VALID [2022-04-08 15:10:16,467 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40491#true} {40491#true} #1216#return; {40491#true} is VALID [2022-04-08 15:10:16,475 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:10:16,481 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:16,488 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:10:16,488 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:16,492 INFO L290 TraceCheckUtils]: 0: Hoare triple {40491#true} ~cond := #in~cond; {40491#true} is VALID [2022-04-08 15:10:16,493 INFO L290 TraceCheckUtils]: 1: Hoare triple {40491#true} assume !(0 == ~cond); {40491#true} is VALID [2022-04-08 15:10:16,493 INFO L290 TraceCheckUtils]: 2: Hoare triple {40491#true} assume true; {40491#true} is VALID [2022-04-08 15:10:16,493 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40491#true} {40491#true} #1254#return; {40491#true} is VALID [2022-04-08 15:10:16,493 INFO L290 TraceCheckUtils]: 0: Hoare triple {40545#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {40491#true} is VALID [2022-04-08 15:10:16,493 INFO L272 TraceCheckUtils]: 1: Hoare triple {40491#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {40491#true} is VALID [2022-04-08 15:10:16,493 INFO L290 TraceCheckUtils]: 2: Hoare triple {40491#true} ~cond := #in~cond; {40491#true} is VALID [2022-04-08 15:10:16,493 INFO L290 TraceCheckUtils]: 3: Hoare triple {40491#true} assume !(0 == ~cond); {40491#true} is VALID [2022-04-08 15:10:16,493 INFO L290 TraceCheckUtils]: 4: Hoare triple {40491#true} assume true; {40491#true} is VALID [2022-04-08 15:10:16,493 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {40491#true} {40491#true} #1254#return; {40491#true} is VALID [2022-04-08 15:10:16,493 INFO L290 TraceCheckUtils]: 6: Hoare triple {40491#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {40491#true} is VALID [2022-04-08 15:10:16,493 INFO L290 TraceCheckUtils]: 7: Hoare triple {40491#true} assume true; {40491#true} is VALID [2022-04-08 15:10:16,493 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {40491#true} {40491#true} #1218#return; {40491#true} is VALID [2022-04-08 15:10:16,504 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:10:16,507 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:16,512 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:10:16,513 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:16,524 INFO L290 TraceCheckUtils]: 0: Hoare triple {40550#(and (= |old(#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; {40491#true} is VALID [2022-04-08 15:10:16,524 INFO L290 TraceCheckUtils]: 1: Hoare triple {40491#true} assume !(0 == ~__BLAST_NONDET~5); {40491#true} is VALID [2022-04-08 15:10:16,524 INFO L290 TraceCheckUtils]: 2: Hoare triple {40491#true} #res := -1073741823; {40491#true} is VALID [2022-04-08 15:10:16,524 INFO L290 TraceCheckUtils]: 3: Hoare triple {40491#true} assume true; {40491#true} is VALID [2022-04-08 15:10:16,524 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {40491#true} {40491#true} #1176#return; {40491#true} is VALID [2022-04-08 15:10:16,524 INFO L290 TraceCheckUtils]: 0: Hoare triple {40550#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {40491#true} is VALID [2022-04-08 15:10:16,525 INFO L272 TraceCheckUtils]: 1: Hoare triple {40491#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {40550#(and (= |old(#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 15:10:16,525 INFO L290 TraceCheckUtils]: 2: Hoare triple {40550#(and (= |old(#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; {40491#true} is VALID [2022-04-08 15:10:16,525 INFO L290 TraceCheckUtils]: 3: Hoare triple {40491#true} assume !(0 == ~__BLAST_NONDET~5); {40491#true} is VALID [2022-04-08 15:10:16,526 INFO L290 TraceCheckUtils]: 4: Hoare triple {40491#true} #res := -1073741823; {40491#true} is VALID [2022-04-08 15:10:16,526 INFO L290 TraceCheckUtils]: 5: Hoare triple {40491#true} assume true; {40491#true} is VALID [2022-04-08 15:10:16,526 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {40491#true} {40491#true} #1176#return; {40491#true} is VALID [2022-04-08 15:10:16,526 INFO L290 TraceCheckUtils]: 7: Hoare triple {40491#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {40491#true} is VALID [2022-04-08 15:10:16,526 INFO L290 TraceCheckUtils]: 8: Hoare triple {40491#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {40491#true} is VALID [2022-04-08 15:10:16,526 INFO L290 TraceCheckUtils]: 9: Hoare triple {40491#true} assume true; {40491#true} is VALID [2022-04-08 15:10:16,526 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {40491#true} {40491#true} #1220#return; {40491#true} is VALID [2022-04-08 15:10:16,540 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 15:10:16,541 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:16,545 INFO L290 TraceCheckUtils]: 0: Hoare triple {40556#(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; {40491#true} is VALID [2022-04-08 15:10:16,545 INFO L290 TraceCheckUtils]: 1: Hoare triple {40491#true} assume true; {40491#true} is VALID [2022-04-08 15:10:16,546 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40491#true} {40491#true} #1222#return; {40491#true} is VALID [2022-04-08 15:10:16,560 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-08 15:10:16,569 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:16,605 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-04-08 15:10:16,609 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:16,660 INFO L290 TraceCheckUtils]: 0: Hoare triple {40570#(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; {40491#true} is VALID [2022-04-08 15:10:16,660 INFO L290 TraceCheckUtils]: 1: Hoare triple {40491#true} assume !(0 != ~compRegistered~0); {40491#true} is VALID [2022-04-08 15:10:16,660 INFO L290 TraceCheckUtils]: 2: Hoare triple {40491#true} assume 0 == ~__BLAST_NONDET~16; {40491#true} is VALID [2022-04-08 15:10:16,661 INFO L290 TraceCheckUtils]: 3: Hoare triple {40491#true} ~returnVal~0 := 0; {40571#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} is VALID [2022-04-08 15:10:16,661 INFO L290 TraceCheckUtils]: 4: Hoare triple {40571#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} assume !(~s~0 == ~NP~0); {40571#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} is VALID [2022-04-08 15:10:16,661 INFO L290 TraceCheckUtils]: 5: Hoare triple {40571#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} assume !(~s~0 == ~MPR1~0); {40571#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} is VALID [2022-04-08 15:10:16,662 INFO L290 TraceCheckUtils]: 6: Hoare triple {40571#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} assume ~s~0 == ~SKIP1~0;~s~0 := ~SKIP2~0;~lowerDriverReturn~0 := (if ~returnVal~0 % 4294967296 <= 2147483647 then ~returnVal~0 % 4294967296 else ~returnVal~0 % 4294967296 - 4294967296); {40571#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} is VALID [2022-04-08 15:10:16,662 INFO L290 TraceCheckUtils]: 7: Hoare triple {40571#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} #res := ~returnVal~0; {40572#(and (<= |PoCallDriver_#res| 0) (<= 0 |PoCallDriver_#res|))} is VALID [2022-04-08 15:10:16,662 INFO L290 TraceCheckUtils]: 8: Hoare triple {40572#(and (<= |PoCallDriver_#res| 0) (<= 0 |PoCallDriver_#res|))} assume true; {40572#(and (<= |PoCallDriver_#res| 0) (<= 0 |PoCallDriver_#res|))} is VALID [2022-04-08 15:10:16,663 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {40572#(and (<= |PoCallDriver_#res| 0) (<= 0 |PoCallDriver_#res|))} {40491#true} #1268#return; {40568#(= |KbFilter_Power_#t~ret136| 0)} is VALID [2022-04-08 15:10:16,663 INFO L290 TraceCheckUtils]: 0: Hoare triple {40557#(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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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, 12 + ~irpStack~4.offset, 4);~powerType~0 := #t~mem125;havoc #t~mem125;call #t~mem126 := read~int(~irpStack~4.base, 16 + ~irpStack~4.offset, 4);call #t~mem127 := read~int(~irpStack~4.base, 16 + ~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); {40491#true} is VALID [2022-04-08 15:10:16,663 INFO L290 TraceCheckUtils]: 1: Hoare triple {40491#true} assume 2 == #t~mem128 % 256;havoc #t~mem128; {40491#true} is VALID [2022-04-08 15:10:16,663 INFO L290 TraceCheckUtils]: 2: Hoare triple {40491#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, 96 + ~devExt~4.offset, 4);havoc #t~mem132; {40491#true} is VALID [2022-04-08 15:10:16,663 INFO L290 TraceCheckUtils]: 3: Hoare triple {40491#true} assume ~s~0 == ~NP~0;~s~0 := ~SKIP1~0; {40491#true} is VALID [2022-04-08 15:10:16,663 INFO L290 TraceCheckUtils]: 4: Hoare triple {40491#true} call #t~mem133 := read~int(~Irp.base, 63 + ~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, 63 + ~Irp.offset, 1);havoc #t~mem133;call #t~mem134.base, #t~mem134.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);call write~$Pointer$(#t~mem134.base, 68 + #t~mem134.offset, ~Irp.base, 180 + ~Irp.offset, 8);havoc #t~mem134.base, #t~mem134.offset;call #t~mem135.base, #t~mem135.offset := read~$Pointer$(~devExt~4.base, 16 + ~devExt~4.offset, 8); {40491#true} is VALID [2022-04-08 15:10:16,664 INFO L272 TraceCheckUtils]: 5: Hoare triple {40491#true} call #t~ret136 := PoCallDriver(#t~mem135.base, #t~mem135.offset, ~Irp.base, ~Irp.offset); {40570#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:10:16,664 INFO L290 TraceCheckUtils]: 6: Hoare triple {40570#(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; {40491#true} is VALID [2022-04-08 15:10:16,664 INFO L290 TraceCheckUtils]: 7: Hoare triple {40491#true} assume !(0 != ~compRegistered~0); {40491#true} is VALID [2022-04-08 15:10:16,664 INFO L290 TraceCheckUtils]: 8: Hoare triple {40491#true} assume 0 == ~__BLAST_NONDET~16; {40491#true} is VALID [2022-04-08 15:10:16,665 INFO L290 TraceCheckUtils]: 9: Hoare triple {40491#true} ~returnVal~0 := 0; {40571#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} is VALID [2022-04-08 15:10:16,665 INFO L290 TraceCheckUtils]: 10: Hoare triple {40571#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} assume !(~s~0 == ~NP~0); {40571#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} is VALID [2022-04-08 15:10:16,665 INFO L290 TraceCheckUtils]: 11: Hoare triple {40571#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} assume !(~s~0 == ~MPR1~0); {40571#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} is VALID [2022-04-08 15:10:16,666 INFO L290 TraceCheckUtils]: 12: Hoare triple {40571#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} assume ~s~0 == ~SKIP1~0;~s~0 := ~SKIP2~0;~lowerDriverReturn~0 := (if ~returnVal~0 % 4294967296 <= 2147483647 then ~returnVal~0 % 4294967296 else ~returnVal~0 % 4294967296 - 4294967296); {40571#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} is VALID [2022-04-08 15:10:16,666 INFO L290 TraceCheckUtils]: 13: Hoare triple {40571#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} #res := ~returnVal~0; {40572#(and (<= |PoCallDriver_#res| 0) (<= 0 |PoCallDriver_#res|))} is VALID [2022-04-08 15:10:16,666 INFO L290 TraceCheckUtils]: 14: Hoare triple {40572#(and (<= |PoCallDriver_#res| 0) (<= 0 |PoCallDriver_#res|))} assume true; {40572#(and (<= |PoCallDriver_#res| 0) (<= 0 |PoCallDriver_#res|))} is VALID [2022-04-08 15:10:16,667 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {40572#(and (<= |PoCallDriver_#res| 0) (<= 0 |PoCallDriver_#res|))} {40491#true} #1268#return; {40568#(= |KbFilter_Power_#t~ret136| 0)} is VALID [2022-04-08 15:10:16,667 INFO L290 TraceCheckUtils]: 16: Hoare triple {40568#(= |KbFilter_Power_#t~ret136| 0)} assume -9223372036854775808 <= #t~ret136 && #t~ret136 <= 9223372036854775807;~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; {40569#(= |KbFilter_Power_#res| 0)} is VALID [2022-04-08 15:10:16,668 INFO L290 TraceCheckUtils]: 17: Hoare triple {40569#(= |KbFilter_Power_#res| 0)} assume true; {40569#(= |KbFilter_Power_#res| 0)} is VALID [2022-04-08 15:10:16,668 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {40569#(= |KbFilter_Power_#res| 0)} {40491#true} #1232#return; {40541#(= 0 |main_#t~ret175|)} is VALID [2022-04-08 15:10:16,670 INFO L272 TraceCheckUtils]: 0: Hoare triple {40491#true} call ULTIMATE.init(); {40543#(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 15:10:16,670 INFO L290 TraceCheckUtils]: 1: Hoare triple {40543#(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; {40491#true} is VALID [2022-04-08 15:10:16,670 INFO L290 TraceCheckUtils]: 2: Hoare triple {40491#true} assume true; {40491#true} is VALID [2022-04-08 15:10:16,670 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40491#true} {40491#true} #1270#return; {40491#true} is VALID [2022-04-08 15:10:16,670 INFO L272 TraceCheckUtils]: 4: Hoare triple {40491#true} call #t~ret213 := main(); {40491#true} is VALID [2022-04-08 15:10:16,670 INFO L290 TraceCheckUtils]: 5: Hoare triple {40491#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {40491#true} is VALID [2022-04-08 15:10:16,671 INFO L272 TraceCheckUtils]: 6: Hoare triple {40491#true} call _BLAST_init(); {40544#(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 15:10:16,671 INFO L290 TraceCheckUtils]: 7: Hoare triple {40544#(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; {40491#true} is VALID [2022-04-08 15:10:16,671 INFO L290 TraceCheckUtils]: 8: Hoare triple {40491#true} assume true; {40491#true} is VALID [2022-04-08 15:10:16,671 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {40491#true} {40491#true} #1216#return; {40491#true} is VALID [2022-04-08 15:10:16,672 INFO L272 TraceCheckUtils]: 10: Hoare triple {40491#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {40545#(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 15:10:16,672 INFO L290 TraceCheckUtils]: 11: Hoare triple {40545#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {40491#true} is VALID [2022-04-08 15:10:16,672 INFO L272 TraceCheckUtils]: 12: Hoare triple {40491#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {40491#true} is VALID [2022-04-08 15:10:16,672 INFO L290 TraceCheckUtils]: 13: Hoare triple {40491#true} ~cond := #in~cond; {40491#true} is VALID [2022-04-08 15:10:16,672 INFO L290 TraceCheckUtils]: 14: Hoare triple {40491#true} assume !(0 == ~cond); {40491#true} is VALID [2022-04-08 15:10:16,672 INFO L290 TraceCheckUtils]: 15: Hoare triple {40491#true} assume true; {40491#true} is VALID [2022-04-08 15:10:16,672 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {40491#true} {40491#true} #1254#return; {40491#true} is VALID [2022-04-08 15:10:16,672 INFO L290 TraceCheckUtils]: 17: Hoare triple {40491#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {40491#true} is VALID [2022-04-08 15:10:16,672 INFO L290 TraceCheckUtils]: 18: Hoare triple {40491#true} assume true; {40491#true} is VALID [2022-04-08 15:10:16,672 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {40491#true} {40491#true} #1218#return; {40491#true} is VALID [2022-04-08 15:10:16,672 INFO L290 TraceCheckUtils]: 20: Hoare triple {40491#true} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {40491#true} is VALID [2022-04-08 15:10:16,672 INFO L290 TraceCheckUtils]: 21: Hoare triple {40491#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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {40491#true} is VALID [2022-04-08 15:10:16,673 INFO L290 TraceCheckUtils]: 22: Hoare triple {40491#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {40491#true} is VALID [2022-04-08 15:10:16,673 INFO L272 TraceCheckUtils]: 23: Hoare triple {40491#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {40550#(and (= |old(#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 15:10:16,673 INFO L290 TraceCheckUtils]: 24: Hoare triple {40550#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {40491#true} is VALID [2022-04-08 15:10:16,675 INFO L272 TraceCheckUtils]: 25: Hoare triple {40491#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {40550#(and (= |old(#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 15:10:16,675 INFO L290 TraceCheckUtils]: 26: Hoare triple {40550#(and (= |old(#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; {40491#true} is VALID [2022-04-08 15:10:16,675 INFO L290 TraceCheckUtils]: 27: Hoare triple {40491#true} assume !(0 == ~__BLAST_NONDET~5); {40491#true} is VALID [2022-04-08 15:10:16,675 INFO L290 TraceCheckUtils]: 28: Hoare triple {40491#true} #res := -1073741823; {40491#true} is VALID [2022-04-08 15:10:16,675 INFO L290 TraceCheckUtils]: 29: Hoare triple {40491#true} assume true; {40491#true} is VALID [2022-04-08 15:10:16,675 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {40491#true} {40491#true} #1176#return; {40491#true} is VALID [2022-04-08 15:10:16,675 INFO L290 TraceCheckUtils]: 31: Hoare triple {40491#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {40491#true} is VALID [2022-04-08 15:10:16,675 INFO L290 TraceCheckUtils]: 32: Hoare triple {40491#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {40491#true} is VALID [2022-04-08 15:10:16,675 INFO L290 TraceCheckUtils]: 33: Hoare triple {40491#true} assume true; {40491#true} is VALID [2022-04-08 15:10:16,675 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {40491#true} {40491#true} #1220#return; {40491#true} is VALID [2022-04-08 15:10:16,675 INFO L290 TraceCheckUtils]: 35: Hoare triple {40491#true} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {40491#true} is VALID [2022-04-08 15:10:16,676 INFO L272 TraceCheckUtils]: 36: Hoare triple {40491#true} call stub_driver_init(); {40556#(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 15:10:16,676 INFO L290 TraceCheckUtils]: 37: Hoare triple {40556#(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; {40491#true} is VALID [2022-04-08 15:10:16,676 INFO L290 TraceCheckUtils]: 38: Hoare triple {40491#true} assume true; {40491#true} is VALID [2022-04-08 15:10:16,676 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {40491#true} {40491#true} #1222#return; {40491#true} is VALID [2022-04-08 15:10:16,676 INFO L290 TraceCheckUtils]: 40: Hoare triple {40491#true} assume !!(~status~5 >= 0); {40491#true} is VALID [2022-04-08 15:10:16,676 INFO L290 TraceCheckUtils]: 41: Hoare triple {40491#true} assume !(0 == ~__BLAST_NONDET~0); {40491#true} is VALID [2022-04-08 15:10:16,676 INFO L290 TraceCheckUtils]: 42: Hoare triple {40491#true} assume !(1 == ~__BLAST_NONDET~0); {40491#true} is VALID [2022-04-08 15:10:16,676 INFO L290 TraceCheckUtils]: 43: Hoare triple {40491#true} assume !(2 == ~__BLAST_NONDET~0); {40491#true} is VALID [2022-04-08 15:10:16,676 INFO L290 TraceCheckUtils]: 44: Hoare triple {40491#true} assume !(3 == ~__BLAST_NONDET~0); {40491#true} is VALID [2022-04-08 15:10:16,676 INFO L290 TraceCheckUtils]: 45: Hoare triple {40491#true} assume 4 == ~__BLAST_NONDET~0; {40491#true} is VALID [2022-04-08 15:10:16,686 INFO L272 TraceCheckUtils]: 46: Hoare triple {40491#true} call #t~ret175 := KbFilter_Power(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {40557#(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 15:10:16,686 INFO L290 TraceCheckUtils]: 47: Hoare triple {40557#(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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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, 12 + ~irpStack~4.offset, 4);~powerType~0 := #t~mem125;havoc #t~mem125;call #t~mem126 := read~int(~irpStack~4.base, 16 + ~irpStack~4.offset, 4);call #t~mem127 := read~int(~irpStack~4.base, 16 + ~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); {40491#true} is VALID [2022-04-08 15:10:16,686 INFO L290 TraceCheckUtils]: 48: Hoare triple {40491#true} assume 2 == #t~mem128 % 256;havoc #t~mem128; {40491#true} is VALID [2022-04-08 15:10:16,686 INFO L290 TraceCheckUtils]: 49: Hoare triple {40491#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, 96 + ~devExt~4.offset, 4);havoc #t~mem132; {40491#true} is VALID [2022-04-08 15:10:16,686 INFO L290 TraceCheckUtils]: 50: Hoare triple {40491#true} assume ~s~0 == ~NP~0;~s~0 := ~SKIP1~0; {40491#true} is VALID [2022-04-08 15:10:16,686 INFO L290 TraceCheckUtils]: 51: Hoare triple {40491#true} call #t~mem133 := read~int(~Irp.base, 63 + ~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, 63 + ~Irp.offset, 1);havoc #t~mem133;call #t~mem134.base, #t~mem134.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);call write~$Pointer$(#t~mem134.base, 68 + #t~mem134.offset, ~Irp.base, 180 + ~Irp.offset, 8);havoc #t~mem134.base, #t~mem134.offset;call #t~mem135.base, #t~mem135.offset := read~$Pointer$(~devExt~4.base, 16 + ~devExt~4.offset, 8); {40491#true} is VALID [2022-04-08 15:10:16,687 INFO L272 TraceCheckUtils]: 52: Hoare triple {40491#true} call #t~ret136 := PoCallDriver(#t~mem135.base, #t~mem135.offset, ~Irp.base, ~Irp.offset); {40570#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:10:16,687 INFO L290 TraceCheckUtils]: 53: Hoare triple {40570#(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; {40491#true} is VALID [2022-04-08 15:10:16,687 INFO L290 TraceCheckUtils]: 54: Hoare triple {40491#true} assume !(0 != ~compRegistered~0); {40491#true} is VALID [2022-04-08 15:10:16,687 INFO L290 TraceCheckUtils]: 55: Hoare triple {40491#true} assume 0 == ~__BLAST_NONDET~16; {40491#true} is VALID [2022-04-08 15:10:16,687 INFO L290 TraceCheckUtils]: 56: Hoare triple {40491#true} ~returnVal~0 := 0; {40571#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} is VALID [2022-04-08 15:10:16,688 INFO L290 TraceCheckUtils]: 57: Hoare triple {40571#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} assume !(~s~0 == ~NP~0); {40571#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} is VALID [2022-04-08 15:10:16,688 INFO L290 TraceCheckUtils]: 58: Hoare triple {40571#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} assume !(~s~0 == ~MPR1~0); {40571#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} is VALID [2022-04-08 15:10:16,688 INFO L290 TraceCheckUtils]: 59: Hoare triple {40571#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} assume ~s~0 == ~SKIP1~0;~s~0 := ~SKIP2~0;~lowerDriverReturn~0 := (if ~returnVal~0 % 4294967296 <= 2147483647 then ~returnVal~0 % 4294967296 else ~returnVal~0 % 4294967296 - 4294967296); {40571#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} is VALID [2022-04-08 15:10:16,689 INFO L290 TraceCheckUtils]: 60: Hoare triple {40571#(and (<= 0 PoCallDriver_~returnVal~0) (<= PoCallDriver_~returnVal~0 0))} #res := ~returnVal~0; {40572#(and (<= |PoCallDriver_#res| 0) (<= 0 |PoCallDriver_#res|))} is VALID [2022-04-08 15:10:16,689 INFO L290 TraceCheckUtils]: 61: Hoare triple {40572#(and (<= |PoCallDriver_#res| 0) (<= 0 |PoCallDriver_#res|))} assume true; {40572#(and (<= |PoCallDriver_#res| 0) (<= 0 |PoCallDriver_#res|))} is VALID [2022-04-08 15:10:16,690 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {40572#(and (<= |PoCallDriver_#res| 0) (<= 0 |PoCallDriver_#res|))} {40491#true} #1268#return; {40568#(= |KbFilter_Power_#t~ret136| 0)} is VALID [2022-04-08 15:10:16,690 INFO L290 TraceCheckUtils]: 63: Hoare triple {40568#(= |KbFilter_Power_#t~ret136| 0)} assume -9223372036854775808 <= #t~ret136 && #t~ret136 <= 9223372036854775807;~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; {40569#(= |KbFilter_Power_#res| 0)} is VALID [2022-04-08 15:10:16,690 INFO L290 TraceCheckUtils]: 64: Hoare triple {40569#(= |KbFilter_Power_#res| 0)} assume true; {40569#(= |KbFilter_Power_#res| 0)} is VALID [2022-04-08 15:10:16,691 INFO L284 TraceCheckUtils]: 65: Hoare quadruple {40569#(= |KbFilter_Power_#res| 0)} {40491#true} #1232#return; {40541#(= 0 |main_#t~ret175|)} is VALID [2022-04-08 15:10:16,691 INFO L290 TraceCheckUtils]: 66: Hoare triple {40541#(= 0 |main_#t~ret175|)} assume -9223372036854775808 <= #t~ret175 && #t~ret175 <= 9223372036854775807;~status~5 := #t~ret175;havoc #t~ret175; {40542#(= main_~status~5 0)} is VALID [2022-04-08 15:10:16,691 INFO L290 TraceCheckUtils]: 67: Hoare triple {40542#(= main_~status~5 0)} assume 0 != ~we_should_unload~0; {40542#(= main_~status~5 0)} is VALID [2022-04-08 15:10:16,692 INFO L290 TraceCheckUtils]: 68: Hoare triple {40542#(= main_~status~5 0)} assume !(1 == ~pended~0); {40542#(= main_~status~5 0)} is VALID [2022-04-08 15:10:16,692 INFO L290 TraceCheckUtils]: 69: Hoare triple {40542#(= main_~status~5 0)} assume !(1 == ~pended~0); {40542#(= main_~status~5 0)} is VALID [2022-04-08 15:10:16,692 INFO L290 TraceCheckUtils]: 70: Hoare triple {40542#(= main_~status~5 0)} assume !(~s~0 == ~UNLOADED~0); {40542#(= main_~status~5 0)} is VALID [2022-04-08 15:10:16,692 INFO L290 TraceCheckUtils]: 71: Hoare triple {40542#(= main_~status~5 0)} assume !(-1 == ~status~5); {40542#(= main_~status~5 0)} is VALID [2022-04-08 15:10:16,693 INFO L290 TraceCheckUtils]: 72: Hoare triple {40542#(= main_~status~5 0)} assume !(~s~0 != ~SKIP2~0); {40542#(= main_~status~5 0)} is VALID [2022-04-08 15:10:16,693 INFO L290 TraceCheckUtils]: 73: Hoare triple {40542#(= main_~status~5 0)} assume !(1 == ~pended~0); {40542#(= main_~status~5 0)} is VALID [2022-04-08 15:10:16,693 INFO L290 TraceCheckUtils]: 74: Hoare triple {40542#(= main_~status~5 0)} assume ~s~0 == ~DC~0; {40542#(= main_~status~5 0)} is VALID [2022-04-08 15:10:16,693 INFO L290 TraceCheckUtils]: 75: Hoare triple {40542#(= main_~status~5 0)} assume 259 == ~status~5; {40492#false} is VALID [2022-04-08 15:10:16,693 INFO L272 TraceCheckUtils]: 76: Hoare triple {40492#false} call errorFn(); {40492#false} is VALID [2022-04-08 15:10:16,693 INFO L290 TraceCheckUtils]: 77: Hoare triple {40492#false} assume !false; {40492#false} is VALID [2022-04-08 15:10:16,694 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 15:10:16,694 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:10:16,694 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [467461145] [2022-04-08 15:10:16,694 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [467461145] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:10:16,694 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:10:16,694 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 15:10:16,694 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:10:16,694 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [66926424] [2022-04-08 15:10:16,694 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [66926424] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:10:16,694 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:10:16,694 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 15:10:16,694 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1840510613] [2022-04-08 15:10:16,694 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:10:16,695 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 15:10:16,695 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:10:16,695 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 15:10:16,752 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 15:10:16,752 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-08 15:10:16,752 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:10:16,752 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-08 15:10:16,752 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=173, Unknown=0, NotChecked=0, Total=210 [2022-04-08 15:10:16,753 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 15:10:18,877 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 15:10:24,958 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.31s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 15:10:33,425 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:10:33,425 INFO L93 Difference]: Finished difference Result 398 states and 505 transitions. [2022-04-08 15:10:33,425 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-08 15:10:33,425 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 15:10:33,425 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:10:33,425 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 15:10:33,428 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 444 transitions. [2022-04-08 15:10:33,428 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 15:10:33,430 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 444 transitions. [2022-04-08 15:10:33,430 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 444 transitions. [2022-04-08 15:10:33,908 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 15:10:33,914 INFO L225 Difference]: With dead ends: 398 [2022-04-08 15:10:33,914 INFO L226 Difference]: Without dead ends: 354 [2022-04-08 15:10:33,915 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 15:10:33,915 INFO L913 BasicCegarLoop]: 270 mSDtfsCounter, 913 mSDsluCounter, 597 mSDsCounter, 0 mSdLazyCounter, 2053 mSolverCounterSat, 327 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 8.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 917 SdHoareTripleChecker+Valid, 867 SdHoareTripleChecker+Invalid, 2381 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 327 IncrementalHoareTripleChecker+Valid, 2053 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 8.6s IncrementalHoareTripleChecker+Time [2022-04-08 15:10:33,915 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [917 Valid, 867 Invalid, 2381 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [327 Valid, 2053 Invalid, 1 Unknown, 0 Unchecked, 8.6s Time] [2022-04-08 15:10:33,916 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 354 states. [2022-04-08 15:10:34,354 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 354 to 334. [2022-04-08 15:10:34,354 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:10:34,355 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 15:10:34,355 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 15:10:34,356 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 15:10:34,361 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:10:34,362 INFO L93 Difference]: Finished difference Result 354 states and 454 transitions. [2022-04-08 15:10:34,362 INFO L276 IsEmpty]: Start isEmpty. Operand 354 states and 454 transitions. [2022-04-08 15:10:34,362 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:10:34,362 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:10:34,362 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 15:10:34,363 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 15:10:34,368 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:10:34,368 INFO L93 Difference]: Finished difference Result 354 states and 454 transitions. [2022-04-08 15:10:34,368 INFO L276 IsEmpty]: Start isEmpty. Operand 354 states and 454 transitions. [2022-04-08 15:10:34,368 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:10:34,368 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:10:34,368 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:10:34,369 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:10:34,369 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 15:10:34,374 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 334 states to 334 states and 427 transitions. [2022-04-08 15:10:34,375 INFO L78 Accepts]: Start accepts. Automaton has 334 states and 427 transitions. Word has length 78 [2022-04-08 15:10:34,375 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:10:34,375 INFO L478 AbstractCegarLoop]: Abstraction has 334 states and 427 transitions. [2022-04-08 15:10:34,375 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 15:10:34,375 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 334 states and 427 transitions. [2022-04-08 15:10:35,068 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 15:10:35,069 INFO L276 IsEmpty]: Start isEmpty. Operand 334 states and 427 transitions. [2022-04-08 15:10:35,069 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-08 15:10:35,069 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:10:35,069 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 15:10:35,069 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable16 [2022-04-08 15:10:35,070 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:10:35,070 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:10:35,070 INFO L85 PathProgramCache]: Analyzing trace with hash -1889602735, now seen corresponding path program 1 times [2022-04-08 15:10:35,070 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:10:35,070 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [913922751] [2022-04-08 15:10:35,070 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 15:10:35,070 INFO L85 PathProgramCache]: Analyzing trace with hash -1889602735, now seen corresponding path program 2 times [2022-04-08 15:10:35,070 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:10:35,070 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [79293644] [2022-04-08 15:10:35,070 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:10:35,071 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:10:35,123 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:35,202 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:10:35,204 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:35,209 INFO L290 TraceCheckUtils]: 0: Hoare triple {42813#(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; {42759#true} is VALID [2022-04-08 15:10:35,209 INFO L290 TraceCheckUtils]: 1: Hoare triple {42759#true} assume true; {42759#true} is VALID [2022-04-08 15:10:35,209 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {42759#true} {42759#true} #1270#return; {42759#true} is VALID [2022-04-08 15:10:35,234 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:10:35,236 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:35,240 INFO L290 TraceCheckUtils]: 0: Hoare triple {42814#(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; {42759#true} is VALID [2022-04-08 15:10:35,240 INFO L290 TraceCheckUtils]: 1: Hoare triple {42759#true} assume true; {42759#true} is VALID [2022-04-08 15:10:35,240 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {42759#true} {42759#true} #1216#return; {42759#true} is VALID [2022-04-08 15:10:35,248 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:10:35,254 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:35,261 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:10:35,261 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:35,265 INFO L290 TraceCheckUtils]: 0: Hoare triple {42759#true} ~cond := #in~cond; {42759#true} is VALID [2022-04-08 15:10:35,265 INFO L290 TraceCheckUtils]: 1: Hoare triple {42759#true} assume !(0 == ~cond); {42759#true} is VALID [2022-04-08 15:10:35,265 INFO L290 TraceCheckUtils]: 2: Hoare triple {42759#true} assume true; {42759#true} is VALID [2022-04-08 15:10:35,265 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42759#true} {42759#true} #1254#return; {42759#true} is VALID [2022-04-08 15:10:35,266 INFO L290 TraceCheckUtils]: 0: Hoare triple {42815#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {42759#true} is VALID [2022-04-08 15:10:35,266 INFO L272 TraceCheckUtils]: 1: Hoare triple {42759#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {42759#true} is VALID [2022-04-08 15:10:35,266 INFO L290 TraceCheckUtils]: 2: Hoare triple {42759#true} ~cond := #in~cond; {42759#true} is VALID [2022-04-08 15:10:35,266 INFO L290 TraceCheckUtils]: 3: Hoare triple {42759#true} assume !(0 == ~cond); {42759#true} is VALID [2022-04-08 15:10:35,266 INFO L290 TraceCheckUtils]: 4: Hoare triple {42759#true} assume true; {42759#true} is VALID [2022-04-08 15:10:35,266 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {42759#true} {42759#true} #1254#return; {42759#true} is VALID [2022-04-08 15:10:35,266 INFO L290 TraceCheckUtils]: 6: Hoare triple {42759#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {42759#true} is VALID [2022-04-08 15:10:35,266 INFO L290 TraceCheckUtils]: 7: Hoare triple {42759#true} assume true; {42759#true} is VALID [2022-04-08 15:10:35,266 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {42759#true} {42759#true} #1218#return; {42759#true} is VALID [2022-04-08 15:10:35,276 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:10:35,279 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:35,283 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:10:35,285 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:35,289 INFO L290 TraceCheckUtils]: 0: Hoare triple {42820#(and (= |old(#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; {42759#true} is VALID [2022-04-08 15:10:35,289 INFO L290 TraceCheckUtils]: 1: Hoare triple {42759#true} assume !(0 == ~__BLAST_NONDET~5); {42759#true} is VALID [2022-04-08 15:10:35,289 INFO L290 TraceCheckUtils]: 2: Hoare triple {42759#true} #res := -1073741823; {42759#true} is VALID [2022-04-08 15:10:35,289 INFO L290 TraceCheckUtils]: 3: Hoare triple {42759#true} assume true; {42759#true} is VALID [2022-04-08 15:10:35,289 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {42759#true} {42759#true} #1176#return; {42759#true} is VALID [2022-04-08 15:10:35,289 INFO L290 TraceCheckUtils]: 0: Hoare triple {42820#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {42759#true} is VALID [2022-04-08 15:10:35,290 INFO L272 TraceCheckUtils]: 1: Hoare triple {42759#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {42820#(and (= |old(#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 15:10:35,291 INFO L290 TraceCheckUtils]: 2: Hoare triple {42820#(and (= |old(#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; {42759#true} is VALID [2022-04-08 15:10:35,291 INFO L290 TraceCheckUtils]: 3: Hoare triple {42759#true} assume !(0 == ~__BLAST_NONDET~5); {42759#true} is VALID [2022-04-08 15:10:35,291 INFO L290 TraceCheckUtils]: 4: Hoare triple {42759#true} #res := -1073741823; {42759#true} is VALID [2022-04-08 15:10:35,291 INFO L290 TraceCheckUtils]: 5: Hoare triple {42759#true} assume true; {42759#true} is VALID [2022-04-08 15:10:35,291 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {42759#true} {42759#true} #1176#return; {42759#true} is VALID [2022-04-08 15:10:35,291 INFO L290 TraceCheckUtils]: 7: Hoare triple {42759#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {42759#true} is VALID [2022-04-08 15:10:35,291 INFO L290 TraceCheckUtils]: 8: Hoare triple {42759#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {42759#true} is VALID [2022-04-08 15:10:35,291 INFO L290 TraceCheckUtils]: 9: Hoare triple {42759#true} assume true; {42759#true} is VALID [2022-04-08 15:10:35,291 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {42759#true} {42759#true} #1220#return; {42759#true} is VALID [2022-04-08 15:10:35,304 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 15:10:35,305 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:35,309 INFO L290 TraceCheckUtils]: 0: Hoare triple {42826#(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; {42759#true} is VALID [2022-04-08 15:10:35,310 INFO L290 TraceCheckUtils]: 1: Hoare triple {42759#true} assume true; {42759#true} is VALID [2022-04-08 15:10:35,310 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {42759#true} {42759#true} #1222#return; {42759#true} is VALID [2022-04-08 15:10:35,331 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 45 [2022-04-08 15:10:35,339 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:35,392 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:10:35,398 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:35,444 INFO L290 TraceCheckUtils]: 0: Hoare triple {42841#(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; {42759#true} is VALID [2022-04-08 15:10:35,444 INFO L290 TraceCheckUtils]: 1: Hoare triple {42759#true} assume !(0 != ~compRegistered~0); {42759#true} is VALID [2022-04-08 15:10:35,444 INFO L290 TraceCheckUtils]: 2: Hoare triple {42759#true} assume 0 == ~__BLAST_NONDET~11; {42759#true} is VALID [2022-04-08 15:10:35,445 INFO L290 TraceCheckUtils]: 3: Hoare triple {42759#true} ~returnVal2~0 := 0; {42842#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:10:35,445 INFO L290 TraceCheckUtils]: 4: Hoare triple {42842#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume !(~s~0 == ~NP~0); {42842#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:10:35,446 INFO L290 TraceCheckUtils]: 5: Hoare triple {42842#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume !(~s~0 == ~MPR1~0); {42842#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:10:35,446 INFO L290 TraceCheckUtils]: 6: Hoare triple {42842#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume ~s~0 == ~SKIP1~0;~s~0 := ~SKIP2~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {42842#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:10:35,446 INFO L290 TraceCheckUtils]: 7: Hoare triple {42842#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} #res := ~returnVal2~0; {42843#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} is VALID [2022-04-08 15:10:35,447 INFO L290 TraceCheckUtils]: 8: Hoare triple {42843#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} assume true; {42843#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} is VALID [2022-04-08 15:10:35,448 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {42843#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} {42759#true} #1200#return; {42838#(= |KbFilter_PnP_#t~ret114| 0)} is VALID [2022-04-08 15:10:35,448 INFO L290 TraceCheckUtils]: 0: Hoare triple {42827#(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(28);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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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); {42759#true} is VALID [2022-04-08 15:10:35,448 INFO L290 TraceCheckUtils]: 1: Hoare triple {42759#true} assume !(0 == #t~mem81 % 256);havoc #t~mem81;call #t~mem82 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {42759#true} is VALID [2022-04-08 15:10:35,448 INFO L290 TraceCheckUtils]: 2: Hoare triple {42759#true} assume 23 == #t~mem82 % 256;havoc #t~mem82; {42759#true} is VALID [2022-04-08 15:10:35,448 INFO L290 TraceCheckUtils]: 3: Hoare triple {42759#true} call write~int(1, ~devExt~3.base, 101 + ~devExt~3.offset, 1); {42759#true} is VALID [2022-04-08 15:10:35,448 INFO L290 TraceCheckUtils]: 4: Hoare triple {42759#true} assume ~s~0 == ~NP~0;~s~0 := ~SKIP1~0; {42759#true} is VALID [2022-04-08 15:10:35,448 INFO L290 TraceCheckUtils]: 5: Hoare triple {42759#true} call #t~mem111 := read~int(~Irp.base, 63 + ~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, 63 + ~Irp.offset, 1);havoc #t~mem111;call #t~mem112.base, #t~mem112.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);call write~$Pointer$(#t~mem112.base, 68 + #t~mem112.offset, ~Irp.base, 180 + ~Irp.offset, 8);havoc #t~mem112.base, #t~mem112.offset;call #t~mem113.base, #t~mem113.offset := read~$Pointer$(~devExt~3.base, 16 + ~devExt~3.offset, 8); {42759#true} is VALID [2022-04-08 15:10:35,449 INFO L272 TraceCheckUtils]: 6: Hoare triple {42759#true} call #t~ret114 := IofCallDriver(#t~mem113.base, #t~mem113.offset, ~Irp.base, ~Irp.offset); {42841#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:10:35,449 INFO L290 TraceCheckUtils]: 7: Hoare triple {42841#(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; {42759#true} is VALID [2022-04-08 15:10:35,449 INFO L290 TraceCheckUtils]: 8: Hoare triple {42759#true} assume !(0 != ~compRegistered~0); {42759#true} is VALID [2022-04-08 15:10:35,449 INFO L290 TraceCheckUtils]: 9: Hoare triple {42759#true} assume 0 == ~__BLAST_NONDET~11; {42759#true} is VALID [2022-04-08 15:10:35,450 INFO L290 TraceCheckUtils]: 10: Hoare triple {42759#true} ~returnVal2~0 := 0; {42842#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:10:35,450 INFO L290 TraceCheckUtils]: 11: Hoare triple {42842#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume !(~s~0 == ~NP~0); {42842#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:10:35,450 INFO L290 TraceCheckUtils]: 12: Hoare triple {42842#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume !(~s~0 == ~MPR1~0); {42842#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:10:35,451 INFO L290 TraceCheckUtils]: 13: Hoare triple {42842#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume ~s~0 == ~SKIP1~0;~s~0 := ~SKIP2~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {42842#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:10:35,451 INFO L290 TraceCheckUtils]: 14: Hoare triple {42842#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} #res := ~returnVal2~0; {42843#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} is VALID [2022-04-08 15:10:35,452 INFO L290 TraceCheckUtils]: 15: Hoare triple {42843#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} assume true; {42843#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} is VALID [2022-04-08 15:10:35,452 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {42843#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} {42759#true} #1200#return; {42838#(= |KbFilter_PnP_#t~ret114| 0)} is VALID [2022-04-08 15:10:35,453 INFO L290 TraceCheckUtils]: 17: Hoare triple {42838#(= |KbFilter_PnP_#t~ret114| 0)} assume -9223372036854775808 <= #t~ret114 && #t~ret114 <= 9223372036854775807;~status~3 := #t~ret114;havoc #t~mem113.base, #t~mem113.offset;havoc #t~ret114; {42839#(= KbFilter_PnP_~status~3 0)} is VALID [2022-04-08 15:10:35,453 INFO L290 TraceCheckUtils]: 18: Hoare triple {42839#(= KbFilter_PnP_~status~3 0)} #res := ~status~3;call ULTIMATE.dealloc(~#event~1.base, ~#event~1.offset);havoc ~#event~1.base, ~#event~1.offset; {42840#(= |KbFilter_PnP_#res| 0)} is VALID [2022-04-08 15:10:35,454 INFO L290 TraceCheckUtils]: 19: Hoare triple {42840#(= |KbFilter_PnP_#res| 0)} assume true; {42840#(= |KbFilter_PnP_#res| 0)} is VALID [2022-04-08 15:10:35,454 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {42840#(= |KbFilter_PnP_#res| 0)} {42759#true} #1230#return; {42811#(= 0 |main_#t~ret174|)} is VALID [2022-04-08 15:10:35,456 INFO L272 TraceCheckUtils]: 0: Hoare triple {42759#true} call ULTIMATE.init(); {42813#(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 15:10:35,456 INFO L290 TraceCheckUtils]: 1: Hoare triple {42813#(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; {42759#true} is VALID [2022-04-08 15:10:35,456 INFO L290 TraceCheckUtils]: 2: Hoare triple {42759#true} assume true; {42759#true} is VALID [2022-04-08 15:10:35,456 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42759#true} {42759#true} #1270#return; {42759#true} is VALID [2022-04-08 15:10:35,456 INFO L272 TraceCheckUtils]: 4: Hoare triple {42759#true} call #t~ret213 := main(); {42759#true} is VALID [2022-04-08 15:10:35,456 INFO L290 TraceCheckUtils]: 5: Hoare triple {42759#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {42759#true} is VALID [2022-04-08 15:10:35,457 INFO L272 TraceCheckUtils]: 6: Hoare triple {42759#true} call _BLAST_init(); {42814#(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 15:10:35,457 INFO L290 TraceCheckUtils]: 7: Hoare triple {42814#(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; {42759#true} is VALID [2022-04-08 15:10:35,457 INFO L290 TraceCheckUtils]: 8: Hoare triple {42759#true} assume true; {42759#true} is VALID [2022-04-08 15:10:35,457 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {42759#true} {42759#true} #1216#return; {42759#true} is VALID [2022-04-08 15:10:35,458 INFO L272 TraceCheckUtils]: 10: Hoare triple {42759#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {42815#(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 15:10:35,458 INFO L290 TraceCheckUtils]: 11: Hoare triple {42815#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {42759#true} is VALID [2022-04-08 15:10:35,458 INFO L272 TraceCheckUtils]: 12: Hoare triple {42759#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {42759#true} is VALID [2022-04-08 15:10:35,458 INFO L290 TraceCheckUtils]: 13: Hoare triple {42759#true} ~cond := #in~cond; {42759#true} is VALID [2022-04-08 15:10:35,458 INFO L290 TraceCheckUtils]: 14: Hoare triple {42759#true} assume !(0 == ~cond); {42759#true} is VALID [2022-04-08 15:10:35,458 INFO L290 TraceCheckUtils]: 15: Hoare triple {42759#true} assume true; {42759#true} is VALID [2022-04-08 15:10:35,458 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {42759#true} {42759#true} #1254#return; {42759#true} is VALID [2022-04-08 15:10:35,458 INFO L290 TraceCheckUtils]: 17: Hoare triple {42759#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {42759#true} is VALID [2022-04-08 15:10:35,458 INFO L290 TraceCheckUtils]: 18: Hoare triple {42759#true} assume true; {42759#true} is VALID [2022-04-08 15:10:35,458 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {42759#true} {42759#true} #1218#return; {42759#true} is VALID [2022-04-08 15:10:35,459 INFO L290 TraceCheckUtils]: 20: Hoare triple {42759#true} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {42759#true} is VALID [2022-04-08 15:10:35,459 INFO L290 TraceCheckUtils]: 21: Hoare triple {42759#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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {42759#true} is VALID [2022-04-08 15:10:35,459 INFO L290 TraceCheckUtils]: 22: Hoare triple {42759#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {42759#true} is VALID [2022-04-08 15:10:35,459 INFO L272 TraceCheckUtils]: 23: Hoare triple {42759#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {42820#(and (= |old(#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 15:10:35,460 INFO L290 TraceCheckUtils]: 24: Hoare triple {42820#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {42759#true} is VALID [2022-04-08 15:10:35,461 INFO L272 TraceCheckUtils]: 25: Hoare triple {42759#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {42820#(and (= |old(#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 15:10:35,461 INFO L290 TraceCheckUtils]: 26: Hoare triple {42820#(and (= |old(#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; {42759#true} is VALID [2022-04-08 15:10:35,461 INFO L290 TraceCheckUtils]: 27: Hoare triple {42759#true} assume !(0 == ~__BLAST_NONDET~5); {42759#true} is VALID [2022-04-08 15:10:35,461 INFO L290 TraceCheckUtils]: 28: Hoare triple {42759#true} #res := -1073741823; {42759#true} is VALID [2022-04-08 15:10:35,461 INFO L290 TraceCheckUtils]: 29: Hoare triple {42759#true} assume true; {42759#true} is VALID [2022-04-08 15:10:35,461 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {42759#true} {42759#true} #1176#return; {42759#true} is VALID [2022-04-08 15:10:35,461 INFO L290 TraceCheckUtils]: 31: Hoare triple {42759#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {42759#true} is VALID [2022-04-08 15:10:35,461 INFO L290 TraceCheckUtils]: 32: Hoare triple {42759#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {42759#true} is VALID [2022-04-08 15:10:35,461 INFO L290 TraceCheckUtils]: 33: Hoare triple {42759#true} assume true; {42759#true} is VALID [2022-04-08 15:10:35,461 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {42759#true} {42759#true} #1220#return; {42759#true} is VALID [2022-04-08 15:10:35,461 INFO L290 TraceCheckUtils]: 35: Hoare triple {42759#true} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {42759#true} is VALID [2022-04-08 15:10:35,462 INFO L272 TraceCheckUtils]: 36: Hoare triple {42759#true} call stub_driver_init(); {42826#(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 15:10:35,462 INFO L290 TraceCheckUtils]: 37: Hoare triple {42826#(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; {42759#true} is VALID [2022-04-08 15:10:35,462 INFO L290 TraceCheckUtils]: 38: Hoare triple {42759#true} assume true; {42759#true} is VALID [2022-04-08 15:10:35,462 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {42759#true} {42759#true} #1222#return; {42759#true} is VALID [2022-04-08 15:10:35,462 INFO L290 TraceCheckUtils]: 40: Hoare triple {42759#true} assume !!(~status~5 >= 0); {42759#true} is VALID [2022-04-08 15:10:35,462 INFO L290 TraceCheckUtils]: 41: Hoare triple {42759#true} assume !(0 == ~__BLAST_NONDET~0); {42759#true} is VALID [2022-04-08 15:10:35,462 INFO L290 TraceCheckUtils]: 42: Hoare triple {42759#true} assume !(1 == ~__BLAST_NONDET~0); {42759#true} is VALID [2022-04-08 15:10:35,462 INFO L290 TraceCheckUtils]: 43: Hoare triple {42759#true} assume !(2 == ~__BLAST_NONDET~0); {42759#true} is VALID [2022-04-08 15:10:35,462 INFO L290 TraceCheckUtils]: 44: Hoare triple {42759#true} assume 3 == ~__BLAST_NONDET~0; {42759#true} is VALID [2022-04-08 15:10:35,464 INFO L272 TraceCheckUtils]: 45: Hoare triple {42759#true} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {42827#(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 15:10:35,464 INFO L290 TraceCheckUtils]: 46: Hoare triple {42827#(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(28);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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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); {42759#true} is VALID [2022-04-08 15:10:35,464 INFO L290 TraceCheckUtils]: 47: Hoare triple {42759#true} assume !(0 == #t~mem81 % 256);havoc #t~mem81;call #t~mem82 := read~int(~irpStack~3.base, 1 + ~irpStack~3.offset, 1); {42759#true} is VALID [2022-04-08 15:10:35,464 INFO L290 TraceCheckUtils]: 48: Hoare triple {42759#true} assume 23 == #t~mem82 % 256;havoc #t~mem82; {42759#true} is VALID [2022-04-08 15:10:35,464 INFO L290 TraceCheckUtils]: 49: Hoare triple {42759#true} call write~int(1, ~devExt~3.base, 101 + ~devExt~3.offset, 1); {42759#true} is VALID [2022-04-08 15:10:35,464 INFO L290 TraceCheckUtils]: 50: Hoare triple {42759#true} assume ~s~0 == ~NP~0;~s~0 := ~SKIP1~0; {42759#true} is VALID [2022-04-08 15:10:35,464 INFO L290 TraceCheckUtils]: 51: Hoare triple {42759#true} call #t~mem111 := read~int(~Irp.base, 63 + ~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, 63 + ~Irp.offset, 1);havoc #t~mem111;call #t~mem112.base, #t~mem112.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);call write~$Pointer$(#t~mem112.base, 68 + #t~mem112.offset, ~Irp.base, 180 + ~Irp.offset, 8);havoc #t~mem112.base, #t~mem112.offset;call #t~mem113.base, #t~mem113.offset := read~$Pointer$(~devExt~3.base, 16 + ~devExt~3.offset, 8); {42759#true} is VALID [2022-04-08 15:10:35,465 INFO L272 TraceCheckUtils]: 52: Hoare triple {42759#true} call #t~ret114 := IofCallDriver(#t~mem113.base, #t~mem113.offset, ~Irp.base, ~Irp.offset); {42841#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:10:35,465 INFO L290 TraceCheckUtils]: 53: Hoare triple {42841#(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; {42759#true} is VALID [2022-04-08 15:10:35,465 INFO L290 TraceCheckUtils]: 54: Hoare triple {42759#true} assume !(0 != ~compRegistered~0); {42759#true} is VALID [2022-04-08 15:10:35,465 INFO L290 TraceCheckUtils]: 55: Hoare triple {42759#true} assume 0 == ~__BLAST_NONDET~11; {42759#true} is VALID [2022-04-08 15:10:35,465 INFO L290 TraceCheckUtils]: 56: Hoare triple {42759#true} ~returnVal2~0 := 0; {42842#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:10:35,466 INFO L290 TraceCheckUtils]: 57: Hoare triple {42842#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume !(~s~0 == ~NP~0); {42842#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:10:35,466 INFO L290 TraceCheckUtils]: 58: Hoare triple {42842#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume !(~s~0 == ~MPR1~0); {42842#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:10:35,466 INFO L290 TraceCheckUtils]: 59: Hoare triple {42842#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume ~s~0 == ~SKIP1~0;~s~0 := ~SKIP2~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {42842#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:10:35,467 INFO L290 TraceCheckUtils]: 60: Hoare triple {42842#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} #res := ~returnVal2~0; {42843#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} is VALID [2022-04-08 15:10:35,467 INFO L290 TraceCheckUtils]: 61: Hoare triple {42843#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} assume true; {42843#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} is VALID [2022-04-08 15:10:35,468 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {42843#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} {42759#true} #1200#return; {42838#(= |KbFilter_PnP_#t~ret114| 0)} is VALID [2022-04-08 15:10:35,468 INFO L290 TraceCheckUtils]: 63: Hoare triple {42838#(= |KbFilter_PnP_#t~ret114| 0)} assume -9223372036854775808 <= #t~ret114 && #t~ret114 <= 9223372036854775807;~status~3 := #t~ret114;havoc #t~mem113.base, #t~mem113.offset;havoc #t~ret114; {42839#(= KbFilter_PnP_~status~3 0)} is VALID [2022-04-08 15:10:35,469 INFO L290 TraceCheckUtils]: 64: Hoare triple {42839#(= KbFilter_PnP_~status~3 0)} #res := ~status~3;call ULTIMATE.dealloc(~#event~1.base, ~#event~1.offset);havoc ~#event~1.base, ~#event~1.offset; {42840#(= |KbFilter_PnP_#res| 0)} is VALID [2022-04-08 15:10:35,469 INFO L290 TraceCheckUtils]: 65: Hoare triple {42840#(= |KbFilter_PnP_#res| 0)} assume true; {42840#(= |KbFilter_PnP_#res| 0)} is VALID [2022-04-08 15:10:35,470 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {42840#(= |KbFilter_PnP_#res| 0)} {42759#true} #1230#return; {42811#(= 0 |main_#t~ret174|)} is VALID [2022-04-08 15:10:35,470 INFO L290 TraceCheckUtils]: 67: Hoare triple {42811#(= 0 |main_#t~ret174|)} assume -9223372036854775808 <= #t~ret174 && #t~ret174 <= 9223372036854775807;~status~5 := #t~ret174;havoc #t~ret174; {42812#(= main_~status~5 0)} is VALID [2022-04-08 15:10:35,470 INFO L290 TraceCheckUtils]: 68: Hoare triple {42812#(= main_~status~5 0)} assume 0 != ~we_should_unload~0; {42812#(= main_~status~5 0)} is VALID [2022-04-08 15:10:35,471 INFO L290 TraceCheckUtils]: 69: Hoare triple {42812#(= main_~status~5 0)} assume !(1 == ~pended~0); {42812#(= main_~status~5 0)} is VALID [2022-04-08 15:10:35,471 INFO L290 TraceCheckUtils]: 70: Hoare triple {42812#(= main_~status~5 0)} assume !(1 == ~pended~0); {42812#(= main_~status~5 0)} is VALID [2022-04-08 15:10:35,471 INFO L290 TraceCheckUtils]: 71: Hoare triple {42812#(= main_~status~5 0)} assume !(~s~0 == ~UNLOADED~0); {42812#(= main_~status~5 0)} is VALID [2022-04-08 15:10:35,472 INFO L290 TraceCheckUtils]: 72: Hoare triple {42812#(= main_~status~5 0)} assume !(-1 == ~status~5); {42812#(= main_~status~5 0)} is VALID [2022-04-08 15:10:35,472 INFO L290 TraceCheckUtils]: 73: Hoare triple {42812#(= main_~status~5 0)} assume !(~s~0 != ~SKIP2~0); {42812#(= main_~status~5 0)} is VALID [2022-04-08 15:10:35,472 INFO L290 TraceCheckUtils]: 74: Hoare triple {42812#(= main_~status~5 0)} assume !(1 == ~pended~0); {42812#(= main_~status~5 0)} is VALID [2022-04-08 15:10:35,472 INFO L290 TraceCheckUtils]: 75: Hoare triple {42812#(= main_~status~5 0)} assume ~s~0 == ~DC~0; {42812#(= main_~status~5 0)} is VALID [2022-04-08 15:10:35,473 INFO L290 TraceCheckUtils]: 76: Hoare triple {42812#(= main_~status~5 0)} assume 259 == ~status~5; {42760#false} is VALID [2022-04-08 15:10:35,473 INFO L272 TraceCheckUtils]: 77: Hoare triple {42760#false} call errorFn(); {42760#false} is VALID [2022-04-08 15:10:35,473 INFO L290 TraceCheckUtils]: 78: Hoare triple {42760#false} assume !false; {42760#false} is VALID [2022-04-08 15:10:35,473 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 15:10:35,474 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:10:35,474 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [79293644] [2022-04-08 15:10:35,474 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [79293644] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:10:35,474 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:10:35,474 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-08 15:10:35,474 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:10:35,474 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [913922751] [2022-04-08 15:10:35,474 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [913922751] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:10:35,474 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:10:35,474 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-08 15:10:35,474 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [241608806] [2022-04-08 15:10:35,474 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:10:35,475 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 15:10:35,475 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:10:35,475 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 15:10:35,538 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 15:10:35,538 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-08 15:10:35,539 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:10:35,539 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-08 15:10:35,539 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=201, Unknown=0, NotChecked=0, Total=240 [2022-04-08 15:10:35,540 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 15:10:37,697 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 15:10:54,259 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:10:54,259 INFO L93 Difference]: Finished difference Result 475 states and 607 transitions. [2022-04-08 15:10:54,259 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-08 15:10:54,259 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 15:10:54,259 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:10:54,259 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 15:10:54,262 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 510 transitions. [2022-04-08 15:10:54,262 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 15:10:54,265 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 510 transitions. [2022-04-08 15:10:54,265 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 510 transitions. [2022-04-08 15:10:54,802 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 15:10:54,813 INFO L225 Difference]: With dead ends: 475 [2022-04-08 15:10:54,813 INFO L226 Difference]: Without dead ends: 367 [2022-04-08 15:10:54,814 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 15:10:54,814 INFO L913 BasicCegarLoop]: 267 mSDtfsCounter, 530 mSDsluCounter, 687 mSDsCounter, 0 mSdLazyCounter, 2647 mSolverCounterSat, 186 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 9.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 540 SdHoareTripleChecker+Valid, 954 SdHoareTripleChecker+Invalid, 2834 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 186 IncrementalHoareTripleChecker+Valid, 2647 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 9.1s IncrementalHoareTripleChecker+Time [2022-04-08 15:10:54,814 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [540 Valid, 954 Invalid, 2834 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [186 Valid, 2647 Invalid, 1 Unknown, 0 Unchecked, 9.1s Time] [2022-04-08 15:10:54,815 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 367 states. [2022-04-08 15:10:55,249 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 367 to 338. [2022-04-08 15:10:55,249 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:10:55,250 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 15:10:55,250 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 15:10:55,250 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 15:10:55,255 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:10:55,255 INFO L93 Difference]: Finished difference Result 367 states and 469 transitions. [2022-04-08 15:10:55,255 INFO L276 IsEmpty]: Start isEmpty. Operand 367 states and 469 transitions. [2022-04-08 15:10:55,256 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:10:55,256 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:10:55,256 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 15:10:55,257 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 15:10:55,261 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:10:55,261 INFO L93 Difference]: Finished difference Result 367 states and 469 transitions. [2022-04-08 15:10:55,261 INFO L276 IsEmpty]: Start isEmpty. Operand 367 states and 469 transitions. [2022-04-08 15:10:55,262 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:10:55,262 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:10:55,262 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:10:55,262 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:10:55,264 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 15:10:55,270 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 338 states to 338 states and 432 transitions. [2022-04-08 15:10:55,270 INFO L78 Accepts]: Start accepts. Automaton has 338 states and 432 transitions. Word has length 79 [2022-04-08 15:10:55,270 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:10:55,270 INFO L478 AbstractCegarLoop]: Abstraction has 338 states and 432 transitions. [2022-04-08 15:10:55,270 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 15:10:55,270 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 338 states and 432 transitions. [2022-04-08 15:10:55,986 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 15:10:55,987 INFO L276 IsEmpty]: Start isEmpty. Operand 338 states and 432 transitions. [2022-04-08 15:10:55,987 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-08 15:10:55,987 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:10:55,987 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 15:10:55,987 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable17 [2022-04-08 15:10:55,987 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:10:55,988 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:10:55,988 INFO L85 PathProgramCache]: Analyzing trace with hash -2045108737, now seen corresponding path program 1 times [2022-04-08 15:10:55,988 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:10:55,988 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2047384539] [2022-04-08 15:10:55,988 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 15:10:55,988 INFO L85 PathProgramCache]: Analyzing trace with hash -2045108737, now seen corresponding path program 2 times [2022-04-08 15:10:55,988 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:10:55,988 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2021324723] [2022-04-08 15:10:55,988 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:10:55,988 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:10:56,043 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:56,139 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:10:56,141 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:56,146 INFO L290 TraceCheckUtils]: 0: Hoare triple {45285#(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; {45232#true} is VALID [2022-04-08 15:10:56,146 INFO L290 TraceCheckUtils]: 1: Hoare triple {45232#true} assume true; {45232#true} is VALID [2022-04-08 15:10:56,147 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {45232#true} {45232#true} #1270#return; {45232#true} is VALID [2022-04-08 15:10:56,169 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:10:56,174 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:56,184 INFO L290 TraceCheckUtils]: 0: Hoare triple {45286#(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; {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 15:10:56,186 INFO L290 TraceCheckUtils]: 1: Hoare triple {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} assume true; {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 15:10:56,186 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} {45232#true} #1216#return; {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 15:10:56,193 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:10:56,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:56,210 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:10:56,211 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:56,215 INFO L290 TraceCheckUtils]: 0: Hoare triple {45232#true} ~cond := #in~cond; {45232#true} is VALID [2022-04-08 15:10:56,215 INFO L290 TraceCheckUtils]: 1: Hoare triple {45232#true} assume !(0 == ~cond); {45232#true} is VALID [2022-04-08 15:10:56,215 INFO L290 TraceCheckUtils]: 2: Hoare triple {45232#true} assume true; {45232#true} is VALID [2022-04-08 15:10:56,215 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45232#true} {45232#true} #1254#return; {45232#true} is VALID [2022-04-08 15:10:56,215 INFO L290 TraceCheckUtils]: 0: Hoare triple {45287#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {45232#true} is VALID [2022-04-08 15:10:56,215 INFO L272 TraceCheckUtils]: 1: Hoare triple {45232#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {45232#true} is VALID [2022-04-08 15:10:56,215 INFO L290 TraceCheckUtils]: 2: Hoare triple {45232#true} ~cond := #in~cond; {45232#true} is VALID [2022-04-08 15:10:56,215 INFO L290 TraceCheckUtils]: 3: Hoare triple {45232#true} assume !(0 == ~cond); {45232#true} is VALID [2022-04-08 15:10:56,215 INFO L290 TraceCheckUtils]: 4: Hoare triple {45232#true} assume true; {45232#true} is VALID [2022-04-08 15:10:56,215 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {45232#true} {45232#true} #1254#return; {45232#true} is VALID [2022-04-08 15:10:56,215 INFO L290 TraceCheckUtils]: 6: Hoare triple {45232#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {45232#true} is VALID [2022-04-08 15:10:56,215 INFO L290 TraceCheckUtils]: 7: Hoare triple {45232#true} assume true; {45232#true} is VALID [2022-04-08 15:10:56,216 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {45232#true} {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} #1218#return; {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 15:10:56,225 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:10:56,229 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:56,235 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:10:56,236 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:56,241 INFO L290 TraceCheckUtils]: 0: Hoare triple {45292#(and (= |old(#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; {45232#true} is VALID [2022-04-08 15:10:56,242 INFO L290 TraceCheckUtils]: 1: Hoare triple {45232#true} assume !(0 == ~__BLAST_NONDET~5); {45232#true} is VALID [2022-04-08 15:10:56,242 INFO L290 TraceCheckUtils]: 2: Hoare triple {45232#true} #res := -1073741823; {45232#true} is VALID [2022-04-08 15:10:56,242 INFO L290 TraceCheckUtils]: 3: Hoare triple {45232#true} assume true; {45232#true} is VALID [2022-04-08 15:10:56,242 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {45232#true} {45232#true} #1176#return; {45232#true} is VALID [2022-04-08 15:10:56,242 INFO L290 TraceCheckUtils]: 0: Hoare triple {45292#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {45232#true} is VALID [2022-04-08 15:10:56,243 INFO L272 TraceCheckUtils]: 1: Hoare triple {45232#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {45292#(and (= |old(#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 15:10:56,243 INFO L290 TraceCheckUtils]: 2: Hoare triple {45292#(and (= |old(#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; {45232#true} is VALID [2022-04-08 15:10:56,243 INFO L290 TraceCheckUtils]: 3: Hoare triple {45232#true} assume !(0 == ~__BLAST_NONDET~5); {45232#true} is VALID [2022-04-08 15:10:56,248 INFO L290 TraceCheckUtils]: 4: Hoare triple {45232#true} #res := -1073741823; {45232#true} is VALID [2022-04-08 15:10:56,248 INFO L290 TraceCheckUtils]: 5: Hoare triple {45232#true} assume true; {45232#true} is VALID [2022-04-08 15:10:56,248 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {45232#true} {45232#true} #1176#return; {45232#true} is VALID [2022-04-08 15:10:56,250 INFO L290 TraceCheckUtils]: 7: Hoare triple {45232#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {45232#true} is VALID [2022-04-08 15:10:56,252 INFO L290 TraceCheckUtils]: 8: Hoare triple {45232#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {45232#true} is VALID [2022-04-08 15:10:56,254 INFO L290 TraceCheckUtils]: 9: Hoare triple {45232#true} assume true; {45232#true} is VALID [2022-04-08 15:10:56,254 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {45232#true} {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} #1220#return; {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 15:10:56,269 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 15:10:56,270 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:56,275 INFO L290 TraceCheckUtils]: 0: Hoare triple {45298#(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; {45232#true} is VALID [2022-04-08 15:10:56,275 INFO L290 TraceCheckUtils]: 1: Hoare triple {45232#true} assume true; {45232#true} is VALID [2022-04-08 15:10:56,275 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {45232#true} {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} #1222#return; {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 15:10:56,288 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-08 15:10:56,296 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:56,331 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-04-08 15:10:56,341 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:10:56,351 INFO L290 TraceCheckUtils]: 0: Hoare triple {45312#(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; {45232#true} is VALID [2022-04-08 15:10:56,351 INFO L290 TraceCheckUtils]: 1: Hoare triple {45232#true} assume !(0 != ~compRegistered~0); {45232#true} is VALID [2022-04-08 15:10:56,351 INFO L290 TraceCheckUtils]: 2: Hoare triple {45232#true} assume !(0 == ~__BLAST_NONDET~16); {45232#true} is VALID [2022-04-08 15:10:56,351 INFO L290 TraceCheckUtils]: 3: Hoare triple {45232#true} assume 1 == ~__BLAST_NONDET~16; {45232#true} is VALID [2022-04-08 15:10:56,351 INFO L290 TraceCheckUtils]: 4: Hoare triple {45232#true} ~returnVal~0 := -1073741823; {45232#true} is VALID [2022-04-08 15:10:56,351 INFO L290 TraceCheckUtils]: 5: Hoare triple {45232#true} assume !(~s~0 == ~NP~0); {45232#true} is VALID [2022-04-08 15:10:56,354 INFO L290 TraceCheckUtils]: 6: Hoare triple {45232#true} assume !(~s~0 == ~MPR1~0); {45232#true} is VALID [2022-04-08 15:10:56,355 INFO L290 TraceCheckUtils]: 7: Hoare triple {45232#true} assume ~s~0 == ~SKIP1~0;~s~0 := ~SKIP2~0;~lowerDriverReturn~0 := (if ~returnVal~0 % 4294967296 <= 2147483647 then ~returnVal~0 % 4294967296 else ~returnVal~0 % 4294967296 - 4294967296); {45311#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-08 15:10:56,355 INFO L290 TraceCheckUtils]: 8: Hoare triple {45311#(<= ~SKIP2~0 ~s~0)} #res := ~returnVal~0; {45311#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-08 15:10:56,358 INFO L290 TraceCheckUtils]: 9: Hoare triple {45311#(<= ~SKIP2~0 ~s~0)} assume true; {45311#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-08 15:10:56,359 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {45311#(<= ~SKIP2~0 ~s~0)} {45232#true} #1268#return; {45311#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-08 15:10:56,359 INFO L290 TraceCheckUtils]: 0: Hoare triple {45299#(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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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, 12 + ~irpStack~4.offset, 4);~powerType~0 := #t~mem125;havoc #t~mem125;call #t~mem126 := read~int(~irpStack~4.base, 16 + ~irpStack~4.offset, 4);call #t~mem127 := read~int(~irpStack~4.base, 16 + ~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); {45232#true} is VALID [2022-04-08 15:10:56,359 INFO L290 TraceCheckUtils]: 1: Hoare triple {45232#true} assume 2 == #t~mem128 % 256;havoc #t~mem128; {45232#true} is VALID [2022-04-08 15:10:56,359 INFO L290 TraceCheckUtils]: 2: Hoare triple {45232#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, 96 + ~devExt~4.offset, 4);havoc #t~mem132; {45232#true} is VALID [2022-04-08 15:10:56,359 INFO L290 TraceCheckUtils]: 3: Hoare triple {45232#true} assume ~s~0 == ~NP~0;~s~0 := ~SKIP1~0; {45232#true} is VALID [2022-04-08 15:10:56,359 INFO L290 TraceCheckUtils]: 4: Hoare triple {45232#true} call #t~mem133 := read~int(~Irp.base, 63 + ~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, 63 + ~Irp.offset, 1);havoc #t~mem133;call #t~mem134.base, #t~mem134.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);call write~$Pointer$(#t~mem134.base, 68 + #t~mem134.offset, ~Irp.base, 180 + ~Irp.offset, 8);havoc #t~mem134.base, #t~mem134.offset;call #t~mem135.base, #t~mem135.offset := read~$Pointer$(~devExt~4.base, 16 + ~devExt~4.offset, 8); {45232#true} is VALID [2022-04-08 15:10:56,360 INFO L272 TraceCheckUtils]: 5: Hoare triple {45232#true} call #t~ret136 := PoCallDriver(#t~mem135.base, #t~mem135.offset, ~Irp.base, ~Irp.offset); {45312#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:10:56,360 INFO L290 TraceCheckUtils]: 6: Hoare triple {45312#(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; {45232#true} is VALID [2022-04-08 15:10:56,360 INFO L290 TraceCheckUtils]: 7: Hoare triple {45232#true} assume !(0 != ~compRegistered~0); {45232#true} is VALID [2022-04-08 15:10:56,360 INFO L290 TraceCheckUtils]: 8: Hoare triple {45232#true} assume !(0 == ~__BLAST_NONDET~16); {45232#true} is VALID [2022-04-08 15:10:56,360 INFO L290 TraceCheckUtils]: 9: Hoare triple {45232#true} assume 1 == ~__BLAST_NONDET~16; {45232#true} is VALID [2022-04-08 15:10:56,360 INFO L290 TraceCheckUtils]: 10: Hoare triple {45232#true} ~returnVal~0 := -1073741823; {45232#true} is VALID [2022-04-08 15:10:56,360 INFO L290 TraceCheckUtils]: 11: Hoare triple {45232#true} assume !(~s~0 == ~NP~0); {45232#true} is VALID [2022-04-08 15:10:56,360 INFO L290 TraceCheckUtils]: 12: Hoare triple {45232#true} assume !(~s~0 == ~MPR1~0); {45232#true} is VALID [2022-04-08 15:10:56,361 INFO L290 TraceCheckUtils]: 13: Hoare triple {45232#true} assume ~s~0 == ~SKIP1~0;~s~0 := ~SKIP2~0;~lowerDriverReturn~0 := (if ~returnVal~0 % 4294967296 <= 2147483647 then ~returnVal~0 % 4294967296 else ~returnVal~0 % 4294967296 - 4294967296); {45311#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-08 15:10:56,361 INFO L290 TraceCheckUtils]: 14: Hoare triple {45311#(<= ~SKIP2~0 ~s~0)} #res := ~returnVal~0; {45311#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-08 15:10:56,361 INFO L290 TraceCheckUtils]: 15: Hoare triple {45311#(<= ~SKIP2~0 ~s~0)} assume true; {45311#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-08 15:10:56,362 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {45311#(<= ~SKIP2~0 ~s~0)} {45232#true} #1268#return; {45311#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-08 15:10:56,362 INFO L290 TraceCheckUtils]: 17: Hoare triple {45311#(<= ~SKIP2~0 ~s~0)} assume -9223372036854775808 <= #t~ret136 && #t~ret136 <= 9223372036854775807;~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; {45311#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-08 15:10:56,362 INFO L290 TraceCheckUtils]: 18: Hoare triple {45311#(<= ~SKIP2~0 ~s~0)} assume true; {45311#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-08 15:10:56,363 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {45311#(<= ~SKIP2~0 ~s~0)} {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} #1232#return; {45284#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} is VALID [2022-04-08 15:10:56,364 INFO L272 TraceCheckUtils]: 0: Hoare triple {45232#true} call ULTIMATE.init(); {45285#(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 15:10:56,364 INFO L290 TraceCheckUtils]: 1: Hoare triple {45285#(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; {45232#true} is VALID [2022-04-08 15:10:56,364 INFO L290 TraceCheckUtils]: 2: Hoare triple {45232#true} assume true; {45232#true} is VALID [2022-04-08 15:10:56,364 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {45232#true} {45232#true} #1270#return; {45232#true} is VALID [2022-04-08 15:10:56,364 INFO L272 TraceCheckUtils]: 4: Hoare triple {45232#true} call #t~ret213 := main(); {45232#true} is VALID [2022-04-08 15:10:56,364 INFO L290 TraceCheckUtils]: 5: Hoare triple {45232#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {45232#true} is VALID [2022-04-08 15:10:56,365 INFO L272 TraceCheckUtils]: 6: Hoare triple {45232#true} call _BLAST_init(); {45286#(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 15:10:56,365 INFO L290 TraceCheckUtils]: 7: Hoare triple {45286#(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; {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 15:10:56,366 INFO L290 TraceCheckUtils]: 8: Hoare triple {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} assume true; {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 15:10:56,366 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} {45232#true} #1216#return; {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 15:10:56,367 INFO L272 TraceCheckUtils]: 10: Hoare triple {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {45287#(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 15:10:56,367 INFO L290 TraceCheckUtils]: 11: Hoare triple {45287#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {45232#true} is VALID [2022-04-08 15:10:56,367 INFO L272 TraceCheckUtils]: 12: Hoare triple {45232#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {45232#true} is VALID [2022-04-08 15:10:56,367 INFO L290 TraceCheckUtils]: 13: Hoare triple {45232#true} ~cond := #in~cond; {45232#true} is VALID [2022-04-08 15:10:56,367 INFO L290 TraceCheckUtils]: 14: Hoare triple {45232#true} assume !(0 == ~cond); {45232#true} is VALID [2022-04-08 15:10:56,367 INFO L290 TraceCheckUtils]: 15: Hoare triple {45232#true} assume true; {45232#true} is VALID [2022-04-08 15:10:56,367 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {45232#true} {45232#true} #1254#return; {45232#true} is VALID [2022-04-08 15:10:56,367 INFO L290 TraceCheckUtils]: 17: Hoare triple {45232#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {45232#true} is VALID [2022-04-08 15:10:56,367 INFO L290 TraceCheckUtils]: 18: Hoare triple {45232#true} assume true; {45232#true} is VALID [2022-04-08 15:10:56,368 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {45232#true} {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} #1218#return; {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 15:10:56,368 INFO L290 TraceCheckUtils]: 20: Hoare triple {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 15:10:56,368 INFO L290 TraceCheckUtils]: 21: Hoare triple {45240#(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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 15:10:56,369 INFO L290 TraceCheckUtils]: 22: Hoare triple {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 15:10:56,370 INFO L272 TraceCheckUtils]: 23: Hoare triple {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {45292#(and (= |old(#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 15:10:56,370 INFO L290 TraceCheckUtils]: 24: Hoare triple {45292#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {45232#true} is VALID [2022-04-08 15:10:56,370 INFO L272 TraceCheckUtils]: 25: Hoare triple {45232#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {45292#(and (= |old(#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 15:10:56,370 INFO L290 TraceCheckUtils]: 26: Hoare triple {45292#(and (= |old(#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; {45232#true} is VALID [2022-04-08 15:10:56,371 INFO L290 TraceCheckUtils]: 27: Hoare triple {45232#true} assume !(0 == ~__BLAST_NONDET~5); {45232#true} is VALID [2022-04-08 15:10:56,371 INFO L290 TraceCheckUtils]: 28: Hoare triple {45232#true} #res := -1073741823; {45232#true} is VALID [2022-04-08 15:10:56,371 INFO L290 TraceCheckUtils]: 29: Hoare triple {45232#true} assume true; {45232#true} is VALID [2022-04-08 15:10:56,371 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {45232#true} {45232#true} #1176#return; {45232#true} is VALID [2022-04-08 15:10:56,371 INFO L290 TraceCheckUtils]: 31: Hoare triple {45232#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {45232#true} is VALID [2022-04-08 15:10:56,371 INFO L290 TraceCheckUtils]: 32: Hoare triple {45232#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {45232#true} is VALID [2022-04-08 15:10:56,371 INFO L290 TraceCheckUtils]: 33: Hoare triple {45232#true} assume true; {45232#true} is VALID [2022-04-08 15:10:56,371 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {45232#true} {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} #1220#return; {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 15:10:56,372 INFO L290 TraceCheckUtils]: 35: Hoare triple {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 15:10:56,372 INFO L272 TraceCheckUtils]: 36: Hoare triple {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} call stub_driver_init(); {45298#(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 15:10:56,372 INFO L290 TraceCheckUtils]: 37: Hoare triple {45298#(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; {45232#true} is VALID [2022-04-08 15:10:56,372 INFO L290 TraceCheckUtils]: 38: Hoare triple {45232#true} assume true; {45232#true} is VALID [2022-04-08 15:10:56,373 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {45232#true} {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} #1222#return; {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 15:10:56,373 INFO L290 TraceCheckUtils]: 40: Hoare triple {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} assume !!(~status~5 >= 0); {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 15:10:56,373 INFO L290 TraceCheckUtils]: 41: Hoare triple {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} assume !(0 == ~__BLAST_NONDET~0); {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 15:10:56,373 INFO L290 TraceCheckUtils]: 42: Hoare triple {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} assume !(1 == ~__BLAST_NONDET~0); {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 15:10:56,374 INFO L290 TraceCheckUtils]: 43: Hoare triple {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} assume !(2 == ~__BLAST_NONDET~0); {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 15:10:56,374 INFO L290 TraceCheckUtils]: 44: Hoare triple {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} assume !(3 == ~__BLAST_NONDET~0); {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 15:10:56,374 INFO L290 TraceCheckUtils]: 45: Hoare triple {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} assume 4 == ~__BLAST_NONDET~0; {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} is VALID [2022-04-08 15:10:56,375 INFO L272 TraceCheckUtils]: 46: Hoare triple {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} call #t~ret175 := KbFilter_Power(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {45299#(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 15:10:56,375 INFO L290 TraceCheckUtils]: 47: Hoare triple {45299#(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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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, 12 + ~irpStack~4.offset, 4);~powerType~0 := #t~mem125;havoc #t~mem125;call #t~mem126 := read~int(~irpStack~4.base, 16 + ~irpStack~4.offset, 4);call #t~mem127 := read~int(~irpStack~4.base, 16 + ~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); {45232#true} is VALID [2022-04-08 15:10:56,375 INFO L290 TraceCheckUtils]: 48: Hoare triple {45232#true} assume 2 == #t~mem128 % 256;havoc #t~mem128; {45232#true} is VALID [2022-04-08 15:10:56,375 INFO L290 TraceCheckUtils]: 49: Hoare triple {45232#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, 96 + ~devExt~4.offset, 4);havoc #t~mem132; {45232#true} is VALID [2022-04-08 15:10:56,375 INFO L290 TraceCheckUtils]: 50: Hoare triple {45232#true} assume ~s~0 == ~NP~0;~s~0 := ~SKIP1~0; {45232#true} is VALID [2022-04-08 15:10:56,375 INFO L290 TraceCheckUtils]: 51: Hoare triple {45232#true} call #t~mem133 := read~int(~Irp.base, 63 + ~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, 63 + ~Irp.offset, 1);havoc #t~mem133;call #t~mem134.base, #t~mem134.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);call write~$Pointer$(#t~mem134.base, 68 + #t~mem134.offset, ~Irp.base, 180 + ~Irp.offset, 8);havoc #t~mem134.base, #t~mem134.offset;call #t~mem135.base, #t~mem135.offset := read~$Pointer$(~devExt~4.base, 16 + ~devExt~4.offset, 8); {45232#true} is VALID [2022-04-08 15:10:56,376 INFO L272 TraceCheckUtils]: 52: Hoare triple {45232#true} call #t~ret136 := PoCallDriver(#t~mem135.base, #t~mem135.offset, ~Irp.base, ~Irp.offset); {45312#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:10:56,376 INFO L290 TraceCheckUtils]: 53: Hoare triple {45312#(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; {45232#true} is VALID [2022-04-08 15:10:56,376 INFO L290 TraceCheckUtils]: 54: Hoare triple {45232#true} assume !(0 != ~compRegistered~0); {45232#true} is VALID [2022-04-08 15:10:56,376 INFO L290 TraceCheckUtils]: 55: Hoare triple {45232#true} assume !(0 == ~__BLAST_NONDET~16); {45232#true} is VALID [2022-04-08 15:10:56,376 INFO L290 TraceCheckUtils]: 56: Hoare triple {45232#true} assume 1 == ~__BLAST_NONDET~16; {45232#true} is VALID [2022-04-08 15:10:56,376 INFO L290 TraceCheckUtils]: 57: Hoare triple {45232#true} ~returnVal~0 := -1073741823; {45232#true} is VALID [2022-04-08 15:10:56,376 INFO L290 TraceCheckUtils]: 58: Hoare triple {45232#true} assume !(~s~0 == ~NP~0); {45232#true} is VALID [2022-04-08 15:10:56,376 INFO L290 TraceCheckUtils]: 59: Hoare triple {45232#true} assume !(~s~0 == ~MPR1~0); {45232#true} is VALID [2022-04-08 15:10:56,377 INFO L290 TraceCheckUtils]: 60: Hoare triple {45232#true} assume ~s~0 == ~SKIP1~0;~s~0 := ~SKIP2~0;~lowerDriverReturn~0 := (if ~returnVal~0 % 4294967296 <= 2147483647 then ~returnVal~0 % 4294967296 else ~returnVal~0 % 4294967296 - 4294967296); {45311#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-08 15:10:56,377 INFO L290 TraceCheckUtils]: 61: Hoare triple {45311#(<= ~SKIP2~0 ~s~0)} #res := ~returnVal~0; {45311#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-08 15:10:56,377 INFO L290 TraceCheckUtils]: 62: Hoare triple {45311#(<= ~SKIP2~0 ~s~0)} assume true; {45311#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-08 15:10:56,378 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {45311#(<= ~SKIP2~0 ~s~0)} {45232#true} #1268#return; {45311#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-08 15:10:56,378 INFO L290 TraceCheckUtils]: 64: Hoare triple {45311#(<= ~SKIP2~0 ~s~0)} assume -9223372036854775808 <= #t~ret136 && #t~ret136 <= 9223372036854775807;~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; {45311#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-08 15:10:56,379 INFO L290 TraceCheckUtils]: 65: Hoare triple {45311#(<= ~SKIP2~0 ~s~0)} assume true; {45311#(<= ~SKIP2~0 ~s~0)} is VALID [2022-04-08 15:10:56,380 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {45311#(<= ~SKIP2~0 ~s~0)} {45240#(and (= 2 ~DC~0) (<= 4 ~SKIP2~0))} #1232#return; {45284#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} is VALID [2022-04-08 15:10:56,380 INFO L290 TraceCheckUtils]: 67: Hoare triple {45284#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} assume -9223372036854775808 <= #t~ret175 && #t~ret175 <= 9223372036854775807;~status~5 := #t~ret175;havoc #t~ret175; {45284#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} is VALID [2022-04-08 15:10:56,380 INFO L290 TraceCheckUtils]: 68: Hoare triple {45284#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} assume 0 != ~we_should_unload~0; {45284#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} is VALID [2022-04-08 15:10:56,381 INFO L290 TraceCheckUtils]: 69: Hoare triple {45284#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} assume !(1 == ~pended~0); {45284#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} is VALID [2022-04-08 15:10:56,381 INFO L290 TraceCheckUtils]: 70: Hoare triple {45284#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} assume !(1 == ~pended~0); {45284#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} is VALID [2022-04-08 15:10:56,381 INFO L290 TraceCheckUtils]: 71: Hoare triple {45284#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} assume !(~s~0 == ~UNLOADED~0); {45284#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} is VALID [2022-04-08 15:10:56,381 INFO L290 TraceCheckUtils]: 72: Hoare triple {45284#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} assume !(-1 == ~status~5); {45284#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} is VALID [2022-04-08 15:10:56,382 INFO L290 TraceCheckUtils]: 73: Hoare triple {45284#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} assume !(~s~0 != ~SKIP2~0); {45284#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} is VALID [2022-04-08 15:10:56,382 INFO L290 TraceCheckUtils]: 74: Hoare triple {45284#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} assume !(1 == ~pended~0); {45284#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} is VALID [2022-04-08 15:10:56,382 INFO L290 TraceCheckUtils]: 75: Hoare triple {45284#(and (= 2 ~DC~0) (not (= 2 ~s~0)))} assume ~s~0 == ~DC~0; {45233#false} is VALID [2022-04-08 15:10:56,382 INFO L290 TraceCheckUtils]: 76: Hoare triple {45233#false} assume 259 == ~status~5; {45233#false} is VALID [2022-04-08 15:10:56,382 INFO L272 TraceCheckUtils]: 77: Hoare triple {45233#false} call errorFn(); {45233#false} is VALID [2022-04-08 15:10:56,382 INFO L290 TraceCheckUtils]: 78: Hoare triple {45233#false} assume !false; {45233#false} is VALID [2022-04-08 15:10:56,383 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 15:10:56,383 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:10:56,383 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2021324723] [2022-04-08 15:10:56,383 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2021324723] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:10:56,383 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:10:56,383 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 15:10:56,383 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:10:56,383 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2047384539] [2022-04-08 15:10:56,383 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2047384539] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:10:56,383 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:10:56,383 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 15:10:56,383 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2127182603] [2022-04-08 15:10:56,384 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:10:56,384 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 15:10:56,385 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:10:56,385 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 15:10:56,442 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 15:10:56,442 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 15:10:56,442 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:10:56,442 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 15:10:56,442 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=101, Unknown=0, NotChecked=0, Total=132 [2022-04-08 15:10:56,442 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 15:10:58,613 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 15:11:07,438 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.16s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 15:11:12,238 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:11:12,238 INFO L93 Difference]: Finished difference Result 429 states and 546 transitions. [2022-04-08 15:11:12,238 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-08 15:11:12,238 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 15:11:12,238 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:11:12,239 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 15:11:12,241 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 471 transitions. [2022-04-08 15:11:12,241 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 15:11:12,250 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 471 transitions. [2022-04-08 15:11:12,251 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 471 transitions. [2022-04-08 15:11:12,786 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 15:11:12,793 INFO L225 Difference]: With dead ends: 429 [2022-04-08 15:11:12,793 INFO L226 Difference]: Without dead ends: 376 [2022-04-08 15:11:12,793 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 46 GetRequests, 18 SyntacticMatches, 1 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 148 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=210, Invalid=602, Unknown=0, NotChecked=0, Total=812 [2022-04-08 15:11:12,794 INFO L913 BasicCegarLoop]: 279 mSDtfsCounter, 980 mSDsluCounter, 302 mSDsCounter, 0 mSdLazyCounter, 1347 mSolverCounterSat, 309 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 7.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 994 SdHoareTripleChecker+Valid, 581 SdHoareTripleChecker+Invalid, 1657 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 309 IncrementalHoareTripleChecker+Valid, 1347 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 7.2s IncrementalHoareTripleChecker+Time [2022-04-08 15:11:12,794 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [994 Valid, 581 Invalid, 1657 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [309 Valid, 1347 Invalid, 1 Unknown, 0 Unchecked, 7.2s Time] [2022-04-08 15:11:12,794 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 376 states. [2022-04-08 15:11:13,240 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 376 to 329. [2022-04-08 15:11:13,241 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:11:13,241 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 15:11:13,241 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 15:11:13,242 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 15:11:13,247 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:11:13,247 INFO L93 Difference]: Finished difference Result 376 states and 482 transitions. [2022-04-08 15:11:13,247 INFO L276 IsEmpty]: Start isEmpty. Operand 376 states and 482 transitions. [2022-04-08 15:11:13,247 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:11:13,247 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:11:13,248 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 15:11:13,248 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 15:11:13,253 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:11:13,254 INFO L93 Difference]: Finished difference Result 376 states and 482 transitions. [2022-04-08 15:11:13,254 INFO L276 IsEmpty]: Start isEmpty. Operand 376 states and 482 transitions. [2022-04-08 15:11:13,254 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:11:13,254 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:11:13,254 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:11:13,254 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:11:13,255 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 15:11:13,260 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 329 states to 329 states and 418 transitions. [2022-04-08 15:11:13,260 INFO L78 Accepts]: Start accepts. Automaton has 329 states and 418 transitions. Word has length 79 [2022-04-08 15:11:13,260 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:11:13,260 INFO L478 AbstractCegarLoop]: Abstraction has 329 states and 418 transitions. [2022-04-08 15:11:13,260 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 15:11:13,260 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 329 states and 418 transitions. [2022-04-08 15:11:14,016 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 15:11:14,016 INFO L276 IsEmpty]: Start isEmpty. Operand 329 states and 418 transitions. [2022-04-08 15:11:14,017 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 85 [2022-04-08 15:11:14,017 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:11:14,017 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 15:11:14,017 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18 [2022-04-08 15:11:14,017 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:11:14,017 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:11:14,017 INFO L85 PathProgramCache]: Analyzing trace with hash -1773831806, now seen corresponding path program 1 times [2022-04-08 15:11:14,017 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:11:14,018 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [861954403] [2022-04-08 15:11:14,018 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 15:11:14,018 INFO L85 PathProgramCache]: Analyzing trace with hash -1773831806, now seen corresponding path program 2 times [2022-04-08 15:11:14,018 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:11:14,018 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [137954775] [2022-04-08 15:11:14,018 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:11:14,018 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:11:14,093 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:14,157 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:11:14,160 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:14,165 INFO L290 TraceCheckUtils]: 0: Hoare triple {47670#(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; {47622#true} is VALID [2022-04-08 15:11:14,165 INFO L290 TraceCheckUtils]: 1: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-08 15:11:14,165 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {47622#true} {47622#true} #1270#return; {47622#true} is VALID [2022-04-08 15:11:14,187 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:11:14,188 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:14,192 INFO L290 TraceCheckUtils]: 0: Hoare triple {47671#(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; {47622#true} is VALID [2022-04-08 15:11:14,193 INFO L290 TraceCheckUtils]: 1: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-08 15:11:14,193 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {47622#true} {47622#true} #1216#return; {47622#true} is VALID [2022-04-08 15:11:14,199 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:11:14,204 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:14,214 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:11:14,215 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:14,219 INFO L290 TraceCheckUtils]: 0: Hoare triple {47622#true} ~cond := #in~cond; {47622#true} is VALID [2022-04-08 15:11:14,219 INFO L290 TraceCheckUtils]: 1: Hoare triple {47622#true} assume !(0 == ~cond); {47622#true} is VALID [2022-04-08 15:11:14,219 INFO L290 TraceCheckUtils]: 2: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-08 15:11:14,219 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {47622#true} {47622#true} #1254#return; {47622#true} is VALID [2022-04-08 15:11:14,220 INFO L290 TraceCheckUtils]: 0: Hoare triple {47672#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {47622#true} is VALID [2022-04-08 15:11:14,220 INFO L272 TraceCheckUtils]: 1: Hoare triple {47622#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {47622#true} is VALID [2022-04-08 15:11:14,220 INFO L290 TraceCheckUtils]: 2: Hoare triple {47622#true} ~cond := #in~cond; {47622#true} is VALID [2022-04-08 15:11:14,220 INFO L290 TraceCheckUtils]: 3: Hoare triple {47622#true} assume !(0 == ~cond); {47622#true} is VALID [2022-04-08 15:11:14,220 INFO L290 TraceCheckUtils]: 4: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-08 15:11:14,220 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {47622#true} {47622#true} #1254#return; {47622#true} is VALID [2022-04-08 15:11:14,220 INFO L290 TraceCheckUtils]: 6: Hoare triple {47622#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {47622#true} is VALID [2022-04-08 15:11:14,220 INFO L290 TraceCheckUtils]: 7: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-08 15:11:14,220 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {47622#true} {47622#true} #1218#return; {47622#true} is VALID [2022-04-08 15:11:14,228 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:11:14,231 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:14,237 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:11:14,239 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:14,243 INFO L290 TraceCheckUtils]: 0: Hoare triple {47677#(and (= |old(#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; {47622#true} is VALID [2022-04-08 15:11:14,243 INFO L290 TraceCheckUtils]: 1: Hoare triple {47622#true} assume !(0 == ~__BLAST_NONDET~5); {47622#true} is VALID [2022-04-08 15:11:14,243 INFO L290 TraceCheckUtils]: 2: Hoare triple {47622#true} #res := -1073741823; {47622#true} is VALID [2022-04-08 15:11:14,244 INFO L290 TraceCheckUtils]: 3: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-08 15:11:14,244 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {47622#true} {47622#true} #1176#return; {47622#true} is VALID [2022-04-08 15:11:14,244 INFO L290 TraceCheckUtils]: 0: Hoare triple {47677#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {47622#true} is VALID [2022-04-08 15:11:14,245 INFO L272 TraceCheckUtils]: 1: Hoare triple {47622#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {47677#(and (= |old(#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 15:11:14,245 INFO L290 TraceCheckUtils]: 2: Hoare triple {47677#(and (= |old(#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; {47622#true} is VALID [2022-04-08 15:11:14,245 INFO L290 TraceCheckUtils]: 3: Hoare triple {47622#true} assume !(0 == ~__BLAST_NONDET~5); {47622#true} is VALID [2022-04-08 15:11:14,245 INFO L290 TraceCheckUtils]: 4: Hoare triple {47622#true} #res := -1073741823; {47622#true} is VALID [2022-04-08 15:11:14,245 INFO L290 TraceCheckUtils]: 5: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-08 15:11:14,245 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {47622#true} {47622#true} #1176#return; {47622#true} is VALID [2022-04-08 15:11:14,245 INFO L290 TraceCheckUtils]: 7: Hoare triple {47622#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {47622#true} is VALID [2022-04-08 15:11:14,245 INFO L290 TraceCheckUtils]: 8: Hoare triple {47622#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {47622#true} is VALID [2022-04-08 15:11:14,245 INFO L290 TraceCheckUtils]: 9: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-08 15:11:14,245 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {47622#true} {47622#true} #1220#return; {47622#true} is VALID [2022-04-08 15:11:14,256 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 15:11:14,257 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:14,262 INFO L290 TraceCheckUtils]: 0: Hoare triple {47683#(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; {47622#true} is VALID [2022-04-08 15:11:14,262 INFO L290 TraceCheckUtils]: 1: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-08 15:11:14,262 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {47622#true} {47622#true} #1222#return; {47622#true} is VALID [2022-04-08 15:11:14,262 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 49 [2022-04-08 15:11:14,264 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:14,268 INFO L290 TraceCheckUtils]: 0: Hoare triple {47672#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {47622#true} is VALID [2022-04-08 15:11:14,269 INFO L290 TraceCheckUtils]: 1: Hoare triple {47622#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {47622#true} is VALID [2022-04-08 15:11:14,269 INFO L290 TraceCheckUtils]: 2: Hoare triple {47622#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {47622#true} is VALID [2022-04-08 15:11:14,269 INFO L290 TraceCheckUtils]: 3: Hoare triple {47622#true} assume #res.base == dest.base && #res.offset == dest.offset; {47622#true} is VALID [2022-04-08 15:11:14,269 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {47622#true} {47622#true} #1186#return; {47622#true} is VALID [2022-04-08 15:11:14,274 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 62 [2022-04-08 15:11:14,276 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:14,280 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:11:14,281 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:14,285 INFO L290 TraceCheckUtils]: 0: Hoare triple {47684#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {47622#true} is VALID [2022-04-08 15:11:14,286 INFO L290 TraceCheckUtils]: 1: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-08 15:11:14,286 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {47622#true} {47622#true} #1174#return; {47622#true} is VALID [2022-04-08 15:11:14,286 INFO L290 TraceCheckUtils]: 0: Hoare triple {47684#(= ~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; {47622#true} is VALID [2022-04-08 15:11:14,286 INFO L272 TraceCheckUtils]: 1: Hoare triple {47622#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {47684#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:11:14,286 INFO L290 TraceCheckUtils]: 2: Hoare triple {47684#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {47622#true} is VALID [2022-04-08 15:11:14,286 INFO L290 TraceCheckUtils]: 3: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-08 15:11:14,286 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {47622#true} {47622#true} #1174#return; {47622#true} is VALID [2022-04-08 15:11:14,287 INFO L290 TraceCheckUtils]: 5: Hoare triple {47622#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {47622#true} is VALID [2022-04-08 15:11:14,287 INFO L290 TraceCheckUtils]: 6: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-08 15:11:14,287 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {47622#true} {47622#true} #1210#return; {47622#true} is VALID [2022-04-08 15:11:14,293 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 73 [2022-04-08 15:11:14,294 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:14,299 INFO L290 TraceCheckUtils]: 0: Hoare triple {47688#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {47669#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} is VALID [2022-04-08 15:11:14,300 INFO L290 TraceCheckUtils]: 1: Hoare triple {47669#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} assume true; {47669#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} is VALID [2022-04-08 15:11:14,300 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {47669#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} {47622#true} #1212#return; {47669#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} is VALID [2022-04-08 15:11:14,301 INFO L272 TraceCheckUtils]: 0: Hoare triple {47622#true} call ULTIMATE.init(); {47670#(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 15:11:14,301 INFO L290 TraceCheckUtils]: 1: Hoare triple {47670#(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; {47622#true} is VALID [2022-04-08 15:11:14,301 INFO L290 TraceCheckUtils]: 2: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-08 15:11:14,301 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {47622#true} {47622#true} #1270#return; {47622#true} is VALID [2022-04-08 15:11:14,301 INFO L272 TraceCheckUtils]: 4: Hoare triple {47622#true} call #t~ret213 := main(); {47622#true} is VALID [2022-04-08 15:11:14,301 INFO L290 TraceCheckUtils]: 5: Hoare triple {47622#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {47622#true} is VALID [2022-04-08 15:11:14,302 INFO L272 TraceCheckUtils]: 6: Hoare triple {47622#true} call _BLAST_init(); {47671#(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 15:11:14,302 INFO L290 TraceCheckUtils]: 7: Hoare triple {47671#(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; {47622#true} is VALID [2022-04-08 15:11:14,302 INFO L290 TraceCheckUtils]: 8: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-08 15:11:14,302 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {47622#true} {47622#true} #1216#return; {47622#true} is VALID [2022-04-08 15:11:14,302 INFO L272 TraceCheckUtils]: 10: Hoare triple {47622#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {47672#(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 15:11:14,303 INFO L290 TraceCheckUtils]: 11: Hoare triple {47672#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {47622#true} is VALID [2022-04-08 15:11:14,303 INFO L272 TraceCheckUtils]: 12: Hoare triple {47622#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {47622#true} is VALID [2022-04-08 15:11:14,303 INFO L290 TraceCheckUtils]: 13: Hoare triple {47622#true} ~cond := #in~cond; {47622#true} is VALID [2022-04-08 15:11:14,303 INFO L290 TraceCheckUtils]: 14: Hoare triple {47622#true} assume !(0 == ~cond); {47622#true} is VALID [2022-04-08 15:11:14,303 INFO L290 TraceCheckUtils]: 15: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-08 15:11:14,303 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {47622#true} {47622#true} #1254#return; {47622#true} is VALID [2022-04-08 15:11:14,303 INFO L290 TraceCheckUtils]: 17: Hoare triple {47622#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {47622#true} is VALID [2022-04-08 15:11:14,303 INFO L290 TraceCheckUtils]: 18: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-08 15:11:14,303 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {47622#true} {47622#true} #1218#return; {47622#true} is VALID [2022-04-08 15:11:14,303 INFO L290 TraceCheckUtils]: 20: Hoare triple {47622#true} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {47622#true} is VALID [2022-04-08 15:11:14,303 INFO L290 TraceCheckUtils]: 21: Hoare triple {47622#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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {47622#true} is VALID [2022-04-08 15:11:14,303 INFO L290 TraceCheckUtils]: 22: Hoare triple {47622#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {47622#true} is VALID [2022-04-08 15:11:14,304 INFO L272 TraceCheckUtils]: 23: Hoare triple {47622#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {47677#(and (= |old(#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 15:11:14,304 INFO L290 TraceCheckUtils]: 24: Hoare triple {47677#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {47622#true} is VALID [2022-04-08 15:11:14,305 INFO L272 TraceCheckUtils]: 25: Hoare triple {47622#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {47677#(and (= |old(#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 15:11:14,305 INFO L290 TraceCheckUtils]: 26: Hoare triple {47677#(and (= |old(#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; {47622#true} is VALID [2022-04-08 15:11:14,305 INFO L290 TraceCheckUtils]: 27: Hoare triple {47622#true} assume !(0 == ~__BLAST_NONDET~5); {47622#true} is VALID [2022-04-08 15:11:14,305 INFO L290 TraceCheckUtils]: 28: Hoare triple {47622#true} #res := -1073741823; {47622#true} is VALID [2022-04-08 15:11:14,305 INFO L290 TraceCheckUtils]: 29: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-08 15:11:14,305 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {47622#true} {47622#true} #1176#return; {47622#true} is VALID [2022-04-08 15:11:14,305 INFO L290 TraceCheckUtils]: 31: Hoare triple {47622#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {47622#true} is VALID [2022-04-08 15:11:14,305 INFO L290 TraceCheckUtils]: 32: Hoare triple {47622#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {47622#true} is VALID [2022-04-08 15:11:14,305 INFO L290 TraceCheckUtils]: 33: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-08 15:11:14,305 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {47622#true} {47622#true} #1220#return; {47622#true} is VALID [2022-04-08 15:11:14,305 INFO L290 TraceCheckUtils]: 35: Hoare triple {47622#true} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {47622#true} is VALID [2022-04-08 15:11:14,306 INFO L272 TraceCheckUtils]: 36: Hoare triple {47622#true} call stub_driver_init(); {47683#(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 15:11:14,306 INFO L290 TraceCheckUtils]: 37: Hoare triple {47683#(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; {47622#true} is VALID [2022-04-08 15:11:14,306 INFO L290 TraceCheckUtils]: 38: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-08 15:11:14,306 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {47622#true} {47622#true} #1222#return; {47622#true} is VALID [2022-04-08 15:11:14,306 INFO L290 TraceCheckUtils]: 40: Hoare triple {47622#true} assume !!(~status~5 >= 0); {47622#true} is VALID [2022-04-08 15:11:14,306 INFO L290 TraceCheckUtils]: 41: Hoare triple {47622#true} assume !(0 == ~__BLAST_NONDET~0); {47622#true} is VALID [2022-04-08 15:11:14,306 INFO L290 TraceCheckUtils]: 42: Hoare triple {47622#true} assume !(1 == ~__BLAST_NONDET~0); {47622#true} is VALID [2022-04-08 15:11:14,306 INFO L290 TraceCheckUtils]: 43: Hoare triple {47622#true} assume !(2 == ~__BLAST_NONDET~0); {47622#true} is VALID [2022-04-08 15:11:14,306 INFO L290 TraceCheckUtils]: 44: Hoare triple {47622#true} assume 3 == ~__BLAST_NONDET~0; {47622#true} is VALID [2022-04-08 15:11:14,307 INFO L272 TraceCheckUtils]: 45: Hoare triple {47622#true} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {47622#true} is VALID [2022-04-08 15:11:14,307 INFO L290 TraceCheckUtils]: 46: Hoare triple {47622#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(28);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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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); {47622#true} is VALID [2022-04-08 15:11:14,307 INFO L290 TraceCheckUtils]: 47: Hoare triple {47622#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {47622#true} is VALID [2022-04-08 15:11:14,307 INFO L290 TraceCheckUtils]: 48: Hoare triple {47622#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 180 + ~Irp.offset, 8);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 68;havoc #t~mem103.base, #t~mem103.offset; {47622#true} is VALID [2022-04-08 15:11:14,307 INFO L272 TraceCheckUtils]: 49: Hoare triple {47622#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, 52); {47672#(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 15:11:14,307 INFO L290 TraceCheckUtils]: 50: Hoare triple {47672#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {47622#true} is VALID [2022-04-08 15:11:14,308 INFO L290 TraceCheckUtils]: 51: Hoare triple {47622#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {47622#true} is VALID [2022-04-08 15:11:14,308 INFO L290 TraceCheckUtils]: 52: Hoare triple {47622#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {47622#true} is VALID [2022-04-08 15:11:14,308 INFO L290 TraceCheckUtils]: 53: Hoare triple {47622#true} assume #res.base == dest.base && #res.offset == dest.offset; {47622#true} is VALID [2022-04-08 15:11:14,308 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {47622#true} {47622#true} #1186#return; {47622#true} is VALID [2022-04-08 15:11:14,308 INFO L290 TraceCheckUtils]: 55: Hoare triple {47622#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {47622#true} is VALID [2022-04-08 15:11:14,308 INFO L290 TraceCheckUtils]: 56: Hoare triple {47622#true} assume !(~s~0 != ~NP~0); {47622#true} is VALID [2022-04-08 15:11:14,308 INFO L290 TraceCheckUtils]: 57: Hoare triple {47622#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {47622#true} is VALID [2022-04-08 15:11:14,308 INFO L290 TraceCheckUtils]: 58: Hoare triple {47622#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 68;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 52 + ~irpSp___0~0.offset, 8);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 60 + ~irpSp___0~0.offset, 8);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, 16 + ~devExt~3.offset, 8); {47622#true} is VALID [2022-04-08 15:11:14,308 INFO L272 TraceCheckUtils]: 59: Hoare triple {47622#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {47622#true} is VALID [2022-04-08 15:11:14,308 INFO L290 TraceCheckUtils]: 60: Hoare triple {47622#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; {47622#true} is VALID [2022-04-08 15:11:14,308 INFO L290 TraceCheckUtils]: 61: Hoare triple {47622#true} assume 0 != ~compRegistered~0; {47622#true} is VALID [2022-04-08 15:11:14,309 INFO L272 TraceCheckUtils]: 62: Hoare triple {47622#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {47684#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:11:14,309 INFO L290 TraceCheckUtils]: 63: Hoare triple {47684#(= ~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; {47622#true} is VALID [2022-04-08 15:11:14,309 INFO L272 TraceCheckUtils]: 64: Hoare triple {47622#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {47684#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:11:14,309 INFO L290 TraceCheckUtils]: 65: Hoare triple {47684#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {47622#true} is VALID [2022-04-08 15:11:14,309 INFO L290 TraceCheckUtils]: 66: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-08 15:11:14,309 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {47622#true} {47622#true} #1174#return; {47622#true} is VALID [2022-04-08 15:11:14,309 INFO L290 TraceCheckUtils]: 68: Hoare triple {47622#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {47622#true} is VALID [2022-04-08 15:11:14,309 INFO L290 TraceCheckUtils]: 69: Hoare triple {47622#true} assume true; {47622#true} is VALID [2022-04-08 15:11:14,310 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {47622#true} {47622#true} #1210#return; {47622#true} is VALID [2022-04-08 15:11:14,310 INFO L290 TraceCheckUtils]: 71: Hoare triple {47622#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {47622#true} is VALID [2022-04-08 15:11:14,310 INFO L290 TraceCheckUtils]: 72: Hoare triple {47622#true} assume -1073741802 == ~compRetStatus~0; {47622#true} is VALID [2022-04-08 15:11:14,310 INFO L272 TraceCheckUtils]: 73: Hoare triple {47622#true} call stubMoreProcessingRequired(); {47688#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:11:14,310 INFO L290 TraceCheckUtils]: 74: Hoare triple {47688#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {47669#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} is VALID [2022-04-08 15:11:14,310 INFO L290 TraceCheckUtils]: 75: Hoare triple {47669#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} assume true; {47669#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} is VALID [2022-04-08 15:11:14,311 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {47669#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} {47622#true} #1212#return; {47669#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} is VALID [2022-04-08 15:11:14,311 INFO L290 TraceCheckUtils]: 77: Hoare triple {47669#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} assume 0 == ~__BLAST_NONDET~11; {47669#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} is VALID [2022-04-08 15:11:14,311 INFO L290 TraceCheckUtils]: 78: Hoare triple {47669#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} ~returnVal2~0 := 0; {47669#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} is VALID [2022-04-08 15:11:14,312 INFO L290 TraceCheckUtils]: 79: Hoare triple {47669#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} assume !(~s~0 == ~NP~0); {47669#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} is VALID [2022-04-08 15:11:14,312 INFO L290 TraceCheckUtils]: 80: Hoare triple {47669#(= (+ ~MPR1~0 (* (- 1) ~s~0)) 0)} assume !(~s~0 == ~MPR1~0); {47623#false} is VALID [2022-04-08 15:11:14,312 INFO L290 TraceCheckUtils]: 81: Hoare triple {47623#false} assume !(~s~0 == ~SKIP1~0); {47623#false} is VALID [2022-04-08 15:11:14,312 INFO L272 TraceCheckUtils]: 82: Hoare triple {47623#false} call errorFn(); {47623#false} is VALID [2022-04-08 15:11:14,312 INFO L290 TraceCheckUtils]: 83: Hoare triple {47623#false} assume !false; {47623#false} is VALID [2022-04-08 15:11:14,313 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 15:11:14,313 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:11:14,313 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [137954775] [2022-04-08 15:11:14,313 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [137954775] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:11:14,313 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:11:14,313 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 15:11:14,314 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:11:14,314 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [861954403] [2022-04-08 15:11:14,314 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [861954403] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:11:14,314 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:11:14,314 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 15:11:14,314 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [698638013] [2022-04-08 15:11:14,314 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:11:14,314 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 15:11:14,315 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:11:14,315 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 15:11:14,373 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 15:11:14,373 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 15:11:14,373 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:11:14,373 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 15:11:14,373 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=63, Unknown=0, NotChecked=0, Total=90 [2022-04-08 15:11:14,374 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 15:11:16,573 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 15:11:21,929 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.05s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 15:11:24,491 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:11:24,491 INFO L93 Difference]: Finished difference Result 416 states and 527 transitions. [2022-04-08 15:11:24,491 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-08 15:11:24,491 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 15:11:24,491 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:11:24,491 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 15:11:24,495 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 452 transitions. [2022-04-08 15:11:24,496 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 15:11:24,500 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 452 transitions. [2022-04-08 15:11:24,501 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 452 transitions. [2022-04-08 15:11:24,973 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 15:11:24,979 INFO L225 Difference]: With dead ends: 416 [2022-04-08 15:11:24,980 INFO L226 Difference]: Without dead ends: 357 [2022-04-08 15:11:24,980 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 15:11:24,980 INFO L913 BasicCegarLoop]: 266 mSDtfsCounter, 492 mSDsluCounter, 228 mSDsCounter, 0 mSdLazyCounter, 806 mSolverCounterSat, 184 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 495 SdHoareTripleChecker+Valid, 494 SdHoareTripleChecker+Invalid, 991 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 184 IncrementalHoareTripleChecker+Valid, 806 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.0s IncrementalHoareTripleChecker+Time [2022-04-08 15:11:24,980 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [495 Valid, 494 Invalid, 991 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [184 Valid, 806 Invalid, 1 Unknown, 0 Unchecked, 5.0s Time] [2022-04-08 15:11:24,981 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 357 states. [2022-04-08 15:11:25,400 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 357 to 327. [2022-04-08 15:11:25,400 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:11:25,401 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 15:11:25,401 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 15:11:25,401 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 15:11:25,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:11:25,407 INFO L93 Difference]: Finished difference Result 357 states and 452 transitions. [2022-04-08 15:11:25,407 INFO L276 IsEmpty]: Start isEmpty. Operand 357 states and 452 transitions. [2022-04-08 15:11:25,408 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:11:25,408 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:11:25,408 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 15:11:25,408 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 15:11:25,414 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:11:25,414 INFO L93 Difference]: Finished difference Result 357 states and 452 transitions. [2022-04-08 15:11:25,414 INFO L276 IsEmpty]: Start isEmpty. Operand 357 states and 452 transitions. [2022-04-08 15:11:25,414 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:11:25,414 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:11:25,414 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:11:25,414 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:11:25,415 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 15:11:25,421 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 327 states to 327 states and 413 transitions. [2022-04-08 15:11:25,421 INFO L78 Accepts]: Start accepts. Automaton has 327 states and 413 transitions. Word has length 84 [2022-04-08 15:11:25,421 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:11:25,421 INFO L478 AbstractCegarLoop]: Abstraction has 327 states and 413 transitions. [2022-04-08 15:11:25,421 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 15:11:25,421 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 327 states and 413 transitions. [2022-04-08 15:11:26,152 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 15:11:26,153 INFO L276 IsEmpty]: Start isEmpty. Operand 327 states and 413 transitions. [2022-04-08 15:11:26,153 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-08 15:11:26,153 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:11:26,153 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 15:11:26,153 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19 [2022-04-08 15:11:26,153 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:11:26,154 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:11:26,154 INFO L85 PathProgramCache]: Analyzing trace with hash -1690581556, now seen corresponding path program 1 times [2022-04-08 15:11:26,154 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:11:26,154 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [352091756] [2022-04-08 15:11:26,154 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 15:11:26,154 INFO L85 PathProgramCache]: Analyzing trace with hash -1690581556, now seen corresponding path program 2 times [2022-04-08 15:11:26,154 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:11:26,154 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [99356123] [2022-04-08 15:11:26,154 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:11:26,154 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:11:26,221 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:26,290 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:11:26,292 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:26,296 INFO L290 TraceCheckUtils]: 0: Hoare triple {49966#(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; {49914#true} is VALID [2022-04-08 15:11:26,296 INFO L290 TraceCheckUtils]: 1: Hoare triple {49914#true} assume true; {49914#true} is VALID [2022-04-08 15:11:26,296 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {49914#true} {49914#true} #1270#return; {49914#true} is VALID [2022-04-08 15:11:26,317 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:11:26,318 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:26,332 INFO L290 TraceCheckUtils]: 0: Hoare triple {49967#(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; {49968#(and (<= 5 ~MPR1~0) (= (+ ~SKIP1~0 (- 3)) 0))} is VALID [2022-04-08 15:11:26,332 INFO L290 TraceCheckUtils]: 1: Hoare triple {49968#(and (<= 5 ~MPR1~0) (= (+ ~SKIP1~0 (- 3)) 0))} assume true; {49968#(and (<= 5 ~MPR1~0) (= (+ ~SKIP1~0 (- 3)) 0))} is VALID [2022-04-08 15:11:26,332 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {49968#(and (<= 5 ~MPR1~0) (= (+ ~SKIP1~0 (- 3)) 0))} {49914#true} #1216#return; {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:26,339 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:11:26,347 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:26,354 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:11:26,355 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:26,358 INFO L290 TraceCheckUtils]: 0: Hoare triple {49914#true} ~cond := #in~cond; {49914#true} is VALID [2022-04-08 15:11:26,359 INFO L290 TraceCheckUtils]: 1: Hoare triple {49914#true} assume !(0 == ~cond); {49914#true} is VALID [2022-04-08 15:11:26,359 INFO L290 TraceCheckUtils]: 2: Hoare triple {49914#true} assume true; {49914#true} is VALID [2022-04-08 15:11:26,359 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {49914#true} {49914#true} #1254#return; {49914#true} is VALID [2022-04-08 15:11:26,359 INFO L290 TraceCheckUtils]: 0: Hoare triple {49969#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {49914#true} is VALID [2022-04-08 15:11:26,359 INFO L272 TraceCheckUtils]: 1: Hoare triple {49914#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {49914#true} is VALID [2022-04-08 15:11:26,359 INFO L290 TraceCheckUtils]: 2: Hoare triple {49914#true} ~cond := #in~cond; {49914#true} is VALID [2022-04-08 15:11:26,359 INFO L290 TraceCheckUtils]: 3: Hoare triple {49914#true} assume !(0 == ~cond); {49914#true} is VALID [2022-04-08 15:11:26,359 INFO L290 TraceCheckUtils]: 4: Hoare triple {49914#true} assume true; {49914#true} is VALID [2022-04-08 15:11:26,359 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {49914#true} {49914#true} #1254#return; {49914#true} is VALID [2022-04-08 15:11:26,359 INFO L290 TraceCheckUtils]: 6: Hoare triple {49914#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {49914#true} is VALID [2022-04-08 15:11:26,359 INFO L290 TraceCheckUtils]: 7: Hoare triple {49914#true} assume true; {49914#true} is VALID [2022-04-08 15:11:26,360 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {49914#true} {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} #1218#return; {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:26,368 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:11:26,372 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:26,377 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:11:26,381 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:26,385 INFO L290 TraceCheckUtils]: 0: Hoare triple {49974#(and (= |old(#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; {49914#true} is VALID [2022-04-08 15:11:26,385 INFO L290 TraceCheckUtils]: 1: Hoare triple {49914#true} assume !(0 == ~__BLAST_NONDET~5); {49914#true} is VALID [2022-04-08 15:11:26,385 INFO L290 TraceCheckUtils]: 2: Hoare triple {49914#true} #res := -1073741823; {49914#true} is VALID [2022-04-08 15:11:26,385 INFO L290 TraceCheckUtils]: 3: Hoare triple {49914#true} assume true; {49914#true} is VALID [2022-04-08 15:11:26,385 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {49914#true} {49914#true} #1176#return; {49914#true} is VALID [2022-04-08 15:11:26,386 INFO L290 TraceCheckUtils]: 0: Hoare triple {49974#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {49914#true} is VALID [2022-04-08 15:11:26,387 INFO L272 TraceCheckUtils]: 1: Hoare triple {49914#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {49974#(and (= |old(#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 15:11:26,387 INFO L290 TraceCheckUtils]: 2: Hoare triple {49974#(and (= |old(#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; {49914#true} is VALID [2022-04-08 15:11:26,387 INFO L290 TraceCheckUtils]: 3: Hoare triple {49914#true} assume !(0 == ~__BLAST_NONDET~5); {49914#true} is VALID [2022-04-08 15:11:26,387 INFO L290 TraceCheckUtils]: 4: Hoare triple {49914#true} #res := -1073741823; {49914#true} is VALID [2022-04-08 15:11:26,387 INFO L290 TraceCheckUtils]: 5: Hoare triple {49914#true} assume true; {49914#true} is VALID [2022-04-08 15:11:26,387 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {49914#true} {49914#true} #1176#return; {49914#true} is VALID [2022-04-08 15:11:26,387 INFO L290 TraceCheckUtils]: 7: Hoare triple {49914#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {49914#true} is VALID [2022-04-08 15:11:26,387 INFO L290 TraceCheckUtils]: 8: Hoare triple {49914#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {49914#true} is VALID [2022-04-08 15:11:26,387 INFO L290 TraceCheckUtils]: 9: Hoare triple {49914#true} assume true; {49914#true} is VALID [2022-04-08 15:11:26,388 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {49914#true} {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} #1220#return; {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:26,400 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 15:11:26,401 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:26,405 INFO L290 TraceCheckUtils]: 0: Hoare triple {49980#(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; {49914#true} is VALID [2022-04-08 15:11:26,406 INFO L290 TraceCheckUtils]: 1: Hoare triple {49914#true} assume true; {49914#true} is VALID [2022-04-08 15:11:26,406 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {49914#true} {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} #1222#return; {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:26,419 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-08 15:11:26,427 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:26,443 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-04-08 15:11:26,445 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:26,460 INFO L290 TraceCheckUtils]: 0: Hoare triple {49993#(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; {49914#true} is VALID [2022-04-08 15:11:26,460 INFO L290 TraceCheckUtils]: 1: Hoare triple {49914#true} assume !(0 != ~compRegistered~0); {49914#true} is VALID [2022-04-08 15:11:26,460 INFO L290 TraceCheckUtils]: 2: Hoare triple {49914#true} assume !(0 == ~__BLAST_NONDET~16); {49914#true} is VALID [2022-04-08 15:11:26,460 INFO L290 TraceCheckUtils]: 3: Hoare triple {49914#true} assume 1 == ~__BLAST_NONDET~16; {49914#true} is VALID [2022-04-08 15:11:26,460 INFO L290 TraceCheckUtils]: 4: Hoare triple {49914#true} ~returnVal~0 := -1073741823; {49994#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} is VALID [2022-04-08 15:11:26,461 INFO L290 TraceCheckUtils]: 5: Hoare triple {49994#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} assume !(~s~0 == ~NP~0); {49994#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} is VALID [2022-04-08 15:11:26,461 INFO L290 TraceCheckUtils]: 6: Hoare triple {49994#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} assume ~s~0 == ~MPR1~0; {49994#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} is VALID [2022-04-08 15:11:26,461 INFO L290 TraceCheckUtils]: 7: Hoare triple {49994#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} assume 259 == ~returnVal~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := (if ~returnVal~0 % 4294967296 <= 2147483647 then ~returnVal~0 % 4294967296 else ~returnVal~0 % 4294967296 - 4294967296); {49915#false} is VALID [2022-04-08 15:11:26,461 INFO L290 TraceCheckUtils]: 8: Hoare triple {49915#false} #res := ~returnVal~0; {49915#false} is VALID [2022-04-08 15:11:26,461 INFO L290 TraceCheckUtils]: 9: Hoare triple {49915#false} assume true; {49915#false} is VALID [2022-04-08 15:11:26,462 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {49915#false} {49914#true} #1268#return; {49915#false} is VALID [2022-04-08 15:11:26,462 INFO L290 TraceCheckUtils]: 0: Hoare triple {49981#(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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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, 12 + ~irpStack~4.offset, 4);~powerType~0 := #t~mem125;havoc #t~mem125;call #t~mem126 := read~int(~irpStack~4.base, 16 + ~irpStack~4.offset, 4);call #t~mem127 := read~int(~irpStack~4.base, 16 + ~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); {49914#true} is VALID [2022-04-08 15:11:26,462 INFO L290 TraceCheckUtils]: 1: Hoare triple {49914#true} assume 2 == #t~mem128 % 256;havoc #t~mem128; {49914#true} is VALID [2022-04-08 15:11:26,462 INFO L290 TraceCheckUtils]: 2: Hoare triple {49914#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, 96 + ~devExt~4.offset, 4);havoc #t~mem132; {49914#true} is VALID [2022-04-08 15:11:26,462 INFO L290 TraceCheckUtils]: 3: Hoare triple {49914#true} assume ~s~0 == ~NP~0;~s~0 := ~SKIP1~0; {49914#true} is VALID [2022-04-08 15:11:26,462 INFO L290 TraceCheckUtils]: 4: Hoare triple {49914#true} call #t~mem133 := read~int(~Irp.base, 63 + ~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, 63 + ~Irp.offset, 1);havoc #t~mem133;call #t~mem134.base, #t~mem134.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);call write~$Pointer$(#t~mem134.base, 68 + #t~mem134.offset, ~Irp.base, 180 + ~Irp.offset, 8);havoc #t~mem134.base, #t~mem134.offset;call #t~mem135.base, #t~mem135.offset := read~$Pointer$(~devExt~4.base, 16 + ~devExt~4.offset, 8); {49914#true} is VALID [2022-04-08 15:11:26,463 INFO L272 TraceCheckUtils]: 5: Hoare triple {49914#true} call #t~ret136 := PoCallDriver(#t~mem135.base, #t~mem135.offset, ~Irp.base, ~Irp.offset); {49993#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:11:26,463 INFO L290 TraceCheckUtils]: 6: Hoare triple {49993#(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; {49914#true} is VALID [2022-04-08 15:11:26,463 INFO L290 TraceCheckUtils]: 7: Hoare triple {49914#true} assume !(0 != ~compRegistered~0); {49914#true} is VALID [2022-04-08 15:11:26,463 INFO L290 TraceCheckUtils]: 8: Hoare triple {49914#true} assume !(0 == ~__BLAST_NONDET~16); {49914#true} is VALID [2022-04-08 15:11:26,463 INFO L290 TraceCheckUtils]: 9: Hoare triple {49914#true} assume 1 == ~__BLAST_NONDET~16; {49914#true} is VALID [2022-04-08 15:11:26,463 INFO L290 TraceCheckUtils]: 10: Hoare triple {49914#true} ~returnVal~0 := -1073741823; {49994#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} is VALID [2022-04-08 15:11:26,463 INFO L290 TraceCheckUtils]: 11: Hoare triple {49994#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} assume !(~s~0 == ~NP~0); {49994#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} is VALID [2022-04-08 15:11:26,464 INFO L290 TraceCheckUtils]: 12: Hoare triple {49994#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} assume ~s~0 == ~MPR1~0; {49994#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} is VALID [2022-04-08 15:11:26,464 INFO L290 TraceCheckUtils]: 13: Hoare triple {49994#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} assume 259 == ~returnVal~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := (if ~returnVal~0 % 4294967296 <= 2147483647 then ~returnVal~0 % 4294967296 else ~returnVal~0 % 4294967296 - 4294967296); {49915#false} is VALID [2022-04-08 15:11:26,464 INFO L290 TraceCheckUtils]: 14: Hoare triple {49915#false} #res := ~returnVal~0; {49915#false} is VALID [2022-04-08 15:11:26,464 INFO L290 TraceCheckUtils]: 15: Hoare triple {49915#false} assume true; {49915#false} is VALID [2022-04-08 15:11:26,464 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {49915#false} {49914#true} #1268#return; {49915#false} is VALID [2022-04-08 15:11:26,464 INFO L290 TraceCheckUtils]: 17: Hoare triple {49915#false} assume -9223372036854775808 <= #t~ret136 && #t~ret136 <= 9223372036854775807;~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; {49915#false} is VALID [2022-04-08 15:11:26,464 INFO L290 TraceCheckUtils]: 18: Hoare triple {49915#false} assume true; {49915#false} is VALID [2022-04-08 15:11:26,464 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {49915#false} {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} #1232#return; {49915#false} is VALID [2022-04-08 15:11:26,465 INFO L272 TraceCheckUtils]: 0: Hoare triple {49914#true} call ULTIMATE.init(); {49966#(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 15:11:26,465 INFO L290 TraceCheckUtils]: 1: Hoare triple {49966#(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; {49914#true} is VALID [2022-04-08 15:11:26,465 INFO L290 TraceCheckUtils]: 2: Hoare triple {49914#true} assume true; {49914#true} is VALID [2022-04-08 15:11:26,465 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {49914#true} {49914#true} #1270#return; {49914#true} is VALID [2022-04-08 15:11:26,465 INFO L272 TraceCheckUtils]: 4: Hoare triple {49914#true} call #t~ret213 := main(); {49914#true} is VALID [2022-04-08 15:11:26,465 INFO L290 TraceCheckUtils]: 5: Hoare triple {49914#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {49914#true} is VALID [2022-04-08 15:11:26,466 INFO L272 TraceCheckUtils]: 6: Hoare triple {49914#true} call _BLAST_init(); {49967#(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 15:11:26,467 INFO L290 TraceCheckUtils]: 7: Hoare triple {49967#(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; {49968#(and (<= 5 ~MPR1~0) (= (+ ~SKIP1~0 (- 3)) 0))} is VALID [2022-04-08 15:11:26,467 INFO L290 TraceCheckUtils]: 8: Hoare triple {49968#(and (<= 5 ~MPR1~0) (= (+ ~SKIP1~0 (- 3)) 0))} assume true; {49968#(and (<= 5 ~MPR1~0) (= (+ ~SKIP1~0 (- 3)) 0))} is VALID [2022-04-08 15:11:26,467 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {49968#(and (<= 5 ~MPR1~0) (= (+ ~SKIP1~0 (- 3)) 0))} {49914#true} #1216#return; {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:26,468 INFO L272 TraceCheckUtils]: 10: Hoare triple {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {49969#(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 15:11:26,468 INFO L290 TraceCheckUtils]: 11: Hoare triple {49969#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {49914#true} is VALID [2022-04-08 15:11:26,468 INFO L272 TraceCheckUtils]: 12: Hoare triple {49914#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {49914#true} is VALID [2022-04-08 15:11:26,468 INFO L290 TraceCheckUtils]: 13: Hoare triple {49914#true} ~cond := #in~cond; {49914#true} is VALID [2022-04-08 15:11:26,468 INFO L290 TraceCheckUtils]: 14: Hoare triple {49914#true} assume !(0 == ~cond); {49914#true} is VALID [2022-04-08 15:11:26,468 INFO L290 TraceCheckUtils]: 15: Hoare triple {49914#true} assume true; {49914#true} is VALID [2022-04-08 15:11:26,469 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {49914#true} {49914#true} #1254#return; {49914#true} is VALID [2022-04-08 15:11:26,469 INFO L290 TraceCheckUtils]: 17: Hoare triple {49914#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {49914#true} is VALID [2022-04-08 15:11:26,469 INFO L290 TraceCheckUtils]: 18: Hoare triple {49914#true} assume true; {49914#true} is VALID [2022-04-08 15:11:26,469 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {49914#true} {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} #1218#return; {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:26,470 INFO L290 TraceCheckUtils]: 20: Hoare triple {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:26,470 INFO L290 TraceCheckUtils]: 21: Hoare triple {49922#(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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:26,470 INFO L290 TraceCheckUtils]: 22: Hoare triple {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:26,471 INFO L272 TraceCheckUtils]: 23: Hoare triple {49922#(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); {49974#(and (= |old(#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 15:11:26,471 INFO L290 TraceCheckUtils]: 24: Hoare triple {49974#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {49914#true} is VALID [2022-04-08 15:11:26,472 INFO L272 TraceCheckUtils]: 25: Hoare triple {49914#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {49974#(and (= |old(#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 15:11:26,472 INFO L290 TraceCheckUtils]: 26: Hoare triple {49974#(and (= |old(#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; {49914#true} is VALID [2022-04-08 15:11:26,472 INFO L290 TraceCheckUtils]: 27: Hoare triple {49914#true} assume !(0 == ~__BLAST_NONDET~5); {49914#true} is VALID [2022-04-08 15:11:26,472 INFO L290 TraceCheckUtils]: 28: Hoare triple {49914#true} #res := -1073741823; {49914#true} is VALID [2022-04-08 15:11:26,472 INFO L290 TraceCheckUtils]: 29: Hoare triple {49914#true} assume true; {49914#true} is VALID [2022-04-08 15:11:26,473 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {49914#true} {49914#true} #1176#return; {49914#true} is VALID [2022-04-08 15:11:26,473 INFO L290 TraceCheckUtils]: 31: Hoare triple {49914#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {49914#true} is VALID [2022-04-08 15:11:26,473 INFO L290 TraceCheckUtils]: 32: Hoare triple {49914#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {49914#true} is VALID [2022-04-08 15:11:26,473 INFO L290 TraceCheckUtils]: 33: Hoare triple {49914#true} assume true; {49914#true} is VALID [2022-04-08 15:11:26,473 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {49914#true} {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} #1220#return; {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:26,474 INFO L290 TraceCheckUtils]: 35: Hoare triple {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:26,474 INFO L272 TraceCheckUtils]: 36: Hoare triple {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} call stub_driver_init(); {49980#(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 15:11:26,474 INFO L290 TraceCheckUtils]: 37: Hoare triple {49980#(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; {49914#true} is VALID [2022-04-08 15:11:26,474 INFO L290 TraceCheckUtils]: 38: Hoare triple {49914#true} assume true; {49914#true} is VALID [2022-04-08 15:11:26,475 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {49914#true} {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} #1222#return; {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:26,475 INFO L290 TraceCheckUtils]: 40: Hoare triple {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume !!(~status~5 >= 0); {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:26,475 INFO L290 TraceCheckUtils]: 41: Hoare triple {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume !(0 == ~__BLAST_NONDET~0); {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:26,475 INFO L290 TraceCheckUtils]: 42: Hoare triple {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume !(1 == ~__BLAST_NONDET~0); {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:26,476 INFO L290 TraceCheckUtils]: 43: Hoare triple {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume !(2 == ~__BLAST_NONDET~0); {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:26,476 INFO L290 TraceCheckUtils]: 44: Hoare triple {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume !(3 == ~__BLAST_NONDET~0); {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:26,476 INFO L290 TraceCheckUtils]: 45: Hoare triple {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume 4 == ~__BLAST_NONDET~0; {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:26,477 INFO L272 TraceCheckUtils]: 46: Hoare triple {49922#(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); {49981#(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 15:11:26,477 INFO L290 TraceCheckUtils]: 47: Hoare triple {49981#(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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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, 12 + ~irpStack~4.offset, 4);~powerType~0 := #t~mem125;havoc #t~mem125;call #t~mem126 := read~int(~irpStack~4.base, 16 + ~irpStack~4.offset, 4);call #t~mem127 := read~int(~irpStack~4.base, 16 + ~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); {49914#true} is VALID [2022-04-08 15:11:26,477 INFO L290 TraceCheckUtils]: 48: Hoare triple {49914#true} assume 2 == #t~mem128 % 256;havoc #t~mem128; {49914#true} is VALID [2022-04-08 15:11:26,477 INFO L290 TraceCheckUtils]: 49: Hoare triple {49914#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, 96 + ~devExt~4.offset, 4);havoc #t~mem132; {49914#true} is VALID [2022-04-08 15:11:26,477 INFO L290 TraceCheckUtils]: 50: Hoare triple {49914#true} assume ~s~0 == ~NP~0;~s~0 := ~SKIP1~0; {49914#true} is VALID [2022-04-08 15:11:26,477 INFO L290 TraceCheckUtils]: 51: Hoare triple {49914#true} call #t~mem133 := read~int(~Irp.base, 63 + ~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, 63 + ~Irp.offset, 1);havoc #t~mem133;call #t~mem134.base, #t~mem134.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);call write~$Pointer$(#t~mem134.base, 68 + #t~mem134.offset, ~Irp.base, 180 + ~Irp.offset, 8);havoc #t~mem134.base, #t~mem134.offset;call #t~mem135.base, #t~mem135.offset := read~$Pointer$(~devExt~4.base, 16 + ~devExt~4.offset, 8); {49914#true} is VALID [2022-04-08 15:11:26,478 INFO L272 TraceCheckUtils]: 52: Hoare triple {49914#true} call #t~ret136 := PoCallDriver(#t~mem135.base, #t~mem135.offset, ~Irp.base, ~Irp.offset); {49993#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:11:26,478 INFO L290 TraceCheckUtils]: 53: Hoare triple {49993#(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; {49914#true} is VALID [2022-04-08 15:11:26,478 INFO L290 TraceCheckUtils]: 54: Hoare triple {49914#true} assume !(0 != ~compRegistered~0); {49914#true} is VALID [2022-04-08 15:11:26,478 INFO L290 TraceCheckUtils]: 55: Hoare triple {49914#true} assume !(0 == ~__BLAST_NONDET~16); {49914#true} is VALID [2022-04-08 15:11:26,478 INFO L290 TraceCheckUtils]: 56: Hoare triple {49914#true} assume 1 == ~__BLAST_NONDET~16; {49914#true} is VALID [2022-04-08 15:11:26,479 INFO L290 TraceCheckUtils]: 57: Hoare triple {49914#true} ~returnVal~0 := -1073741823; {49994#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} is VALID [2022-04-08 15:11:26,479 INFO L290 TraceCheckUtils]: 58: Hoare triple {49994#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} assume !(~s~0 == ~NP~0); {49994#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} is VALID [2022-04-08 15:11:26,479 INFO L290 TraceCheckUtils]: 59: Hoare triple {49994#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} assume ~s~0 == ~MPR1~0; {49994#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} is VALID [2022-04-08 15:11:26,479 INFO L290 TraceCheckUtils]: 60: Hoare triple {49994#(<= (+ 1073741823 PoCallDriver_~returnVal~0) 0)} assume 259 == ~returnVal~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := (if ~returnVal~0 % 4294967296 <= 2147483647 then ~returnVal~0 % 4294967296 else ~returnVal~0 % 4294967296 - 4294967296); {49915#false} is VALID [2022-04-08 15:11:26,479 INFO L290 TraceCheckUtils]: 61: Hoare triple {49915#false} #res := ~returnVal~0; {49915#false} is VALID [2022-04-08 15:11:26,480 INFO L290 TraceCheckUtils]: 62: Hoare triple {49915#false} assume true; {49915#false} is VALID [2022-04-08 15:11:26,480 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {49915#false} {49914#true} #1268#return; {49915#false} is VALID [2022-04-08 15:11:26,480 INFO L290 TraceCheckUtils]: 64: Hoare triple {49915#false} assume -9223372036854775808 <= #t~ret136 && #t~ret136 <= 9223372036854775807;~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; {49915#false} is VALID [2022-04-08 15:11:26,480 INFO L290 TraceCheckUtils]: 65: Hoare triple {49915#false} assume true; {49915#false} is VALID [2022-04-08 15:11:26,480 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {49915#false} {49922#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} #1232#return; {49915#false} is VALID [2022-04-08 15:11:26,480 INFO L290 TraceCheckUtils]: 67: Hoare triple {49915#false} assume -9223372036854775808 <= #t~ret175 && #t~ret175 <= 9223372036854775807;~status~5 := #t~ret175;havoc #t~ret175; {49915#false} is VALID [2022-04-08 15:11:26,480 INFO L290 TraceCheckUtils]: 68: Hoare triple {49915#false} assume 0 != ~we_should_unload~0; {49915#false} is VALID [2022-04-08 15:11:26,480 INFO L290 TraceCheckUtils]: 69: Hoare triple {49915#false} assume !(1 == ~pended~0); {49915#false} is VALID [2022-04-08 15:11:26,480 INFO L290 TraceCheckUtils]: 70: Hoare triple {49915#false} assume !(1 == ~pended~0); {49915#false} is VALID [2022-04-08 15:11:26,480 INFO L290 TraceCheckUtils]: 71: Hoare triple {49915#false} assume !(~s~0 == ~UNLOADED~0); {49915#false} is VALID [2022-04-08 15:11:26,480 INFO L290 TraceCheckUtils]: 72: Hoare triple {49915#false} assume !(-1 == ~status~5); {49915#false} is VALID [2022-04-08 15:11:26,480 INFO L290 TraceCheckUtils]: 73: Hoare triple {49915#false} assume ~s~0 != ~SKIP2~0; {49915#false} is VALID [2022-04-08 15:11:26,480 INFO L290 TraceCheckUtils]: 74: Hoare triple {49915#false} assume !(~s~0 != ~IPC~0); {49915#false} is VALID [2022-04-08 15:11:26,480 INFO L290 TraceCheckUtils]: 75: Hoare triple {49915#false} assume !(1 == ~pended~0); {49915#false} is VALID [2022-04-08 15:11:26,480 INFO L290 TraceCheckUtils]: 76: Hoare triple {49915#false} assume ~s~0 == ~DC~0; {49915#false} is VALID [2022-04-08 15:11:26,480 INFO L290 TraceCheckUtils]: 77: Hoare triple {49915#false} assume 259 == ~status~5; {49915#false} is VALID [2022-04-08 15:11:26,480 INFO L272 TraceCheckUtils]: 78: Hoare triple {49915#false} call errorFn(); {49915#false} is VALID [2022-04-08 15:11:26,480 INFO L290 TraceCheckUtils]: 79: Hoare triple {49915#false} assume !false; {49915#false} is VALID [2022-04-08 15:11:26,481 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 15:11:26,481 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:11:26,481 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [99356123] [2022-04-08 15:11:26,481 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [99356123] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:11:26,481 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:11:26,481 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 15:11:26,481 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:11:26,481 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [352091756] [2022-04-08 15:11:26,481 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [352091756] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:11:26,481 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:11:26,481 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 15:11:26,481 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1122716303] [2022-04-08 15:11:26,481 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:11:26,482 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 15:11:26,482 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:11:26,482 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 15:11:26,537 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 15:11:26,537 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 15:11:26,537 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:11:26,537 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 15:11:26,538 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=100, Unknown=0, NotChecked=0, Total=132 [2022-04-08 15:11:26,538 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 15:11:28,650 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 15:11:37,003 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:11:37,003 INFO L93 Difference]: Finished difference Result 371 states and 465 transitions. [2022-04-08 15:11:37,003 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 15:11:37,003 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 15:11:37,003 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:11:37,003 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 15:11:37,005 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 400 transitions. [2022-04-08 15:11:37,006 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 15:11:37,009 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 400 transitions. [2022-04-08 15:11:37,009 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 400 transitions. [2022-04-08 15:11:37,491 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 15:11:37,497 INFO L225 Difference]: With dead ends: 371 [2022-04-08 15:11:37,497 INFO L226 Difference]: Without dead ends: 346 [2022-04-08 15:11:37,497 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 15:11:37,497 INFO L913 BasicCegarLoop]: 259 mSDtfsCounter, 1255 mSDsluCounter, 267 mSDsCounter, 0 mSdLazyCounter, 912 mSolverCounterSat, 393 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1265 SdHoareTripleChecker+Valid, 526 SdHoareTripleChecker+Invalid, 1306 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 393 IncrementalHoareTripleChecker+Valid, 912 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.4s IncrementalHoareTripleChecker+Time [2022-04-08 15:11:37,498 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [1265 Valid, 526 Invalid, 1306 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [393 Valid, 912 Invalid, 1 Unknown, 0 Unchecked, 5.4s Time] [2022-04-08 15:11:37,498 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 346 states. [2022-04-08 15:11:38,072 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 346 to 326. [2022-04-08 15:11:38,072 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:11:38,072 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 15:11:38,073 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 15:11:38,073 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 15:11:38,078 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:11:38,078 INFO L93 Difference]: Finished difference Result 346 states and 438 transitions. [2022-04-08 15:11:38,078 INFO L276 IsEmpty]: Start isEmpty. Operand 346 states and 438 transitions. [2022-04-08 15:11:38,078 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:11:38,078 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:11:38,079 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 15:11:38,080 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 15:11:38,085 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:11:38,085 INFO L93 Difference]: Finished difference Result 346 states and 438 transitions. [2022-04-08 15:11:38,085 INFO L276 IsEmpty]: Start isEmpty. Operand 346 states and 438 transitions. [2022-04-08 15:11:38,085 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:11:38,085 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:11:38,086 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:11:38,086 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:11:38,086 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 15:11:38,102 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 326 states to 326 states and 411 transitions. [2022-04-08 15:11:38,102 INFO L78 Accepts]: Start accepts. Automaton has 326 states and 411 transitions. Word has length 80 [2022-04-08 15:11:38,102 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:11:38,102 INFO L478 AbstractCegarLoop]: Abstraction has 326 states and 411 transitions. [2022-04-08 15:11:38,102 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 15:11:38,102 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 326 states and 411 transitions. [2022-04-08 15:11:38,835 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 15:11:38,835 INFO L276 IsEmpty]: Start isEmpty. Operand 326 states and 411 transitions. [2022-04-08 15:11:38,835 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-08 15:11:38,835 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:11:38,836 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 15:11:38,836 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable20 [2022-04-08 15:11:38,836 INFO L403 AbstractCegarLoop]: === Iteration 22 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:11:38,836 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:11:38,836 INFO L85 PathProgramCache]: Analyzing trace with hash 664933900, now seen corresponding path program 1 times [2022-04-08 15:11:38,836 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:11:38,836 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [150679453] [2022-04-08 15:11:38,836 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 15:11:38,836 INFO L85 PathProgramCache]: Analyzing trace with hash 664933900, now seen corresponding path program 2 times [2022-04-08 15:11:38,836 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:11:38,837 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [111763656] [2022-04-08 15:11:38,837 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:11:38,837 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:11:38,904 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:38,976 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:11:38,978 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:38,983 INFO L290 TraceCheckUtils]: 0: Hoare triple {52158#(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; {52106#true} is VALID [2022-04-08 15:11:38,983 INFO L290 TraceCheckUtils]: 1: Hoare triple {52106#true} assume true; {52106#true} is VALID [2022-04-08 15:11:38,983 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {52106#true} {52106#true} #1270#return; {52106#true} is VALID [2022-04-08 15:11:39,004 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:11:39,008 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:39,022 INFO L290 TraceCheckUtils]: 0: Hoare triple {52159#(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; {52160#(and (<= 5 ~MPR1~0) (= (+ ~SKIP1~0 (- 3)) 0))} is VALID [2022-04-08 15:11:39,023 INFO L290 TraceCheckUtils]: 1: Hoare triple {52160#(and (<= 5 ~MPR1~0) (= (+ ~SKIP1~0 (- 3)) 0))} assume true; {52160#(and (<= 5 ~MPR1~0) (= (+ ~SKIP1~0 (- 3)) 0))} is VALID [2022-04-08 15:11:39,023 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {52160#(and (<= 5 ~MPR1~0) (= (+ ~SKIP1~0 (- 3)) 0))} {52106#true} #1216#return; {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:39,030 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:11:39,053 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:39,061 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:11:39,061 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:39,066 INFO L290 TraceCheckUtils]: 0: Hoare triple {52106#true} ~cond := #in~cond; {52106#true} is VALID [2022-04-08 15:11:39,066 INFO L290 TraceCheckUtils]: 1: Hoare triple {52106#true} assume !(0 == ~cond); {52106#true} is VALID [2022-04-08 15:11:39,066 INFO L290 TraceCheckUtils]: 2: Hoare triple {52106#true} assume true; {52106#true} is VALID [2022-04-08 15:11:39,066 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52106#true} {52106#true} #1254#return; {52106#true} is VALID [2022-04-08 15:11:39,066 INFO L290 TraceCheckUtils]: 0: Hoare triple {52161#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {52106#true} is VALID [2022-04-08 15:11:39,066 INFO L272 TraceCheckUtils]: 1: Hoare triple {52106#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {52106#true} is VALID [2022-04-08 15:11:39,066 INFO L290 TraceCheckUtils]: 2: Hoare triple {52106#true} ~cond := #in~cond; {52106#true} is VALID [2022-04-08 15:11:39,066 INFO L290 TraceCheckUtils]: 3: Hoare triple {52106#true} assume !(0 == ~cond); {52106#true} is VALID [2022-04-08 15:11:39,066 INFO L290 TraceCheckUtils]: 4: Hoare triple {52106#true} assume true; {52106#true} is VALID [2022-04-08 15:11:39,066 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {52106#true} {52106#true} #1254#return; {52106#true} is VALID [2022-04-08 15:11:39,066 INFO L290 TraceCheckUtils]: 6: Hoare triple {52106#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {52106#true} is VALID [2022-04-08 15:11:39,067 INFO L290 TraceCheckUtils]: 7: Hoare triple {52106#true} assume true; {52106#true} is VALID [2022-04-08 15:11:39,067 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {52106#true} {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} #1218#return; {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:39,077 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:11:39,081 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:39,105 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:11:39,107 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:39,111 INFO L290 TraceCheckUtils]: 0: Hoare triple {52166#(and (= |old(#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; {52106#true} is VALID [2022-04-08 15:11:39,111 INFO L290 TraceCheckUtils]: 1: Hoare triple {52106#true} assume !(0 == ~__BLAST_NONDET~5); {52106#true} is VALID [2022-04-08 15:11:39,111 INFO L290 TraceCheckUtils]: 2: Hoare triple {52106#true} #res := -1073741823; {52106#true} is VALID [2022-04-08 15:11:39,111 INFO L290 TraceCheckUtils]: 3: Hoare triple {52106#true} assume true; {52106#true} is VALID [2022-04-08 15:11:39,111 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {52106#true} {52106#true} #1176#return; {52106#true} is VALID [2022-04-08 15:11:39,112 INFO L290 TraceCheckUtils]: 0: Hoare triple {52166#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {52106#true} is VALID [2022-04-08 15:11:39,113 INFO L272 TraceCheckUtils]: 1: Hoare triple {52106#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {52166#(and (= |old(#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 15:11:39,113 INFO L290 TraceCheckUtils]: 2: Hoare triple {52166#(and (= |old(#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; {52106#true} is VALID [2022-04-08 15:11:39,113 INFO L290 TraceCheckUtils]: 3: Hoare triple {52106#true} assume !(0 == ~__BLAST_NONDET~5); {52106#true} is VALID [2022-04-08 15:11:39,113 INFO L290 TraceCheckUtils]: 4: Hoare triple {52106#true} #res := -1073741823; {52106#true} is VALID [2022-04-08 15:11:39,113 INFO L290 TraceCheckUtils]: 5: Hoare triple {52106#true} assume true; {52106#true} is VALID [2022-04-08 15:11:39,113 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {52106#true} {52106#true} #1176#return; {52106#true} is VALID [2022-04-08 15:11:39,113 INFO L290 TraceCheckUtils]: 7: Hoare triple {52106#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {52106#true} is VALID [2022-04-08 15:11:39,113 INFO L290 TraceCheckUtils]: 8: Hoare triple {52106#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {52106#true} is VALID [2022-04-08 15:11:39,113 INFO L290 TraceCheckUtils]: 9: Hoare triple {52106#true} assume true; {52106#true} is VALID [2022-04-08 15:11:39,114 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {52106#true} {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} #1220#return; {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:39,136 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 15:11:39,137 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:39,148 INFO L290 TraceCheckUtils]: 0: Hoare triple {52172#(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; {52106#true} is VALID [2022-04-08 15:11:39,148 INFO L290 TraceCheckUtils]: 1: Hoare triple {52106#true} assume true; {52106#true} is VALID [2022-04-08 15:11:39,148 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {52106#true} {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} #1222#return; {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:39,164 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-08 15:11:39,173 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:39,208 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 5 [2022-04-08 15:11:39,211 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:39,238 INFO L290 TraceCheckUtils]: 0: Hoare triple {52187#(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; {52188#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:11:39,238 INFO L290 TraceCheckUtils]: 1: Hoare triple {52188#(= ~s~0 |old(~s~0)|)} assume !(0 != ~compRegistered~0); {52188#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:11:39,238 INFO L290 TraceCheckUtils]: 2: Hoare triple {52188#(= ~s~0 |old(~s~0)|)} assume !(0 == ~__BLAST_NONDET~16); {52188#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:11:39,239 INFO L290 TraceCheckUtils]: 3: Hoare triple {52188#(= ~s~0 |old(~s~0)|)} assume !(1 == ~__BLAST_NONDET~16); {52188#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:11:39,239 INFO L290 TraceCheckUtils]: 4: Hoare triple {52188#(= ~s~0 |old(~s~0)|)} ~returnVal~0 := 259; {52188#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:11:39,239 INFO L290 TraceCheckUtils]: 5: Hoare triple {52188#(= ~s~0 |old(~s~0)|)} assume !(~s~0 == ~NP~0); {52188#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:11:39,240 INFO L290 TraceCheckUtils]: 6: Hoare triple {52188#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~MPR1~0; {52189#(= ~MPR1~0 |old(~s~0)|)} is VALID [2022-04-08 15:11:39,240 INFO L290 TraceCheckUtils]: 7: Hoare triple {52189#(= ~MPR1~0 |old(~s~0)|)} assume 259 == ~returnVal~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := (if ~returnVal~0 % 4294967296 <= 2147483647 then ~returnVal~0 % 4294967296 else ~returnVal~0 % 4294967296 - 4294967296); {52189#(= ~MPR1~0 |old(~s~0)|)} is VALID [2022-04-08 15:11:39,240 INFO L290 TraceCheckUtils]: 8: Hoare triple {52189#(= ~MPR1~0 |old(~s~0)|)} #res := ~returnVal~0; {52189#(= ~MPR1~0 |old(~s~0)|)} is VALID [2022-04-08 15:11:39,240 INFO L290 TraceCheckUtils]: 9: Hoare triple {52189#(= ~MPR1~0 |old(~s~0)|)} assume true; {52189#(= ~MPR1~0 |old(~s~0)|)} is VALID [2022-04-08 15:11:39,241 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {52189#(= ~MPR1~0 |old(~s~0)|)} {52174#(= ~SKIP1~0 ~s~0)} #1268#return; {52186#(= ~MPR1~0 ~SKIP1~0)} is VALID [2022-04-08 15:11:39,242 INFO L290 TraceCheckUtils]: 0: Hoare triple {52173#(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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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, 12 + ~irpStack~4.offset, 4);~powerType~0 := #t~mem125;havoc #t~mem125;call #t~mem126 := read~int(~irpStack~4.base, 16 + ~irpStack~4.offset, 4);call #t~mem127 := read~int(~irpStack~4.base, 16 + ~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); {52106#true} is VALID [2022-04-08 15:11:39,242 INFO L290 TraceCheckUtils]: 1: Hoare triple {52106#true} assume 2 == #t~mem128 % 256;havoc #t~mem128; {52106#true} is VALID [2022-04-08 15:11:39,242 INFO L290 TraceCheckUtils]: 2: Hoare triple {52106#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, 96 + ~devExt~4.offset, 4);havoc #t~mem132; {52106#true} is VALID [2022-04-08 15:11:39,242 INFO L290 TraceCheckUtils]: 3: Hoare triple {52106#true} assume ~s~0 == ~NP~0;~s~0 := ~SKIP1~0; {52174#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-08 15:11:39,243 INFO L290 TraceCheckUtils]: 4: Hoare triple {52174#(= ~SKIP1~0 ~s~0)} call #t~mem133 := read~int(~Irp.base, 63 + ~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, 63 + ~Irp.offset, 1);havoc #t~mem133;call #t~mem134.base, #t~mem134.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);call write~$Pointer$(#t~mem134.base, 68 + #t~mem134.offset, ~Irp.base, 180 + ~Irp.offset, 8);havoc #t~mem134.base, #t~mem134.offset;call #t~mem135.base, #t~mem135.offset := read~$Pointer$(~devExt~4.base, 16 + ~devExt~4.offset, 8); {52174#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-08 15:11:39,243 INFO L272 TraceCheckUtils]: 5: Hoare triple {52174#(= ~SKIP1~0 ~s~0)} call #t~ret136 := PoCallDriver(#t~mem135.base, #t~mem135.offset, ~Irp.base, ~Irp.offset); {52187#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:11:39,244 INFO L290 TraceCheckUtils]: 6: Hoare triple {52187#(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; {52188#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:11:39,244 INFO L290 TraceCheckUtils]: 7: Hoare triple {52188#(= ~s~0 |old(~s~0)|)} assume !(0 != ~compRegistered~0); {52188#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:11:39,244 INFO L290 TraceCheckUtils]: 8: Hoare triple {52188#(= ~s~0 |old(~s~0)|)} assume !(0 == ~__BLAST_NONDET~16); {52188#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:11:39,245 INFO L290 TraceCheckUtils]: 9: Hoare triple {52188#(= ~s~0 |old(~s~0)|)} assume !(1 == ~__BLAST_NONDET~16); {52188#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:11:39,245 INFO L290 TraceCheckUtils]: 10: Hoare triple {52188#(= ~s~0 |old(~s~0)|)} ~returnVal~0 := 259; {52188#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:11:39,245 INFO L290 TraceCheckUtils]: 11: Hoare triple {52188#(= ~s~0 |old(~s~0)|)} assume !(~s~0 == ~NP~0); {52188#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:11:39,245 INFO L290 TraceCheckUtils]: 12: Hoare triple {52188#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~MPR1~0; {52189#(= ~MPR1~0 |old(~s~0)|)} is VALID [2022-04-08 15:11:39,246 INFO L290 TraceCheckUtils]: 13: Hoare triple {52189#(= ~MPR1~0 |old(~s~0)|)} assume 259 == ~returnVal~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := (if ~returnVal~0 % 4294967296 <= 2147483647 then ~returnVal~0 % 4294967296 else ~returnVal~0 % 4294967296 - 4294967296); {52189#(= ~MPR1~0 |old(~s~0)|)} is VALID [2022-04-08 15:11:39,246 INFO L290 TraceCheckUtils]: 14: Hoare triple {52189#(= ~MPR1~0 |old(~s~0)|)} #res := ~returnVal~0; {52189#(= ~MPR1~0 |old(~s~0)|)} is VALID [2022-04-08 15:11:39,246 INFO L290 TraceCheckUtils]: 15: Hoare triple {52189#(= ~MPR1~0 |old(~s~0)|)} assume true; {52189#(= ~MPR1~0 |old(~s~0)|)} is VALID [2022-04-08 15:11:39,247 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {52189#(= ~MPR1~0 |old(~s~0)|)} {52174#(= ~SKIP1~0 ~s~0)} #1268#return; {52186#(= ~MPR1~0 ~SKIP1~0)} is VALID [2022-04-08 15:11:39,247 INFO L290 TraceCheckUtils]: 17: Hoare triple {52186#(= ~MPR1~0 ~SKIP1~0)} assume -9223372036854775808 <= #t~ret136 && #t~ret136 <= 9223372036854775807;~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; {52186#(= ~MPR1~0 ~SKIP1~0)} is VALID [2022-04-08 15:11:39,247 INFO L290 TraceCheckUtils]: 18: Hoare triple {52186#(= ~MPR1~0 ~SKIP1~0)} assume true; {52186#(= ~MPR1~0 ~SKIP1~0)} is VALID [2022-04-08 15:11:39,248 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {52186#(= ~MPR1~0 ~SKIP1~0)} {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} #1232#return; {52107#false} is VALID [2022-04-08 15:11:39,249 INFO L272 TraceCheckUtils]: 0: Hoare triple {52106#true} call ULTIMATE.init(); {52158#(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 15:11:39,250 INFO L290 TraceCheckUtils]: 1: Hoare triple {52158#(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; {52106#true} is VALID [2022-04-08 15:11:39,250 INFO L290 TraceCheckUtils]: 2: Hoare triple {52106#true} assume true; {52106#true} is VALID [2022-04-08 15:11:39,250 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52106#true} {52106#true} #1270#return; {52106#true} is VALID [2022-04-08 15:11:39,250 INFO L272 TraceCheckUtils]: 4: Hoare triple {52106#true} call #t~ret213 := main(); {52106#true} is VALID [2022-04-08 15:11:39,250 INFO L290 TraceCheckUtils]: 5: Hoare triple {52106#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {52106#true} is VALID [2022-04-08 15:11:39,251 INFO L272 TraceCheckUtils]: 6: Hoare triple {52106#true} call _BLAST_init(); {52159#(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 15:11:39,251 INFO L290 TraceCheckUtils]: 7: Hoare triple {52159#(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; {52160#(and (<= 5 ~MPR1~0) (= (+ ~SKIP1~0 (- 3)) 0))} is VALID [2022-04-08 15:11:39,251 INFO L290 TraceCheckUtils]: 8: Hoare triple {52160#(and (<= 5 ~MPR1~0) (= (+ ~SKIP1~0 (- 3)) 0))} assume true; {52160#(and (<= 5 ~MPR1~0) (= (+ ~SKIP1~0 (- 3)) 0))} is VALID [2022-04-08 15:11:39,252 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {52160#(and (<= 5 ~MPR1~0) (= (+ ~SKIP1~0 (- 3)) 0))} {52106#true} #1216#return; {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:39,253 INFO L272 TraceCheckUtils]: 10: Hoare triple {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {52161#(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 15:11:39,253 INFO L290 TraceCheckUtils]: 11: Hoare triple {52161#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {52106#true} is VALID [2022-04-08 15:11:39,253 INFO L272 TraceCheckUtils]: 12: Hoare triple {52106#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {52106#true} is VALID [2022-04-08 15:11:39,253 INFO L290 TraceCheckUtils]: 13: Hoare triple {52106#true} ~cond := #in~cond; {52106#true} is VALID [2022-04-08 15:11:39,253 INFO L290 TraceCheckUtils]: 14: Hoare triple {52106#true} assume !(0 == ~cond); {52106#true} is VALID [2022-04-08 15:11:39,253 INFO L290 TraceCheckUtils]: 15: Hoare triple {52106#true} assume true; {52106#true} is VALID [2022-04-08 15:11:39,253 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {52106#true} {52106#true} #1254#return; {52106#true} is VALID [2022-04-08 15:11:39,253 INFO L290 TraceCheckUtils]: 17: Hoare triple {52106#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {52106#true} is VALID [2022-04-08 15:11:39,253 INFO L290 TraceCheckUtils]: 18: Hoare triple {52106#true} assume true; {52106#true} is VALID [2022-04-08 15:11:39,254 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {52106#true} {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} #1218#return; {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:39,254 INFO L290 TraceCheckUtils]: 20: Hoare triple {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:39,255 INFO L290 TraceCheckUtils]: 21: Hoare triple {52114#(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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:39,255 INFO L290 TraceCheckUtils]: 22: Hoare triple {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:39,256 INFO L272 TraceCheckUtils]: 23: Hoare triple {52114#(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); {52166#(and (= |old(#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 15:11:39,256 INFO L290 TraceCheckUtils]: 24: Hoare triple {52166#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {52106#true} is VALID [2022-04-08 15:11:39,257 INFO L272 TraceCheckUtils]: 25: Hoare triple {52106#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {52166#(and (= |old(#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 15:11:39,257 INFO L290 TraceCheckUtils]: 26: Hoare triple {52166#(and (= |old(#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; {52106#true} is VALID [2022-04-08 15:11:39,257 INFO L290 TraceCheckUtils]: 27: Hoare triple {52106#true} assume !(0 == ~__BLAST_NONDET~5); {52106#true} is VALID [2022-04-08 15:11:39,257 INFO L290 TraceCheckUtils]: 28: Hoare triple {52106#true} #res := -1073741823; {52106#true} is VALID [2022-04-08 15:11:39,257 INFO L290 TraceCheckUtils]: 29: Hoare triple {52106#true} assume true; {52106#true} is VALID [2022-04-08 15:11:39,257 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {52106#true} {52106#true} #1176#return; {52106#true} is VALID [2022-04-08 15:11:39,258 INFO L290 TraceCheckUtils]: 31: Hoare triple {52106#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {52106#true} is VALID [2022-04-08 15:11:39,258 INFO L290 TraceCheckUtils]: 32: Hoare triple {52106#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {52106#true} is VALID [2022-04-08 15:11:39,258 INFO L290 TraceCheckUtils]: 33: Hoare triple {52106#true} assume true; {52106#true} is VALID [2022-04-08 15:11:39,258 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {52106#true} {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} #1220#return; {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:39,259 INFO L290 TraceCheckUtils]: 35: Hoare triple {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:39,259 INFO L272 TraceCheckUtils]: 36: Hoare triple {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} call stub_driver_init(); {52172#(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 15:11:39,259 INFO L290 TraceCheckUtils]: 37: Hoare triple {52172#(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; {52106#true} is VALID [2022-04-08 15:11:39,259 INFO L290 TraceCheckUtils]: 38: Hoare triple {52106#true} assume true; {52106#true} is VALID [2022-04-08 15:11:39,260 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {52106#true} {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} #1222#return; {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:39,260 INFO L290 TraceCheckUtils]: 40: Hoare triple {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume !!(~status~5 >= 0); {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:39,260 INFO L290 TraceCheckUtils]: 41: Hoare triple {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume !(0 == ~__BLAST_NONDET~0); {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:39,261 INFO L290 TraceCheckUtils]: 42: Hoare triple {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume !(1 == ~__BLAST_NONDET~0); {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:39,261 INFO L290 TraceCheckUtils]: 43: Hoare triple {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume !(2 == ~__BLAST_NONDET~0); {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:39,261 INFO L290 TraceCheckUtils]: 44: Hoare triple {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume !(3 == ~__BLAST_NONDET~0); {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:39,262 INFO L290 TraceCheckUtils]: 45: Hoare triple {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} assume 4 == ~__BLAST_NONDET~0; {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} is VALID [2022-04-08 15:11:39,263 INFO L272 TraceCheckUtils]: 46: Hoare triple {52114#(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); {52173#(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 15:11:39,263 INFO L290 TraceCheckUtils]: 47: Hoare triple {52173#(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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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, 12 + ~irpStack~4.offset, 4);~powerType~0 := #t~mem125;havoc #t~mem125;call #t~mem126 := read~int(~irpStack~4.base, 16 + ~irpStack~4.offset, 4);call #t~mem127 := read~int(~irpStack~4.base, 16 + ~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); {52106#true} is VALID [2022-04-08 15:11:39,263 INFO L290 TraceCheckUtils]: 48: Hoare triple {52106#true} assume 2 == #t~mem128 % 256;havoc #t~mem128; {52106#true} is VALID [2022-04-08 15:11:39,263 INFO L290 TraceCheckUtils]: 49: Hoare triple {52106#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, 96 + ~devExt~4.offset, 4);havoc #t~mem132; {52106#true} is VALID [2022-04-08 15:11:39,263 INFO L290 TraceCheckUtils]: 50: Hoare triple {52106#true} assume ~s~0 == ~NP~0;~s~0 := ~SKIP1~0; {52174#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-08 15:11:39,264 INFO L290 TraceCheckUtils]: 51: Hoare triple {52174#(= ~SKIP1~0 ~s~0)} call #t~mem133 := read~int(~Irp.base, 63 + ~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, 63 + ~Irp.offset, 1);havoc #t~mem133;call #t~mem134.base, #t~mem134.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);call write~$Pointer$(#t~mem134.base, 68 + #t~mem134.offset, ~Irp.base, 180 + ~Irp.offset, 8);havoc #t~mem134.base, #t~mem134.offset;call #t~mem135.base, #t~mem135.offset := read~$Pointer$(~devExt~4.base, 16 + ~devExt~4.offset, 8); {52174#(= ~SKIP1~0 ~s~0)} is VALID [2022-04-08 15:11:39,264 INFO L272 TraceCheckUtils]: 52: Hoare triple {52174#(= ~SKIP1~0 ~s~0)} call #t~ret136 := PoCallDriver(#t~mem135.base, #t~mem135.offset, ~Irp.base, ~Irp.offset); {52187#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:11:39,265 INFO L290 TraceCheckUtils]: 53: Hoare triple {52187#(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; {52188#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:11:39,265 INFO L290 TraceCheckUtils]: 54: Hoare triple {52188#(= ~s~0 |old(~s~0)|)} assume !(0 != ~compRegistered~0); {52188#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:11:39,265 INFO L290 TraceCheckUtils]: 55: Hoare triple {52188#(= ~s~0 |old(~s~0)|)} assume !(0 == ~__BLAST_NONDET~16); {52188#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:11:39,265 INFO L290 TraceCheckUtils]: 56: Hoare triple {52188#(= ~s~0 |old(~s~0)|)} assume !(1 == ~__BLAST_NONDET~16); {52188#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:11:39,266 INFO L290 TraceCheckUtils]: 57: Hoare triple {52188#(= ~s~0 |old(~s~0)|)} ~returnVal~0 := 259; {52188#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:11:39,266 INFO L290 TraceCheckUtils]: 58: Hoare triple {52188#(= ~s~0 |old(~s~0)|)} assume !(~s~0 == ~NP~0); {52188#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:11:39,266 INFO L290 TraceCheckUtils]: 59: Hoare triple {52188#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~MPR1~0; {52189#(= ~MPR1~0 |old(~s~0)|)} is VALID [2022-04-08 15:11:39,266 INFO L290 TraceCheckUtils]: 60: Hoare triple {52189#(= ~MPR1~0 |old(~s~0)|)} assume 259 == ~returnVal~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := (if ~returnVal~0 % 4294967296 <= 2147483647 then ~returnVal~0 % 4294967296 else ~returnVal~0 % 4294967296 - 4294967296); {52189#(= ~MPR1~0 |old(~s~0)|)} is VALID [2022-04-08 15:11:39,266 INFO L290 TraceCheckUtils]: 61: Hoare triple {52189#(= ~MPR1~0 |old(~s~0)|)} #res := ~returnVal~0; {52189#(= ~MPR1~0 |old(~s~0)|)} is VALID [2022-04-08 15:11:39,267 INFO L290 TraceCheckUtils]: 62: Hoare triple {52189#(= ~MPR1~0 |old(~s~0)|)} assume true; {52189#(= ~MPR1~0 |old(~s~0)|)} is VALID [2022-04-08 15:11:39,268 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {52189#(= ~MPR1~0 |old(~s~0)|)} {52174#(= ~SKIP1~0 ~s~0)} #1268#return; {52186#(= ~MPR1~0 ~SKIP1~0)} is VALID [2022-04-08 15:11:39,268 INFO L290 TraceCheckUtils]: 64: Hoare triple {52186#(= ~MPR1~0 ~SKIP1~0)} assume -9223372036854775808 <= #t~ret136 && #t~ret136 <= 9223372036854775807;~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; {52186#(= ~MPR1~0 ~SKIP1~0)} is VALID [2022-04-08 15:11:39,268 INFO L290 TraceCheckUtils]: 65: Hoare triple {52186#(= ~MPR1~0 ~SKIP1~0)} assume true; {52186#(= ~MPR1~0 ~SKIP1~0)} is VALID [2022-04-08 15:11:39,269 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {52186#(= ~MPR1~0 ~SKIP1~0)} {52114#(and (not (= ~MPR1~0 3)) (= ~SKIP1~0 3))} #1232#return; {52107#false} is VALID [2022-04-08 15:11:39,269 INFO L290 TraceCheckUtils]: 67: Hoare triple {52107#false} assume -9223372036854775808 <= #t~ret175 && #t~ret175 <= 9223372036854775807;~status~5 := #t~ret175;havoc #t~ret175; {52107#false} is VALID [2022-04-08 15:11:39,269 INFO L290 TraceCheckUtils]: 68: Hoare triple {52107#false} assume 0 != ~we_should_unload~0; {52107#false} is VALID [2022-04-08 15:11:39,269 INFO L290 TraceCheckUtils]: 69: Hoare triple {52107#false} assume !(1 == ~pended~0); {52107#false} is VALID [2022-04-08 15:11:39,269 INFO L290 TraceCheckUtils]: 70: Hoare triple {52107#false} assume !(1 == ~pended~0); {52107#false} is VALID [2022-04-08 15:11:39,269 INFO L290 TraceCheckUtils]: 71: Hoare triple {52107#false} assume !(~s~0 == ~UNLOADED~0); {52107#false} is VALID [2022-04-08 15:11:39,269 INFO L290 TraceCheckUtils]: 72: Hoare triple {52107#false} assume !(-1 == ~status~5); {52107#false} is VALID [2022-04-08 15:11:39,269 INFO L290 TraceCheckUtils]: 73: Hoare triple {52107#false} assume ~s~0 != ~SKIP2~0; {52107#false} is VALID [2022-04-08 15:11:39,269 INFO L290 TraceCheckUtils]: 74: Hoare triple {52107#false} assume !(~s~0 != ~IPC~0); {52107#false} is VALID [2022-04-08 15:11:39,269 INFO L290 TraceCheckUtils]: 75: Hoare triple {52107#false} assume !(1 == ~pended~0); {52107#false} is VALID [2022-04-08 15:11:39,269 INFO L290 TraceCheckUtils]: 76: Hoare triple {52107#false} assume ~s~0 == ~DC~0; {52107#false} is VALID [2022-04-08 15:11:39,269 INFO L290 TraceCheckUtils]: 77: Hoare triple {52107#false} assume 259 == ~status~5; {52107#false} is VALID [2022-04-08 15:11:39,270 INFO L272 TraceCheckUtils]: 78: Hoare triple {52107#false} call errorFn(); {52107#false} is VALID [2022-04-08 15:11:39,270 INFO L290 TraceCheckUtils]: 79: Hoare triple {52107#false} assume !false; {52107#false} is VALID [2022-04-08 15:11:39,270 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 15:11:39,270 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:11:39,270 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [111763656] [2022-04-08 15:11:39,270 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [111763656] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:11:39,270 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:11:39,270 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 15:11:39,270 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:11:39,270 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [150679453] [2022-04-08 15:11:39,271 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [150679453] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:11:39,271 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:11:39,271 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 15:11:39,271 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [327445745] [2022-04-08 15:11:39,271 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:11:39,271 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 15:11:39,271 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:11:39,271 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 15:11:39,333 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 15:11:39,333 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-08 15:11:39,333 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:11:39,334 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-08 15:11:39,334 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=167, Unknown=0, NotChecked=0, Total=210 [2022-04-08 15:11:39,334 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 15:11:41,584 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 15:11:48,465 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.14s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 15:11:52,738 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:11:52,739 INFO L93 Difference]: Finished difference Result 353 states and 444 transitions. [2022-04-08 15:11:52,739 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-08 15:11:52,739 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 15:11:52,739 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:11:52,739 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 15:11:52,741 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 402 transitions. [2022-04-08 15:11:52,741 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 15:11:52,743 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 402 transitions. [2022-04-08 15:11:52,743 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 402 transitions. [2022-04-08 15:11:53,246 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 15:11:53,249 INFO L225 Difference]: With dead ends: 353 [2022-04-08 15:11:53,249 INFO L226 Difference]: Without dead ends: 205 [2022-04-08 15:11:53,249 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 15:11:53,249 INFO L913 BasicCegarLoop]: 230 mSDtfsCounter, 954 mSDsluCounter, 242 mSDsCounter, 0 mSdLazyCounter, 1429 mSolverCounterSat, 325 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 7.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 960 SdHoareTripleChecker+Valid, 472 SdHoareTripleChecker+Invalid, 1755 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 325 IncrementalHoareTripleChecker+Valid, 1429 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 7.5s IncrementalHoareTripleChecker+Time [2022-04-08 15:11:53,250 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [960 Valid, 472 Invalid, 1755 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [325 Valid, 1429 Invalid, 1 Unknown, 0 Unchecked, 7.5s Time] [2022-04-08 15:11:53,250 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 205 states. [2022-04-08 15:11:53,576 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 205 to 186. [2022-04-08 15:11:53,576 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:11:53,576 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 15:11:53,576 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 15:11:53,577 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 15:11:53,579 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:11:53,579 INFO L93 Difference]: Finished difference Result 205 states and 246 transitions. [2022-04-08 15:11:53,579 INFO L276 IsEmpty]: Start isEmpty. Operand 205 states and 246 transitions. [2022-04-08 15:11:53,579 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:11:53,579 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:11:53,580 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 15:11:53,580 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 15:11:53,582 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:11:53,582 INFO L93 Difference]: Finished difference Result 205 states and 246 transitions. [2022-04-08 15:11:53,582 INFO L276 IsEmpty]: Start isEmpty. Operand 205 states and 246 transitions. [2022-04-08 15:11:53,582 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:11:53,582 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:11:53,582 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:11:53,582 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:11:53,583 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 15:11:53,585 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 186 states to 186 states and 220 transitions. [2022-04-08 15:11:53,585 INFO L78 Accepts]: Start accepts. Automaton has 186 states and 220 transitions. Word has length 80 [2022-04-08 15:11:53,585 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:11:53,585 INFO L478 AbstractCegarLoop]: Abstraction has 186 states and 220 transitions. [2022-04-08 15:11:53,585 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 15:11:53,585 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 186 states and 220 transitions. [2022-04-08 15:11:54,070 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 15:11:54,071 INFO L276 IsEmpty]: Start isEmpty. Operand 186 states and 220 transitions. [2022-04-08 15:11:54,071 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 89 [2022-04-08 15:11:54,071 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:11:54,071 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 15:11:54,071 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable21 [2022-04-08 15:11:54,071 INFO L403 AbstractCegarLoop]: === Iteration 23 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:11:54,071 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:11:54,072 INFO L85 PathProgramCache]: Analyzing trace with hash 1299022194, now seen corresponding path program 1 times [2022-04-08 15:11:54,072 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:11:54,072 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [119627581] [2022-04-08 15:11:54,072 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 15:11:54,072 INFO L85 PathProgramCache]: Analyzing trace with hash 1299022194, now seen corresponding path program 2 times [2022-04-08 15:11:54,072 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:11:54,072 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1826607036] [2022-04-08 15:11:54,072 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:11:54,072 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:11:54,131 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:54,216 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:11:54,218 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:54,222 INFO L290 TraceCheckUtils]: 0: Hoare triple {53771#(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; {53714#true} is VALID [2022-04-08 15:11:54,222 INFO L290 TraceCheckUtils]: 1: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-08 15:11:54,223 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {53714#true} {53714#true} #1270#return; {53714#true} is VALID [2022-04-08 15:11:54,245 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:11:54,246 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:54,250 INFO L290 TraceCheckUtils]: 0: Hoare triple {53772#(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; {53714#true} is VALID [2022-04-08 15:11:54,250 INFO L290 TraceCheckUtils]: 1: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-08 15:11:54,250 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {53714#true} {53714#true} #1216#return; {53714#true} is VALID [2022-04-08 15:11:54,257 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:11:54,262 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:54,269 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:11:54,270 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:54,273 INFO L290 TraceCheckUtils]: 0: Hoare triple {53714#true} ~cond := #in~cond; {53714#true} is VALID [2022-04-08 15:11:54,274 INFO L290 TraceCheckUtils]: 1: Hoare triple {53714#true} assume !(0 == ~cond); {53714#true} is VALID [2022-04-08 15:11:54,274 INFO L290 TraceCheckUtils]: 2: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-08 15:11:54,274 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {53714#true} {53714#true} #1254#return; {53714#true} is VALID [2022-04-08 15:11:54,274 INFO L290 TraceCheckUtils]: 0: Hoare triple {53773#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {53714#true} is VALID [2022-04-08 15:11:54,274 INFO L272 TraceCheckUtils]: 1: Hoare triple {53714#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {53714#true} is VALID [2022-04-08 15:11:54,274 INFO L290 TraceCheckUtils]: 2: Hoare triple {53714#true} ~cond := #in~cond; {53714#true} is VALID [2022-04-08 15:11:54,274 INFO L290 TraceCheckUtils]: 3: Hoare triple {53714#true} assume !(0 == ~cond); {53714#true} is VALID [2022-04-08 15:11:54,274 INFO L290 TraceCheckUtils]: 4: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-08 15:11:54,274 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {53714#true} {53714#true} #1254#return; {53714#true} is VALID [2022-04-08 15:11:54,274 INFO L290 TraceCheckUtils]: 6: Hoare triple {53714#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {53714#true} is VALID [2022-04-08 15:11:54,274 INFO L290 TraceCheckUtils]: 7: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-08 15:11:54,274 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {53714#true} {53714#true} #1218#return; {53714#true} is VALID [2022-04-08 15:11:54,283 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:11:54,286 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:54,290 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:11:54,292 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:54,296 INFO L290 TraceCheckUtils]: 0: Hoare triple {53778#(and (= |old(#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; {53714#true} is VALID [2022-04-08 15:11:54,296 INFO L290 TraceCheckUtils]: 1: Hoare triple {53714#true} assume !(0 == ~__BLAST_NONDET~5); {53714#true} is VALID [2022-04-08 15:11:54,296 INFO L290 TraceCheckUtils]: 2: Hoare triple {53714#true} #res := -1073741823; {53714#true} is VALID [2022-04-08 15:11:54,296 INFO L290 TraceCheckUtils]: 3: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-08 15:11:54,296 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {53714#true} {53714#true} #1176#return; {53714#true} is VALID [2022-04-08 15:11:54,297 INFO L290 TraceCheckUtils]: 0: Hoare triple {53778#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {53714#true} is VALID [2022-04-08 15:11:54,298 INFO L272 TraceCheckUtils]: 1: Hoare triple {53714#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {53778#(and (= |old(#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 15:11:54,298 INFO L290 TraceCheckUtils]: 2: Hoare triple {53778#(and (= |old(#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; {53714#true} is VALID [2022-04-08 15:11:54,298 INFO L290 TraceCheckUtils]: 3: Hoare triple {53714#true} assume !(0 == ~__BLAST_NONDET~5); {53714#true} is VALID [2022-04-08 15:11:54,298 INFO L290 TraceCheckUtils]: 4: Hoare triple {53714#true} #res := -1073741823; {53714#true} is VALID [2022-04-08 15:11:54,298 INFO L290 TraceCheckUtils]: 5: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-08 15:11:54,298 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {53714#true} {53714#true} #1176#return; {53714#true} is VALID [2022-04-08 15:11:54,298 INFO L290 TraceCheckUtils]: 7: Hoare triple {53714#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {53714#true} is VALID [2022-04-08 15:11:54,298 INFO L290 TraceCheckUtils]: 8: Hoare triple {53714#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {53714#true} is VALID [2022-04-08 15:11:54,298 INFO L290 TraceCheckUtils]: 9: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-08 15:11:54,298 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {53714#true} {53714#true} #1220#return; {53714#true} is VALID [2022-04-08 15:11:54,310 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 15:11:54,311 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:54,315 INFO L290 TraceCheckUtils]: 0: Hoare triple {53784#(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; {53714#true} is VALID [2022-04-08 15:11:54,315 INFO L290 TraceCheckUtils]: 1: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-08 15:11:54,315 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {53714#true} {53714#true} #1222#return; {53714#true} is VALID [2022-04-08 15:11:54,315 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 49 [2022-04-08 15:11:54,317 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:54,322 INFO L290 TraceCheckUtils]: 0: Hoare triple {53773#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {53714#true} is VALID [2022-04-08 15:11:54,322 INFO L290 TraceCheckUtils]: 1: Hoare triple {53714#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {53714#true} is VALID [2022-04-08 15:11:54,322 INFO L290 TraceCheckUtils]: 2: Hoare triple {53714#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {53714#true} is VALID [2022-04-08 15:11:54,322 INFO L290 TraceCheckUtils]: 3: Hoare triple {53714#true} assume #res.base == dest.base && #res.offset == dest.offset; {53714#true} is VALID [2022-04-08 15:11:54,322 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {53714#true} {53714#true} #1186#return; {53714#true} is VALID [2022-04-08 15:11:54,330 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 59 [2022-04-08 15:11:54,338 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:54,383 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 15:11:54,385 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:54,390 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:11:54,391 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:11:54,397 INFO L290 TraceCheckUtils]: 0: Hoare triple {53796#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {53714#true} is VALID [2022-04-08 15:11:54,397 INFO L290 TraceCheckUtils]: 1: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-08 15:11:54,397 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {53714#true} {53714#true} #1174#return; {53714#true} is VALID [2022-04-08 15:11:54,397 INFO L290 TraceCheckUtils]: 0: Hoare triple {53796#(= ~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; {53714#true} is VALID [2022-04-08 15:11:54,398 INFO L272 TraceCheckUtils]: 1: Hoare triple {53714#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {53796#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:11:54,398 INFO L290 TraceCheckUtils]: 2: Hoare triple {53796#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {53714#true} is VALID [2022-04-08 15:11:54,398 INFO L290 TraceCheckUtils]: 3: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-08 15:11:54,398 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {53714#true} {53714#true} #1174#return; {53714#true} is VALID [2022-04-08 15:11:54,398 INFO L290 TraceCheckUtils]: 5: Hoare triple {53714#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {53714#true} is VALID [2022-04-08 15:11:54,398 INFO L290 TraceCheckUtils]: 6: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-08 15:11:54,398 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {53714#true} {53714#true} #1210#return; {53714#true} is VALID [2022-04-08 15:11:54,398 INFO L290 TraceCheckUtils]: 0: Hoare triple {53785#(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; {53714#true} is VALID [2022-04-08 15:11:54,398 INFO L290 TraceCheckUtils]: 1: Hoare triple {53714#true} assume 0 != ~compRegistered~0; {53714#true} is VALID [2022-04-08 15:11:54,399 INFO L272 TraceCheckUtils]: 2: Hoare triple {53714#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {53796#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:11:54,399 INFO L290 TraceCheckUtils]: 3: Hoare triple {53796#(= ~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; {53714#true} is VALID [2022-04-08 15:11:54,399 INFO L272 TraceCheckUtils]: 4: Hoare triple {53714#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {53796#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:11:54,399 INFO L290 TraceCheckUtils]: 5: Hoare triple {53796#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {53714#true} is VALID [2022-04-08 15:11:54,399 INFO L290 TraceCheckUtils]: 6: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-08 15:11:54,399 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {53714#true} {53714#true} #1174#return; {53714#true} is VALID [2022-04-08 15:11:54,399 INFO L290 TraceCheckUtils]: 8: Hoare triple {53714#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {53714#true} is VALID [2022-04-08 15:11:54,400 INFO L290 TraceCheckUtils]: 9: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-08 15:11:54,400 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {53714#true} {53714#true} #1210#return; {53714#true} is VALID [2022-04-08 15:11:54,400 INFO L290 TraceCheckUtils]: 11: Hoare triple {53714#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {53714#true} is VALID [2022-04-08 15:11:54,400 INFO L290 TraceCheckUtils]: 12: Hoare triple {53714#true} assume !(-1073741802 == ~compRetStatus~0); {53714#true} is VALID [2022-04-08 15:11:54,400 INFO L290 TraceCheckUtils]: 13: Hoare triple {53714#true} assume 0 == ~__BLAST_NONDET~11; {53714#true} is VALID [2022-04-08 15:11:54,400 INFO L290 TraceCheckUtils]: 14: Hoare triple {53714#true} ~returnVal2~0 := 0; {53794#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:11:54,400 INFO L290 TraceCheckUtils]: 15: Hoare triple {53794#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {53794#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:11:54,401 INFO L290 TraceCheckUtils]: 16: Hoare triple {53794#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} #res := ~returnVal2~0; {53795#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} is VALID [2022-04-08 15:11:54,401 INFO L290 TraceCheckUtils]: 17: Hoare triple {53795#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} assume true; {53795#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} is VALID [2022-04-08 15:11:54,402 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {53795#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} {53714#true} #1192#return; {53769#(= |KbFilter_PnP_#t~ret109| 0)} is VALID [2022-04-08 15:11:54,403 INFO L272 TraceCheckUtils]: 0: Hoare triple {53714#true} call ULTIMATE.init(); {53771#(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 15:11:54,403 INFO L290 TraceCheckUtils]: 1: Hoare triple {53771#(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; {53714#true} is VALID [2022-04-08 15:11:54,403 INFO L290 TraceCheckUtils]: 2: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-08 15:11:54,403 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {53714#true} {53714#true} #1270#return; {53714#true} is VALID [2022-04-08 15:11:54,403 INFO L272 TraceCheckUtils]: 4: Hoare triple {53714#true} call #t~ret213 := main(); {53714#true} is VALID [2022-04-08 15:11:54,403 INFO L290 TraceCheckUtils]: 5: Hoare triple {53714#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {53714#true} is VALID [2022-04-08 15:11:54,404 INFO L272 TraceCheckUtils]: 6: Hoare triple {53714#true} call _BLAST_init(); {53772#(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 15:11:54,404 INFO L290 TraceCheckUtils]: 7: Hoare triple {53772#(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; {53714#true} is VALID [2022-04-08 15:11:54,404 INFO L290 TraceCheckUtils]: 8: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-08 15:11:54,404 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {53714#true} {53714#true} #1216#return; {53714#true} is VALID [2022-04-08 15:11:54,405 INFO L272 TraceCheckUtils]: 10: Hoare triple {53714#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {53773#(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 15:11:54,405 INFO L290 TraceCheckUtils]: 11: Hoare triple {53773#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {53714#true} is VALID [2022-04-08 15:11:54,405 INFO L272 TraceCheckUtils]: 12: Hoare triple {53714#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {53714#true} is VALID [2022-04-08 15:11:54,405 INFO L290 TraceCheckUtils]: 13: Hoare triple {53714#true} ~cond := #in~cond; {53714#true} is VALID [2022-04-08 15:11:54,405 INFO L290 TraceCheckUtils]: 14: Hoare triple {53714#true} assume !(0 == ~cond); {53714#true} is VALID [2022-04-08 15:11:54,405 INFO L290 TraceCheckUtils]: 15: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-08 15:11:54,405 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {53714#true} {53714#true} #1254#return; {53714#true} is VALID [2022-04-08 15:11:54,405 INFO L290 TraceCheckUtils]: 17: Hoare triple {53714#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {53714#true} is VALID [2022-04-08 15:11:54,405 INFO L290 TraceCheckUtils]: 18: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-08 15:11:54,405 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {53714#true} {53714#true} #1218#return; {53714#true} is VALID [2022-04-08 15:11:54,405 INFO L290 TraceCheckUtils]: 20: Hoare triple {53714#true} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {53714#true} is VALID [2022-04-08 15:11:54,405 INFO L290 TraceCheckUtils]: 21: Hoare triple {53714#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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {53714#true} is VALID [2022-04-08 15:11:54,405 INFO L290 TraceCheckUtils]: 22: Hoare triple {53714#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {53714#true} is VALID [2022-04-08 15:11:54,406 INFO L272 TraceCheckUtils]: 23: Hoare triple {53714#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {53778#(and (= |old(#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 15:11:54,406 INFO L290 TraceCheckUtils]: 24: Hoare triple {53778#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {53714#true} is VALID [2022-04-08 15:11:54,407 INFO L272 TraceCheckUtils]: 25: Hoare triple {53714#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {53778#(and (= |old(#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 15:11:54,407 INFO L290 TraceCheckUtils]: 26: Hoare triple {53778#(and (= |old(#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; {53714#true} is VALID [2022-04-08 15:11:54,407 INFO L290 TraceCheckUtils]: 27: Hoare triple {53714#true} assume !(0 == ~__BLAST_NONDET~5); {53714#true} is VALID [2022-04-08 15:11:54,407 INFO L290 TraceCheckUtils]: 28: Hoare triple {53714#true} #res := -1073741823; {53714#true} is VALID [2022-04-08 15:11:54,407 INFO L290 TraceCheckUtils]: 29: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-08 15:11:54,407 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {53714#true} {53714#true} #1176#return; {53714#true} is VALID [2022-04-08 15:11:54,407 INFO L290 TraceCheckUtils]: 31: Hoare triple {53714#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {53714#true} is VALID [2022-04-08 15:11:54,407 INFO L290 TraceCheckUtils]: 32: Hoare triple {53714#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {53714#true} is VALID [2022-04-08 15:11:54,408 INFO L290 TraceCheckUtils]: 33: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-08 15:11:54,408 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {53714#true} {53714#true} #1220#return; {53714#true} is VALID [2022-04-08 15:11:54,408 INFO L290 TraceCheckUtils]: 35: Hoare triple {53714#true} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {53714#true} is VALID [2022-04-08 15:11:54,408 INFO L272 TraceCheckUtils]: 36: Hoare triple {53714#true} call stub_driver_init(); {53784#(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 15:11:54,408 INFO L290 TraceCheckUtils]: 37: Hoare triple {53784#(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; {53714#true} is VALID [2022-04-08 15:11:54,408 INFO L290 TraceCheckUtils]: 38: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-08 15:11:54,408 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {53714#true} {53714#true} #1222#return; {53714#true} is VALID [2022-04-08 15:11:54,408 INFO L290 TraceCheckUtils]: 40: Hoare triple {53714#true} assume !!(~status~5 >= 0); {53714#true} is VALID [2022-04-08 15:11:54,408 INFO L290 TraceCheckUtils]: 41: Hoare triple {53714#true} assume !(0 == ~__BLAST_NONDET~0); {53714#true} is VALID [2022-04-08 15:11:54,409 INFO L290 TraceCheckUtils]: 42: Hoare triple {53714#true} assume !(1 == ~__BLAST_NONDET~0); {53714#true} is VALID [2022-04-08 15:11:54,409 INFO L290 TraceCheckUtils]: 43: Hoare triple {53714#true} assume !(2 == ~__BLAST_NONDET~0); {53714#true} is VALID [2022-04-08 15:11:54,409 INFO L290 TraceCheckUtils]: 44: Hoare triple {53714#true} assume 3 == ~__BLAST_NONDET~0; {53714#true} is VALID [2022-04-08 15:11:54,409 INFO L272 TraceCheckUtils]: 45: Hoare triple {53714#true} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {53714#true} is VALID [2022-04-08 15:11:54,409 INFO L290 TraceCheckUtils]: 46: Hoare triple {53714#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(28);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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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); {53714#true} is VALID [2022-04-08 15:11:54,409 INFO L290 TraceCheckUtils]: 47: Hoare triple {53714#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {53714#true} is VALID [2022-04-08 15:11:54,409 INFO L290 TraceCheckUtils]: 48: Hoare triple {53714#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 180 + ~Irp.offset, 8);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 68;havoc #t~mem103.base, #t~mem103.offset; {53714#true} is VALID [2022-04-08 15:11:54,410 INFO L272 TraceCheckUtils]: 49: Hoare triple {53714#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, 52); {53773#(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 15:11:54,410 INFO L290 TraceCheckUtils]: 50: Hoare triple {53773#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {53714#true} is VALID [2022-04-08 15:11:54,410 INFO L290 TraceCheckUtils]: 51: Hoare triple {53714#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {53714#true} is VALID [2022-04-08 15:11:54,410 INFO L290 TraceCheckUtils]: 52: Hoare triple {53714#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {53714#true} is VALID [2022-04-08 15:11:54,410 INFO L290 TraceCheckUtils]: 53: Hoare triple {53714#true} assume #res.base == dest.base && #res.offset == dest.offset; {53714#true} is VALID [2022-04-08 15:11:54,410 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {53714#true} {53714#true} #1186#return; {53714#true} is VALID [2022-04-08 15:11:54,410 INFO L290 TraceCheckUtils]: 55: Hoare triple {53714#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {53714#true} is VALID [2022-04-08 15:11:54,410 INFO L290 TraceCheckUtils]: 56: Hoare triple {53714#true} assume !(~s~0 != ~NP~0); {53714#true} is VALID [2022-04-08 15:11:54,410 INFO L290 TraceCheckUtils]: 57: Hoare triple {53714#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {53714#true} is VALID [2022-04-08 15:11:54,410 INFO L290 TraceCheckUtils]: 58: Hoare triple {53714#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 68;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 52 + ~irpSp___0~0.offset, 8);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 60 + ~irpSp___0~0.offset, 8);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, 16 + ~devExt~3.offset, 8); {53714#true} is VALID [2022-04-08 15:11:54,411 INFO L272 TraceCheckUtils]: 59: Hoare triple {53714#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {53785#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:11:54,411 INFO L290 TraceCheckUtils]: 60: Hoare triple {53785#(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; {53714#true} is VALID [2022-04-08 15:11:54,411 INFO L290 TraceCheckUtils]: 61: Hoare triple {53714#true} assume 0 != ~compRegistered~0; {53714#true} is VALID [2022-04-08 15:11:54,411 INFO L272 TraceCheckUtils]: 62: Hoare triple {53714#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {53796#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:11:54,411 INFO L290 TraceCheckUtils]: 63: Hoare triple {53796#(= ~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; {53714#true} is VALID [2022-04-08 15:11:54,412 INFO L272 TraceCheckUtils]: 64: Hoare triple {53714#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {53796#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:11:54,412 INFO L290 TraceCheckUtils]: 65: Hoare triple {53796#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {53714#true} is VALID [2022-04-08 15:11:54,412 INFO L290 TraceCheckUtils]: 66: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-08 15:11:54,412 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {53714#true} {53714#true} #1174#return; {53714#true} is VALID [2022-04-08 15:11:54,412 INFO L290 TraceCheckUtils]: 68: Hoare triple {53714#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {53714#true} is VALID [2022-04-08 15:11:54,412 INFO L290 TraceCheckUtils]: 69: Hoare triple {53714#true} assume true; {53714#true} is VALID [2022-04-08 15:11:54,412 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {53714#true} {53714#true} #1210#return; {53714#true} is VALID [2022-04-08 15:11:54,412 INFO L290 TraceCheckUtils]: 71: Hoare triple {53714#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {53714#true} is VALID [2022-04-08 15:11:54,412 INFO L290 TraceCheckUtils]: 72: Hoare triple {53714#true} assume !(-1073741802 == ~compRetStatus~0); {53714#true} is VALID [2022-04-08 15:11:54,412 INFO L290 TraceCheckUtils]: 73: Hoare triple {53714#true} assume 0 == ~__BLAST_NONDET~11; {53714#true} is VALID [2022-04-08 15:11:54,413 INFO L290 TraceCheckUtils]: 74: Hoare triple {53714#true} ~returnVal2~0 := 0; {53794#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:11:54,413 INFO L290 TraceCheckUtils]: 75: Hoare triple {53794#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {53794#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:11:54,413 INFO L290 TraceCheckUtils]: 76: Hoare triple {53794#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} #res := ~returnVal2~0; {53795#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} is VALID [2022-04-08 15:11:54,414 INFO L290 TraceCheckUtils]: 77: Hoare triple {53795#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} assume true; {53795#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} is VALID [2022-04-08 15:11:54,414 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {53795#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} {53714#true} #1192#return; {53769#(= |KbFilter_PnP_#t~ret109| 0)} is VALID [2022-04-08 15:11:54,415 INFO L290 TraceCheckUtils]: 79: Hoare triple {53769#(= |KbFilter_PnP_#t~ret109| 0)} assume -9223372036854775808 <= #t~ret109 && #t~ret109 <= 9223372036854775807;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {53770#(= KbFilter_PnP_~status~3 0)} is VALID [2022-04-08 15:11:54,415 INFO L290 TraceCheckUtils]: 80: Hoare triple {53770#(= KbFilter_PnP_~status~3 0)} assume !(259 == ~status~3); {53770#(= KbFilter_PnP_~status~3 0)} is VALID [2022-04-08 15:11:54,415 INFO L290 TraceCheckUtils]: 81: Hoare triple {53770#(= KbFilter_PnP_~status~3 0)} assume !(~status~3 >= 0); {53715#false} is VALID [2022-04-08 15:11:54,415 INFO L290 TraceCheckUtils]: 82: Hoare triple {53715#false} call write~int(~status~3, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~3 % 4294967296 <= 2147483647 then ~status~3 % 4294967296 else ~status~3 % 4294967296 - 4294967296);call write~int(0, ~Irp.base, 52 + ~Irp.offset, 8); {53715#false} is VALID [2022-04-08 15:11:54,415 INFO L272 TraceCheckUtils]: 83: Hoare triple {53715#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {53715#false} is VALID [2022-04-08 15:11:54,415 INFO L290 TraceCheckUtils]: 84: Hoare triple {53715#false} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {53715#false} is VALID [2022-04-08 15:11:54,415 INFO L290 TraceCheckUtils]: 85: Hoare triple {53715#false} assume !(~s~0 == ~NP~0); {53715#false} is VALID [2022-04-08 15:11:54,415 INFO L272 TraceCheckUtils]: 86: Hoare triple {53715#false} call errorFn(); {53715#false} is VALID [2022-04-08 15:11:54,415 INFO L290 TraceCheckUtils]: 87: Hoare triple {53715#false} assume !false; {53715#false} is VALID [2022-04-08 15:11:54,416 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 15:11:54,416 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:11:54,416 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1826607036] [2022-04-08 15:11:54,416 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1826607036] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:11:54,416 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:11:54,416 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 15:11:54,416 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:11:54,416 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [119627581] [2022-04-08 15:11:54,416 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [119627581] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:11:54,416 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:11:54,416 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 15:11:54,416 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1711316585] [2022-04-08 15:11:54,416 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:11:54,417 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 15:11:54,417 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:11:54,417 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 15:11:54,484 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 15:11:54,484 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 15:11:54,484 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:11:54,484 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 15:11:54,484 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=122, Unknown=0, NotChecked=0, Total=156 [2022-04-08 15:11:54,484 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 15:11:56,612 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 15:12:01,534 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.31s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 15:12:07,498 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:12:07,499 INFO L93 Difference]: Finished difference Result 300 states and 368 transitions. [2022-04-08 15:12:07,499 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 15:12:07,499 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 15:12:07,499 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:12:07,499 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 15:12:07,501 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 270 transitions. [2022-04-08 15:12:07,501 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 15:12:07,503 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 270 transitions. [2022-04-08 15:12:07,503 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 270 transitions. [2022-04-08 15:12:07,864 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 15:12:07,878 INFO L225 Difference]: With dead ends: 300 [2022-04-08 15:12:07,878 INFO L226 Difference]: Without dead ends: 237 [2022-04-08 15:12:07,878 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 15:12:07,879 INFO L913 BasicCegarLoop]: 138 mSDtfsCounter, 368 mSDsluCounter, 253 mSDsCounter, 0 mSdLazyCounter, 794 mSolverCounterSat, 193 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 7.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 373 SdHoareTripleChecker+Valid, 391 SdHoareTripleChecker+Invalid, 988 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 193 IncrementalHoareTripleChecker+Valid, 794 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 7.2s IncrementalHoareTripleChecker+Time [2022-04-08 15:12:07,879 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [373 Valid, 391 Invalid, 988 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [193 Valid, 794 Invalid, 1 Unknown, 0 Unchecked, 7.2s Time] [2022-04-08 15:12:07,879 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 237 states. [2022-04-08 15:12:08,219 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 237 to 199. [2022-04-08 15:12:08,219 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:12:08,220 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 15:12:08,220 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 15:12:08,220 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 15:12:08,223 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:12:08,224 INFO L93 Difference]: Finished difference Result 237 states and 284 transitions. [2022-04-08 15:12:08,224 INFO L276 IsEmpty]: Start isEmpty. Operand 237 states and 284 transitions. [2022-04-08 15:12:08,224 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:12:08,224 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:12:08,225 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 15:12:08,225 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 15:12:08,228 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:12:08,228 INFO L93 Difference]: Finished difference Result 237 states and 284 transitions. [2022-04-08 15:12:08,228 INFO L276 IsEmpty]: Start isEmpty. Operand 237 states and 284 transitions. [2022-04-08 15:12:08,228 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:12:08,228 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:12:08,228 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:12:08,228 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:12:08,228 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 15:12:08,231 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 199 states to 199 states and 233 transitions. [2022-04-08 15:12:08,231 INFO L78 Accepts]: Start accepts. Automaton has 199 states and 233 transitions. Word has length 88 [2022-04-08 15:12:08,231 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:12:08,231 INFO L478 AbstractCegarLoop]: Abstraction has 199 states and 233 transitions. [2022-04-08 15:12:08,231 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 15:12:08,231 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 199 states and 233 transitions. [2022-04-08 15:12:08,719 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 15:12:08,719 INFO L276 IsEmpty]: Start isEmpty. Operand 199 states and 233 transitions. [2022-04-08 15:12:08,719 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 90 [2022-04-08 15:12:08,719 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:12:08,719 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 15:12:08,720 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable22 [2022-04-08 15:12:08,720 INFO L403 AbstractCegarLoop]: === Iteration 24 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:12:08,720 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:12:08,720 INFO L85 PathProgramCache]: Analyzing trace with hash -1324935307, now seen corresponding path program 1 times [2022-04-08 15:12:08,720 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:12:08,720 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [568825493] [2022-04-08 15:12:08,720 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 15:12:08,720 INFO L85 PathProgramCache]: Analyzing trace with hash -1324935307, now seen corresponding path program 2 times [2022-04-08 15:12:08,720 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:12:08,720 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1369955639] [2022-04-08 15:12:08,720 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:12:08,721 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:12:08,791 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:08,869 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:12:08,871 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:08,875 INFO L290 TraceCheckUtils]: 0: Hoare triple {55350#(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; {55294#true} is VALID [2022-04-08 15:12:08,876 INFO L290 TraceCheckUtils]: 1: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-08 15:12:08,876 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {55294#true} {55294#true} #1270#return; {55294#true} is VALID [2022-04-08 15:12:08,897 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:12:08,899 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:08,903 INFO L290 TraceCheckUtils]: 0: Hoare triple {55351#(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; {55294#true} is VALID [2022-04-08 15:12:08,903 INFO L290 TraceCheckUtils]: 1: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-08 15:12:08,903 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {55294#true} {55294#true} #1216#return; {55294#true} is VALID [2022-04-08 15:12:08,909 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:12:08,914 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:08,920 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:12:08,921 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:08,936 INFO L290 TraceCheckUtils]: 0: Hoare triple {55294#true} ~cond := #in~cond; {55294#true} is VALID [2022-04-08 15:12:08,936 INFO L290 TraceCheckUtils]: 1: Hoare triple {55294#true} assume !(0 == ~cond); {55294#true} is VALID [2022-04-08 15:12:08,936 INFO L290 TraceCheckUtils]: 2: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-08 15:12:08,936 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {55294#true} {55294#true} #1254#return; {55294#true} is VALID [2022-04-08 15:12:08,936 INFO L290 TraceCheckUtils]: 0: Hoare triple {55352#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {55294#true} is VALID [2022-04-08 15:12:08,936 INFO L272 TraceCheckUtils]: 1: Hoare triple {55294#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {55294#true} is VALID [2022-04-08 15:12:08,936 INFO L290 TraceCheckUtils]: 2: Hoare triple {55294#true} ~cond := #in~cond; {55294#true} is VALID [2022-04-08 15:12:08,936 INFO L290 TraceCheckUtils]: 3: Hoare triple {55294#true} assume !(0 == ~cond); {55294#true} is VALID [2022-04-08 15:12:08,937 INFO L290 TraceCheckUtils]: 4: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-08 15:12:08,937 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {55294#true} {55294#true} #1254#return; {55294#true} is VALID [2022-04-08 15:12:08,937 INFO L290 TraceCheckUtils]: 6: Hoare triple {55294#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {55294#true} is VALID [2022-04-08 15:12:08,937 INFO L290 TraceCheckUtils]: 7: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-08 15:12:08,937 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {55294#true} {55294#true} #1218#return; {55294#true} is VALID [2022-04-08 15:12:08,945 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:12:08,949 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:08,954 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:12:08,955 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:08,959 INFO L290 TraceCheckUtils]: 0: Hoare triple {55357#(and (= |old(#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; {55294#true} is VALID [2022-04-08 15:12:08,960 INFO L290 TraceCheckUtils]: 1: Hoare triple {55294#true} assume !(0 == ~__BLAST_NONDET~5); {55294#true} is VALID [2022-04-08 15:12:08,960 INFO L290 TraceCheckUtils]: 2: Hoare triple {55294#true} #res := -1073741823; {55294#true} is VALID [2022-04-08 15:12:08,960 INFO L290 TraceCheckUtils]: 3: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-08 15:12:08,960 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {55294#true} {55294#true} #1176#return; {55294#true} is VALID [2022-04-08 15:12:08,960 INFO L290 TraceCheckUtils]: 0: Hoare triple {55357#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {55294#true} is VALID [2022-04-08 15:12:08,961 INFO L272 TraceCheckUtils]: 1: Hoare triple {55294#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {55357#(and (= |old(#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 15:12:08,961 INFO L290 TraceCheckUtils]: 2: Hoare triple {55357#(and (= |old(#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; {55294#true} is VALID [2022-04-08 15:12:08,961 INFO L290 TraceCheckUtils]: 3: Hoare triple {55294#true} assume !(0 == ~__BLAST_NONDET~5); {55294#true} is VALID [2022-04-08 15:12:08,961 INFO L290 TraceCheckUtils]: 4: Hoare triple {55294#true} #res := -1073741823; {55294#true} is VALID [2022-04-08 15:12:08,961 INFO L290 TraceCheckUtils]: 5: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-08 15:12:08,961 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {55294#true} {55294#true} #1176#return; {55294#true} is VALID [2022-04-08 15:12:08,961 INFO L290 TraceCheckUtils]: 7: Hoare triple {55294#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {55294#true} is VALID [2022-04-08 15:12:08,961 INFO L290 TraceCheckUtils]: 8: Hoare triple {55294#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {55294#true} is VALID [2022-04-08 15:12:08,961 INFO L290 TraceCheckUtils]: 9: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-08 15:12:08,962 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {55294#true} {55311#(= ~myStatus~0 (- 1073741637))} #1220#return; {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 15:12:08,973 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 15:12:08,975 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:08,979 INFO L290 TraceCheckUtils]: 0: Hoare triple {55363#(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; {55294#true} is VALID [2022-04-08 15:12:08,979 INFO L290 TraceCheckUtils]: 1: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-08 15:12:08,979 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {55294#true} {55311#(= ~myStatus~0 (- 1073741637))} #1222#return; {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 15:12:08,979 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 49 [2022-04-08 15:12:08,981 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:08,986 INFO L290 TraceCheckUtils]: 0: Hoare triple {55352#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {55294#true} is VALID [2022-04-08 15:12:08,986 INFO L290 TraceCheckUtils]: 1: Hoare triple {55294#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {55294#true} is VALID [2022-04-08 15:12:08,986 INFO L290 TraceCheckUtils]: 2: Hoare triple {55294#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {55294#true} is VALID [2022-04-08 15:12:08,986 INFO L290 TraceCheckUtils]: 3: Hoare triple {55294#true} assume #res.base == dest.base && #res.offset == dest.offset; {55294#true} is VALID [2022-04-08 15:12:08,987 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {55294#true} {55311#(= ~myStatus~0 (- 1073741637))} #1186#return; {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 15:12:08,994 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 59 [2022-04-08 15:12:08,999 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:09,010 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 15:12:09,012 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:09,016 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:12:09,017 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:09,021 INFO L290 TraceCheckUtils]: 0: Hoare triple {55373#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {55294#true} is VALID [2022-04-08 15:12:09,021 INFO L290 TraceCheckUtils]: 1: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-08 15:12:09,021 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {55294#true} {55294#true} #1174#return; {55294#true} is VALID [2022-04-08 15:12:09,021 INFO L290 TraceCheckUtils]: 0: Hoare triple {55373#(= ~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; {55294#true} is VALID [2022-04-08 15:12:09,022 INFO L272 TraceCheckUtils]: 1: Hoare triple {55294#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {55373#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:12:09,022 INFO L290 TraceCheckUtils]: 2: Hoare triple {55373#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {55294#true} is VALID [2022-04-08 15:12:09,022 INFO L290 TraceCheckUtils]: 3: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-08 15:12:09,022 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {55294#true} {55294#true} #1174#return; {55294#true} is VALID [2022-04-08 15:12:09,022 INFO L290 TraceCheckUtils]: 5: Hoare triple {55294#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {55294#true} is VALID [2022-04-08 15:12:09,022 INFO L290 TraceCheckUtils]: 6: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-08 15:12:09,022 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {55294#true} {55294#true} #1210#return; {55294#true} is VALID [2022-04-08 15:12:09,023 INFO L290 TraceCheckUtils]: 0: Hoare triple {55364#(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; {55294#true} is VALID [2022-04-08 15:12:09,023 INFO L290 TraceCheckUtils]: 1: Hoare triple {55294#true} assume 0 != ~compRegistered~0; {55294#true} is VALID [2022-04-08 15:12:09,023 INFO L272 TraceCheckUtils]: 2: Hoare triple {55294#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {55373#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:12:09,023 INFO L290 TraceCheckUtils]: 3: Hoare triple {55373#(= ~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; {55294#true} is VALID [2022-04-08 15:12:09,024 INFO L272 TraceCheckUtils]: 4: Hoare triple {55294#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {55373#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:12:09,024 INFO L290 TraceCheckUtils]: 5: Hoare triple {55373#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {55294#true} is VALID [2022-04-08 15:12:09,024 INFO L290 TraceCheckUtils]: 6: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-08 15:12:09,024 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {55294#true} {55294#true} #1174#return; {55294#true} is VALID [2022-04-08 15:12:09,024 INFO L290 TraceCheckUtils]: 8: Hoare triple {55294#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {55294#true} is VALID [2022-04-08 15:12:09,024 INFO L290 TraceCheckUtils]: 9: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-08 15:12:09,024 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {55294#true} {55294#true} #1210#return; {55294#true} is VALID [2022-04-08 15:12:09,024 INFO L290 TraceCheckUtils]: 11: Hoare triple {55294#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {55294#true} is VALID [2022-04-08 15:12:09,024 INFO L290 TraceCheckUtils]: 12: Hoare triple {55294#true} assume !(-1073741802 == ~compRetStatus~0); {55294#true} is VALID [2022-04-08 15:12:09,025 INFO L290 TraceCheckUtils]: 13: Hoare triple {55294#true} assume 0 == ~__BLAST_NONDET~11; {55294#true} is VALID [2022-04-08 15:12:09,025 INFO L290 TraceCheckUtils]: 14: Hoare triple {55294#true} ~returnVal2~0 := 0; {55294#true} is VALID [2022-04-08 15:12:09,025 INFO L290 TraceCheckUtils]: 15: Hoare triple {55294#true} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {55294#true} is VALID [2022-04-08 15:12:09,025 INFO L290 TraceCheckUtils]: 16: Hoare triple {55294#true} #res := ~returnVal2~0; {55294#true} is VALID [2022-04-08 15:12:09,025 INFO L290 TraceCheckUtils]: 17: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-08 15:12:09,025 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {55294#true} {55311#(= ~myStatus~0 (- 1073741637))} #1192#return; {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 15:12:09,026 INFO L272 TraceCheckUtils]: 0: Hoare triple {55294#true} call ULTIMATE.init(); {55350#(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 15:12:09,027 INFO L290 TraceCheckUtils]: 1: Hoare triple {55350#(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; {55294#true} is VALID [2022-04-08 15:12:09,027 INFO L290 TraceCheckUtils]: 2: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-08 15:12:09,027 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {55294#true} {55294#true} #1270#return; {55294#true} is VALID [2022-04-08 15:12:09,027 INFO L272 TraceCheckUtils]: 4: Hoare triple {55294#true} call #t~ret213 := main(); {55294#true} is VALID [2022-04-08 15:12:09,027 INFO L290 TraceCheckUtils]: 5: Hoare triple {55294#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {55294#true} is VALID [2022-04-08 15:12:09,028 INFO L272 TraceCheckUtils]: 6: Hoare triple {55294#true} call _BLAST_init(); {55351#(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 15:12:09,028 INFO L290 TraceCheckUtils]: 7: Hoare triple {55351#(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; {55294#true} is VALID [2022-04-08 15:12:09,028 INFO L290 TraceCheckUtils]: 8: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-08 15:12:09,028 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {55294#true} {55294#true} #1216#return; {55294#true} is VALID [2022-04-08 15:12:09,028 INFO L272 TraceCheckUtils]: 10: Hoare triple {55294#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {55352#(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 15:12:09,028 INFO L290 TraceCheckUtils]: 11: Hoare triple {55352#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {55294#true} is VALID [2022-04-08 15:12:09,028 INFO L272 TraceCheckUtils]: 12: Hoare triple {55294#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {55294#true} is VALID [2022-04-08 15:12:09,029 INFO L290 TraceCheckUtils]: 13: Hoare triple {55294#true} ~cond := #in~cond; {55294#true} is VALID [2022-04-08 15:12:09,029 INFO L290 TraceCheckUtils]: 14: Hoare triple {55294#true} assume !(0 == ~cond); {55294#true} is VALID [2022-04-08 15:12:09,029 INFO L290 TraceCheckUtils]: 15: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-08 15:12:09,029 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {55294#true} {55294#true} #1254#return; {55294#true} is VALID [2022-04-08 15:12:09,029 INFO L290 TraceCheckUtils]: 17: Hoare triple {55294#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {55294#true} is VALID [2022-04-08 15:12:09,029 INFO L290 TraceCheckUtils]: 18: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-08 15:12:09,029 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {55294#true} {55294#true} #1218#return; {55294#true} is VALID [2022-04-08 15:12:09,029 INFO L290 TraceCheckUtils]: 20: Hoare triple {55294#true} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {55294#true} is VALID [2022-04-08 15:12:09,029 INFO L290 TraceCheckUtils]: 21: Hoare triple {55294#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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {55294#true} is VALID [2022-04-08 15:12:09,029 INFO L290 TraceCheckUtils]: 22: Hoare triple {55294#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 15:12:09,030 INFO L272 TraceCheckUtils]: 23: Hoare triple {55311#(= ~myStatus~0 (- 1073741637))} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {55357#(and (= |old(#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 15:12:09,030 INFO L290 TraceCheckUtils]: 24: Hoare triple {55357#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {55294#true} is VALID [2022-04-08 15:12:09,031 INFO L272 TraceCheckUtils]: 25: Hoare triple {55294#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {55357#(and (= |old(#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 15:12:09,031 INFO L290 TraceCheckUtils]: 26: Hoare triple {55357#(and (= |old(#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; {55294#true} is VALID [2022-04-08 15:12:09,031 INFO L290 TraceCheckUtils]: 27: Hoare triple {55294#true} assume !(0 == ~__BLAST_NONDET~5); {55294#true} is VALID [2022-04-08 15:12:09,031 INFO L290 TraceCheckUtils]: 28: Hoare triple {55294#true} #res := -1073741823; {55294#true} is VALID [2022-04-08 15:12:09,031 INFO L290 TraceCheckUtils]: 29: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-08 15:12:09,031 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {55294#true} {55294#true} #1176#return; {55294#true} is VALID [2022-04-08 15:12:09,031 INFO L290 TraceCheckUtils]: 31: Hoare triple {55294#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {55294#true} is VALID [2022-04-08 15:12:09,031 INFO L290 TraceCheckUtils]: 32: Hoare triple {55294#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {55294#true} is VALID [2022-04-08 15:12:09,031 INFO L290 TraceCheckUtils]: 33: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-08 15:12:09,032 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {55294#true} {55311#(= ~myStatus~0 (- 1073741637))} #1220#return; {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 15:12:09,032 INFO L290 TraceCheckUtils]: 35: Hoare triple {55311#(= ~myStatus~0 (- 1073741637))} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 15:12:09,033 INFO L272 TraceCheckUtils]: 36: Hoare triple {55311#(= ~myStatus~0 (- 1073741637))} call stub_driver_init(); {55363#(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 15:12:09,033 INFO L290 TraceCheckUtils]: 37: Hoare triple {55363#(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; {55294#true} is VALID [2022-04-08 15:12:09,033 INFO L290 TraceCheckUtils]: 38: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-08 15:12:09,033 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {55294#true} {55311#(= ~myStatus~0 (- 1073741637))} #1222#return; {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 15:12:09,033 INFO L290 TraceCheckUtils]: 40: Hoare triple {55311#(= ~myStatus~0 (- 1073741637))} assume !!(~status~5 >= 0); {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 15:12:09,033 INFO L290 TraceCheckUtils]: 41: Hoare triple {55311#(= ~myStatus~0 (- 1073741637))} assume !(0 == ~__BLAST_NONDET~0); {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 15:12:09,034 INFO L290 TraceCheckUtils]: 42: Hoare triple {55311#(= ~myStatus~0 (- 1073741637))} assume !(1 == ~__BLAST_NONDET~0); {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 15:12:09,034 INFO L290 TraceCheckUtils]: 43: Hoare triple {55311#(= ~myStatus~0 (- 1073741637))} assume !(2 == ~__BLAST_NONDET~0); {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 15:12:09,034 INFO L290 TraceCheckUtils]: 44: Hoare triple {55311#(= ~myStatus~0 (- 1073741637))} assume 3 == ~__BLAST_NONDET~0; {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 15:12:09,035 INFO L272 TraceCheckUtils]: 45: Hoare triple {55311#(= ~myStatus~0 (- 1073741637))} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 15:12:09,035 INFO L290 TraceCheckUtils]: 46: Hoare triple {55311#(= ~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(28);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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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); {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 15:12:09,035 INFO L290 TraceCheckUtils]: 47: Hoare triple {55311#(= ~myStatus~0 (- 1073741637))} assume 0 == #t~mem81 % 256;havoc #t~mem81; {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 15:12:09,035 INFO L290 TraceCheckUtils]: 48: Hoare triple {55311#(= ~myStatus~0 (- 1073741637))} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 180 + ~Irp.offset, 8);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 68;havoc #t~mem103.base, #t~mem103.offset; {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 15:12:09,036 INFO L272 TraceCheckUtils]: 49: Hoare triple {55311#(= ~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, 52); {55352#(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 15:12:09,036 INFO L290 TraceCheckUtils]: 50: Hoare triple {55352#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {55294#true} is VALID [2022-04-08 15:12:09,036 INFO L290 TraceCheckUtils]: 51: Hoare triple {55294#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {55294#true} is VALID [2022-04-08 15:12:09,036 INFO L290 TraceCheckUtils]: 52: Hoare triple {55294#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {55294#true} is VALID [2022-04-08 15:12:09,036 INFO L290 TraceCheckUtils]: 53: Hoare triple {55294#true} assume #res.base == dest.base && #res.offset == dest.offset; {55294#true} is VALID [2022-04-08 15:12:09,037 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {55294#true} {55311#(= ~myStatus~0 (- 1073741637))} #1186#return; {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 15:12:09,037 INFO L290 TraceCheckUtils]: 55: Hoare triple {55311#(= ~myStatus~0 (- 1073741637))} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 15:12:09,037 INFO L290 TraceCheckUtils]: 56: Hoare triple {55311#(= ~myStatus~0 (- 1073741637))} assume !(~s~0 != ~NP~0); {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 15:12:09,038 INFO L290 TraceCheckUtils]: 57: Hoare triple {55311#(= ~myStatus~0 (- 1073741637))} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 15:12:09,038 INFO L290 TraceCheckUtils]: 58: Hoare triple {55311#(= ~myStatus~0 (- 1073741637))} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 68;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 52 + ~irpSp___0~0.offset, 8);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 60 + ~irpSp___0~0.offset, 8);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, 16 + ~devExt~3.offset, 8); {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 15:12:09,038 INFO L272 TraceCheckUtils]: 59: Hoare triple {55311#(= ~myStatus~0 (- 1073741637))} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {55364#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:12:09,038 INFO L290 TraceCheckUtils]: 60: Hoare triple {55364#(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; {55294#true} is VALID [2022-04-08 15:12:09,039 INFO L290 TraceCheckUtils]: 61: Hoare triple {55294#true} assume 0 != ~compRegistered~0; {55294#true} is VALID [2022-04-08 15:12:09,039 INFO L272 TraceCheckUtils]: 62: Hoare triple {55294#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {55373#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:12:09,039 INFO L290 TraceCheckUtils]: 63: Hoare triple {55373#(= ~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; {55294#true} is VALID [2022-04-08 15:12:09,040 INFO L272 TraceCheckUtils]: 64: Hoare triple {55294#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {55373#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:12:09,040 INFO L290 TraceCheckUtils]: 65: Hoare triple {55373#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {55294#true} is VALID [2022-04-08 15:12:09,040 INFO L290 TraceCheckUtils]: 66: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-08 15:12:09,040 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {55294#true} {55294#true} #1174#return; {55294#true} is VALID [2022-04-08 15:12:09,040 INFO L290 TraceCheckUtils]: 68: Hoare triple {55294#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {55294#true} is VALID [2022-04-08 15:12:09,040 INFO L290 TraceCheckUtils]: 69: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-08 15:12:09,040 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {55294#true} {55294#true} #1210#return; {55294#true} is VALID [2022-04-08 15:12:09,040 INFO L290 TraceCheckUtils]: 71: Hoare triple {55294#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {55294#true} is VALID [2022-04-08 15:12:09,040 INFO L290 TraceCheckUtils]: 72: Hoare triple {55294#true} assume !(-1073741802 == ~compRetStatus~0); {55294#true} is VALID [2022-04-08 15:12:09,040 INFO L290 TraceCheckUtils]: 73: Hoare triple {55294#true} assume 0 == ~__BLAST_NONDET~11; {55294#true} is VALID [2022-04-08 15:12:09,040 INFO L290 TraceCheckUtils]: 74: Hoare triple {55294#true} ~returnVal2~0 := 0; {55294#true} is VALID [2022-04-08 15:12:09,040 INFO L290 TraceCheckUtils]: 75: Hoare triple {55294#true} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {55294#true} is VALID [2022-04-08 15:12:09,040 INFO L290 TraceCheckUtils]: 76: Hoare triple {55294#true} #res := ~returnVal2~0; {55294#true} is VALID [2022-04-08 15:12:09,040 INFO L290 TraceCheckUtils]: 77: Hoare triple {55294#true} assume true; {55294#true} is VALID [2022-04-08 15:12:09,041 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {55294#true} {55311#(= ~myStatus~0 (- 1073741637))} #1192#return; {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 15:12:09,041 INFO L290 TraceCheckUtils]: 79: Hoare triple {55311#(= ~myStatus~0 (- 1073741637))} assume -9223372036854775808 <= #t~ret109 && #t~ret109 <= 9223372036854775807;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 15:12:09,041 INFO L290 TraceCheckUtils]: 80: Hoare triple {55311#(= ~myStatus~0 (- 1073741637))} assume !(259 == ~status~3); {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 15:12:09,042 INFO L290 TraceCheckUtils]: 81: Hoare triple {55311#(= ~myStatus~0 (- 1073741637))} assume ~status~3 >= 0; {55311#(= ~myStatus~0 (- 1073741637))} is VALID [2022-04-08 15:12:09,042 INFO L290 TraceCheckUtils]: 82: Hoare triple {55311#(= ~myStatus~0 (- 1073741637))} assume ~myStatus~0 >= 0;call write~int(1, ~devExt~3.base, 100 + ~devExt~3.offset, 1);call write~int(0, ~devExt~3.base, 102 + ~devExt~3.offset, 1);call write~int(0, ~devExt~3.base, 101 + ~devExt~3.offset, 1); {55295#false} is VALID [2022-04-08 15:12:09,042 INFO L290 TraceCheckUtils]: 83: Hoare triple {55295#false} call write~int(~status~3, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~3 % 4294967296 <= 2147483647 then ~status~3 % 4294967296 else ~status~3 % 4294967296 - 4294967296);call write~int(0, ~Irp.base, 52 + ~Irp.offset, 8); {55295#false} is VALID [2022-04-08 15:12:09,042 INFO L272 TraceCheckUtils]: 84: Hoare triple {55295#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {55295#false} is VALID [2022-04-08 15:12:09,042 INFO L290 TraceCheckUtils]: 85: Hoare triple {55295#false} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {55295#false} is VALID [2022-04-08 15:12:09,042 INFO L290 TraceCheckUtils]: 86: Hoare triple {55295#false} assume !(~s~0 == ~NP~0); {55295#false} is VALID [2022-04-08 15:12:09,043 INFO L272 TraceCheckUtils]: 87: Hoare triple {55295#false} call errorFn(); {55295#false} is VALID [2022-04-08 15:12:09,043 INFO L290 TraceCheckUtils]: 88: Hoare triple {55295#false} assume !false; {55295#false} is VALID [2022-04-08 15:12:09,043 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 15:12:09,043 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:12:09,043 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1369955639] [2022-04-08 15:12:09,043 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1369955639] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:12:09,043 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:12:09,043 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 15:12:09,043 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:12:09,043 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [568825493] [2022-04-08 15:12:09,043 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [568825493] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:12:09,043 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:12:09,044 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 15:12:09,044 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [408262921] [2022-04-08 15:12:09,044 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:12:09,044 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 15:12:09,044 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:12:09,044 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 15:12:09,121 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 15:12:09,121 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 15:12:09,121 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:12:09,121 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 15:12:09,121 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-08 15:12:09,122 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 15:12:11,234 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 15:12:19,042 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:12:19,042 INFO L93 Difference]: Finished difference Result 437 states and 522 transitions. [2022-04-08 15:12:19,042 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-08 15:12:19,043 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 15:12:19,043 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:12:19,043 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 15:12:19,045 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 383 transitions. [2022-04-08 15:12:19,045 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 15:12:19,047 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 383 transitions. [2022-04-08 15:12:19,047 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 383 transitions. [2022-04-08 15:12:19,531 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 15:12:19,539 INFO L225 Difference]: With dead ends: 437 [2022-04-08 15:12:19,540 INFO L226 Difference]: Without dead ends: 408 [2022-04-08 15:12:19,540 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 15:12:19,541 INFO L913 BasicCegarLoop]: 142 mSDtfsCounter, 363 mSDsluCounter, 154 mSDsCounter, 0 mSdLazyCounter, 542 mSolverCounterSat, 172 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 369 SdHoareTripleChecker+Valid, 296 SdHoareTripleChecker+Invalid, 715 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 172 IncrementalHoareTripleChecker+Valid, 542 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.6s IncrementalHoareTripleChecker+Time [2022-04-08 15:12:19,541 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [369 Valid, 296 Invalid, 715 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [172 Valid, 542 Invalid, 1 Unknown, 0 Unchecked, 4.6s Time] [2022-04-08 15:12:19,543 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 408 states. [2022-04-08 15:12:20,161 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 408 to 345. [2022-04-08 15:12:20,161 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:12:20,162 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 15:12:20,162 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 15:12:20,162 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 15:12:20,168 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:12:20,168 INFO L93 Difference]: Finished difference Result 408 states and 489 transitions. [2022-04-08 15:12:20,168 INFO L276 IsEmpty]: Start isEmpty. Operand 408 states and 489 transitions. [2022-04-08 15:12:20,169 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:12:20,169 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:12:20,169 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 15:12:20,169 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 15:12:20,175 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:12:20,175 INFO L93 Difference]: Finished difference Result 408 states and 489 transitions. [2022-04-08 15:12:20,175 INFO L276 IsEmpty]: Start isEmpty. Operand 408 states and 489 transitions. [2022-04-08 15:12:20,176 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:12:20,176 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:12:20,176 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:12:20,176 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:12:20,176 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 15:12:20,181 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 345 states to 345 states and 409 transitions. [2022-04-08 15:12:20,181 INFO L78 Accepts]: Start accepts. Automaton has 345 states and 409 transitions. Word has length 89 [2022-04-08 15:12:20,182 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:12:20,182 INFO L478 AbstractCegarLoop]: Abstraction has 345 states and 409 transitions. [2022-04-08 15:12:20,182 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 15:12:20,182 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 345 states and 409 transitions. [2022-04-08 15:12:21,092 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 15:12:21,092 INFO L276 IsEmpty]: Start isEmpty. Operand 345 states and 409 transitions. [2022-04-08 15:12:21,093 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 90 [2022-04-08 15:12:21,093 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:12:21,093 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 15:12:21,093 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable23 [2022-04-08 15:12:21,093 INFO L403 AbstractCegarLoop]: === Iteration 25 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:12:21,093 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:12:21,093 INFO L85 PathProgramCache]: Analyzing trace with hash 450072055, now seen corresponding path program 1 times [2022-04-08 15:12:21,094 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:12:21,094 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2068597822] [2022-04-08 15:12:21,094 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 15:12:21,094 INFO L85 PathProgramCache]: Analyzing trace with hash 450072055, now seen corresponding path program 2 times [2022-04-08 15:12:21,094 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:12:21,094 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1685939974] [2022-04-08 15:12:21,094 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:12:21,094 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:12:21,180 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:21,259 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:12:21,261 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:21,269 INFO L290 TraceCheckUtils]: 0: Hoare triple {57840#(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; {57783#true} is VALID [2022-04-08 15:12:21,269 INFO L290 TraceCheckUtils]: 1: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-08 15:12:21,269 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {57783#true} {57783#true} #1270#return; {57783#true} is VALID [2022-04-08 15:12:21,293 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:12:21,295 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:21,317 INFO L290 TraceCheckUtils]: 0: Hoare triple {57841#(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; {57783#true} is VALID [2022-04-08 15:12:21,318 INFO L290 TraceCheckUtils]: 1: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-08 15:12:21,318 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {57783#true} {57783#true} #1216#return; {57783#true} is VALID [2022-04-08 15:12:21,334 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:12:21,347 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:21,354 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:12:21,356 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:21,365 INFO L290 TraceCheckUtils]: 0: Hoare triple {57783#true} ~cond := #in~cond; {57783#true} is VALID [2022-04-08 15:12:21,366 INFO L290 TraceCheckUtils]: 1: Hoare triple {57783#true} assume !(0 == ~cond); {57783#true} is VALID [2022-04-08 15:12:21,366 INFO L290 TraceCheckUtils]: 2: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-08 15:12:21,366 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {57783#true} {57783#true} #1254#return; {57783#true} is VALID [2022-04-08 15:12:21,366 INFO L290 TraceCheckUtils]: 0: Hoare triple {57842#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {57783#true} is VALID [2022-04-08 15:12:21,366 INFO L272 TraceCheckUtils]: 1: Hoare triple {57783#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {57783#true} is VALID [2022-04-08 15:12:21,366 INFO L290 TraceCheckUtils]: 2: Hoare triple {57783#true} ~cond := #in~cond; {57783#true} is VALID [2022-04-08 15:12:21,366 INFO L290 TraceCheckUtils]: 3: Hoare triple {57783#true} assume !(0 == ~cond); {57783#true} is VALID [2022-04-08 15:12:21,366 INFO L290 TraceCheckUtils]: 4: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-08 15:12:21,366 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {57783#true} {57783#true} #1254#return; {57783#true} is VALID [2022-04-08 15:12:21,366 INFO L290 TraceCheckUtils]: 6: Hoare triple {57783#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {57783#true} is VALID [2022-04-08 15:12:21,366 INFO L290 TraceCheckUtils]: 7: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-08 15:12:21,366 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {57783#true} {57783#true} #1218#return; {57783#true} is VALID [2022-04-08 15:12:21,375 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:12:21,384 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:21,399 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:12:21,400 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:21,405 INFO L290 TraceCheckUtils]: 0: Hoare triple {57847#(and (= |old(#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; {57783#true} is VALID [2022-04-08 15:12:21,405 INFO L290 TraceCheckUtils]: 1: Hoare triple {57783#true} assume !(0 == ~__BLAST_NONDET~5); {57783#true} is VALID [2022-04-08 15:12:21,405 INFO L290 TraceCheckUtils]: 2: Hoare triple {57783#true} #res := -1073741823; {57783#true} is VALID [2022-04-08 15:12:21,405 INFO L290 TraceCheckUtils]: 3: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-08 15:12:21,405 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {57783#true} {57783#true} #1176#return; {57783#true} is VALID [2022-04-08 15:12:21,405 INFO L290 TraceCheckUtils]: 0: Hoare triple {57847#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {57783#true} is VALID [2022-04-08 15:12:21,406 INFO L272 TraceCheckUtils]: 1: Hoare triple {57783#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {57847#(and (= |old(#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 15:12:21,406 INFO L290 TraceCheckUtils]: 2: Hoare triple {57847#(and (= |old(#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; {57783#true} is VALID [2022-04-08 15:12:21,406 INFO L290 TraceCheckUtils]: 3: Hoare triple {57783#true} assume !(0 == ~__BLAST_NONDET~5); {57783#true} is VALID [2022-04-08 15:12:21,407 INFO L290 TraceCheckUtils]: 4: Hoare triple {57783#true} #res := -1073741823; {57783#true} is VALID [2022-04-08 15:12:21,407 INFO L290 TraceCheckUtils]: 5: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-08 15:12:21,407 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {57783#true} {57783#true} #1176#return; {57783#true} is VALID [2022-04-08 15:12:21,407 INFO L290 TraceCheckUtils]: 7: Hoare triple {57783#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {57783#true} is VALID [2022-04-08 15:12:21,407 INFO L290 TraceCheckUtils]: 8: Hoare triple {57783#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {57853#(<= (+ |KbFilter_AddDevice_#res| 1) 0)} is VALID [2022-04-08 15:12:21,407 INFO L290 TraceCheckUtils]: 9: Hoare triple {57853#(<= (+ |KbFilter_AddDevice_#res| 1) 0)} assume true; {57853#(<= (+ |KbFilter_AddDevice_#res| 1) 0)} is VALID [2022-04-08 15:12:21,408 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {57853#(<= (+ |KbFilter_AddDevice_#res| 1) 0)} {57783#true} #1220#return; {57811#(<= (+ 1 |main_#t~ret170|) 0)} is VALID [2022-04-08 15:12:21,422 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-08 15:12:21,423 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:21,428 INFO L290 TraceCheckUtils]: 0: Hoare triple {57854#(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; {57783#true} is VALID [2022-04-08 15:12:21,428 INFO L290 TraceCheckUtils]: 1: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-08 15:12:21,428 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {57783#true} {57812#(<= (+ main_~status~5 1) 0)} #1222#return; {57812#(<= (+ main_~status~5 1) 0)} is VALID [2022-04-08 15:12:21,429 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 49 [2022-04-08 15:12:21,430 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:21,434 INFO L290 TraceCheckUtils]: 0: Hoare triple {57842#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {57783#true} is VALID [2022-04-08 15:12:21,434 INFO L290 TraceCheckUtils]: 1: Hoare triple {57783#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {57783#true} is VALID [2022-04-08 15:12:21,435 INFO L290 TraceCheckUtils]: 2: Hoare triple {57783#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {57783#true} is VALID [2022-04-08 15:12:21,435 INFO L290 TraceCheckUtils]: 3: Hoare triple {57783#true} assume #res.base == dest.base && #res.offset == dest.offset; {57783#true} is VALID [2022-04-08 15:12:21,435 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {57783#true} {57784#false} #1186#return; {57784#false} is VALID [2022-04-08 15:12:21,444 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 59 [2022-04-08 15:12:21,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:21,460 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 15:12:21,462 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:21,467 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:12:21,468 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:21,472 INFO L290 TraceCheckUtils]: 0: Hoare triple {57864#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {57783#true} is VALID [2022-04-08 15:12:21,472 INFO L290 TraceCheckUtils]: 1: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-08 15:12:21,472 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {57783#true} {57783#true} #1174#return; {57783#true} is VALID [2022-04-08 15:12:21,472 INFO L290 TraceCheckUtils]: 0: Hoare triple {57864#(= ~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; {57783#true} is VALID [2022-04-08 15:12:21,473 INFO L272 TraceCheckUtils]: 1: Hoare triple {57783#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {57864#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:12:21,473 INFO L290 TraceCheckUtils]: 2: Hoare triple {57864#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {57783#true} is VALID [2022-04-08 15:12:21,473 INFO L290 TraceCheckUtils]: 3: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-08 15:12:21,473 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {57783#true} {57783#true} #1174#return; {57783#true} is VALID [2022-04-08 15:12:21,473 INFO L290 TraceCheckUtils]: 5: Hoare triple {57783#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {57783#true} is VALID [2022-04-08 15:12:21,473 INFO L290 TraceCheckUtils]: 6: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-08 15:12:21,473 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {57783#true} {57783#true} #1210#return; {57783#true} is VALID [2022-04-08 15:12:21,473 INFO L290 TraceCheckUtils]: 0: Hoare triple {57855#(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; {57783#true} is VALID [2022-04-08 15:12:21,473 INFO L290 TraceCheckUtils]: 1: Hoare triple {57783#true} assume 0 != ~compRegistered~0; {57783#true} is VALID [2022-04-08 15:12:21,474 INFO L272 TraceCheckUtils]: 2: Hoare triple {57783#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {57864#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:12:21,474 INFO L290 TraceCheckUtils]: 3: Hoare triple {57864#(= ~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; {57783#true} is VALID [2022-04-08 15:12:21,474 INFO L272 TraceCheckUtils]: 4: Hoare triple {57783#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {57864#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:12:21,474 INFO L290 TraceCheckUtils]: 5: Hoare triple {57864#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {57783#true} is VALID [2022-04-08 15:12:21,474 INFO L290 TraceCheckUtils]: 6: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-08 15:12:21,474 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {57783#true} {57783#true} #1174#return; {57783#true} is VALID [2022-04-08 15:12:21,474 INFO L290 TraceCheckUtils]: 8: Hoare triple {57783#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {57783#true} is VALID [2022-04-08 15:12:21,475 INFO L290 TraceCheckUtils]: 9: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-08 15:12:21,475 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {57783#true} {57783#true} #1210#return; {57783#true} is VALID [2022-04-08 15:12:21,475 INFO L290 TraceCheckUtils]: 11: Hoare triple {57783#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {57783#true} is VALID [2022-04-08 15:12:21,475 INFO L290 TraceCheckUtils]: 12: Hoare triple {57783#true} assume !(-1073741802 == ~compRetStatus~0); {57783#true} is VALID [2022-04-08 15:12:21,475 INFO L290 TraceCheckUtils]: 13: Hoare triple {57783#true} assume 0 == ~__BLAST_NONDET~11; {57783#true} is VALID [2022-04-08 15:12:21,475 INFO L290 TraceCheckUtils]: 14: Hoare triple {57783#true} ~returnVal2~0 := 0; {57783#true} is VALID [2022-04-08 15:12:21,475 INFO L290 TraceCheckUtils]: 15: Hoare triple {57783#true} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {57783#true} is VALID [2022-04-08 15:12:21,475 INFO L290 TraceCheckUtils]: 16: Hoare triple {57783#true} #res := ~returnVal2~0; {57783#true} is VALID [2022-04-08 15:12:21,475 INFO L290 TraceCheckUtils]: 17: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-08 15:12:21,475 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {57783#true} {57784#false} #1192#return; {57784#false} is VALID [2022-04-08 15:12:21,476 INFO L272 TraceCheckUtils]: 0: Hoare triple {57783#true} call ULTIMATE.init(); {57840#(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 15:12:21,476 INFO L290 TraceCheckUtils]: 1: Hoare triple {57840#(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; {57783#true} is VALID [2022-04-08 15:12:21,476 INFO L290 TraceCheckUtils]: 2: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-08 15:12:21,476 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {57783#true} {57783#true} #1270#return; {57783#true} is VALID [2022-04-08 15:12:21,476 INFO L272 TraceCheckUtils]: 4: Hoare triple {57783#true} call #t~ret213 := main(); {57783#true} is VALID [2022-04-08 15:12:21,476 INFO L290 TraceCheckUtils]: 5: Hoare triple {57783#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {57783#true} is VALID [2022-04-08 15:12:21,477 INFO L272 TraceCheckUtils]: 6: Hoare triple {57783#true} call _BLAST_init(); {57841#(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 15:12:21,477 INFO L290 TraceCheckUtils]: 7: Hoare triple {57841#(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; {57783#true} is VALID [2022-04-08 15:12:21,477 INFO L290 TraceCheckUtils]: 8: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-08 15:12:21,477 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {57783#true} {57783#true} #1216#return; {57783#true} is VALID [2022-04-08 15:12:21,478 INFO L272 TraceCheckUtils]: 10: Hoare triple {57783#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {57842#(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 15:12:21,478 INFO L290 TraceCheckUtils]: 11: Hoare triple {57842#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {57783#true} is VALID [2022-04-08 15:12:21,478 INFO L272 TraceCheckUtils]: 12: Hoare triple {57783#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {57783#true} is VALID [2022-04-08 15:12:21,478 INFO L290 TraceCheckUtils]: 13: Hoare triple {57783#true} ~cond := #in~cond; {57783#true} is VALID [2022-04-08 15:12:21,478 INFO L290 TraceCheckUtils]: 14: Hoare triple {57783#true} assume !(0 == ~cond); {57783#true} is VALID [2022-04-08 15:12:21,478 INFO L290 TraceCheckUtils]: 15: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-08 15:12:21,478 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {57783#true} {57783#true} #1254#return; {57783#true} is VALID [2022-04-08 15:12:21,478 INFO L290 TraceCheckUtils]: 17: Hoare triple {57783#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {57783#true} is VALID [2022-04-08 15:12:21,478 INFO L290 TraceCheckUtils]: 18: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-08 15:12:21,478 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {57783#true} {57783#true} #1218#return; {57783#true} is VALID [2022-04-08 15:12:21,478 INFO L290 TraceCheckUtils]: 20: Hoare triple {57783#true} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {57783#true} is VALID [2022-04-08 15:12:21,478 INFO L290 TraceCheckUtils]: 21: Hoare triple {57783#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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {57783#true} is VALID [2022-04-08 15:12:21,479 INFO L290 TraceCheckUtils]: 22: Hoare triple {57783#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {57783#true} is VALID [2022-04-08 15:12:21,479 INFO L272 TraceCheckUtils]: 23: Hoare triple {57783#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {57847#(and (= |old(#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 15:12:21,479 INFO L290 TraceCheckUtils]: 24: Hoare triple {57847#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {57783#true} is VALID [2022-04-08 15:12:21,480 INFO L272 TraceCheckUtils]: 25: Hoare triple {57783#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {57847#(and (= |old(#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 15:12:21,480 INFO L290 TraceCheckUtils]: 26: Hoare triple {57847#(and (= |old(#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; {57783#true} is VALID [2022-04-08 15:12:21,480 INFO L290 TraceCheckUtils]: 27: Hoare triple {57783#true} assume !(0 == ~__BLAST_NONDET~5); {57783#true} is VALID [2022-04-08 15:12:21,480 INFO L290 TraceCheckUtils]: 28: Hoare triple {57783#true} #res := -1073741823; {57783#true} is VALID [2022-04-08 15:12:21,480 INFO L290 TraceCheckUtils]: 29: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-08 15:12:21,480 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {57783#true} {57783#true} #1176#return; {57783#true} is VALID [2022-04-08 15:12:21,481 INFO L290 TraceCheckUtils]: 31: Hoare triple {57783#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {57783#true} is VALID [2022-04-08 15:12:21,481 INFO L290 TraceCheckUtils]: 32: Hoare triple {57783#true} assume !(~status~0 >= 0);#res := ~status~0;call ULTIMATE.dealloc(~#device~0.base, ~#device~0.offset);havoc ~#device~0.base, ~#device~0.offset; {57853#(<= (+ |KbFilter_AddDevice_#res| 1) 0)} is VALID [2022-04-08 15:12:21,481 INFO L290 TraceCheckUtils]: 33: Hoare triple {57853#(<= (+ |KbFilter_AddDevice_#res| 1) 0)} assume true; {57853#(<= (+ |KbFilter_AddDevice_#res| 1) 0)} is VALID [2022-04-08 15:12:21,482 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {57853#(<= (+ |KbFilter_AddDevice_#res| 1) 0)} {57783#true} #1220#return; {57811#(<= (+ 1 |main_#t~ret170|) 0)} is VALID [2022-04-08 15:12:21,482 INFO L290 TraceCheckUtils]: 35: Hoare triple {57811#(<= (+ 1 |main_#t~ret170|) 0)} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {57812#(<= (+ main_~status~5 1) 0)} is VALID [2022-04-08 15:12:21,483 INFO L272 TraceCheckUtils]: 36: Hoare triple {57812#(<= (+ main_~status~5 1) 0)} call stub_driver_init(); {57854#(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 15:12:21,483 INFO L290 TraceCheckUtils]: 37: Hoare triple {57854#(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; {57783#true} is VALID [2022-04-08 15:12:21,483 INFO L290 TraceCheckUtils]: 38: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-08 15:12:21,483 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {57783#true} {57812#(<= (+ main_~status~5 1) 0)} #1222#return; {57812#(<= (+ main_~status~5 1) 0)} is VALID [2022-04-08 15:12:21,483 INFO L290 TraceCheckUtils]: 40: Hoare triple {57812#(<= (+ main_~status~5 1) 0)} assume !!(~status~5 >= 0); {57784#false} is VALID [2022-04-08 15:12:21,483 INFO L290 TraceCheckUtils]: 41: Hoare triple {57784#false} assume !(0 == ~__BLAST_NONDET~0); {57784#false} is VALID [2022-04-08 15:12:21,483 INFO L290 TraceCheckUtils]: 42: Hoare triple {57784#false} assume !(1 == ~__BLAST_NONDET~0); {57784#false} is VALID [2022-04-08 15:12:21,484 INFO L290 TraceCheckUtils]: 43: Hoare triple {57784#false} assume !(2 == ~__BLAST_NONDET~0); {57784#false} is VALID [2022-04-08 15:12:21,484 INFO L290 TraceCheckUtils]: 44: Hoare triple {57784#false} assume 3 == ~__BLAST_NONDET~0; {57784#false} is VALID [2022-04-08 15:12:21,484 INFO L272 TraceCheckUtils]: 45: Hoare triple {57784#false} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {57784#false} is VALID [2022-04-08 15:12:21,484 INFO L290 TraceCheckUtils]: 46: Hoare triple {57784#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(28);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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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); {57784#false} is VALID [2022-04-08 15:12:21,484 INFO L290 TraceCheckUtils]: 47: Hoare triple {57784#false} assume 0 == #t~mem81 % 256;havoc #t~mem81; {57784#false} is VALID [2022-04-08 15:12:21,484 INFO L290 TraceCheckUtils]: 48: Hoare triple {57784#false} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 180 + ~Irp.offset, 8);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 68;havoc #t~mem103.base, #t~mem103.offset; {57784#false} is VALID [2022-04-08 15:12:21,484 INFO L272 TraceCheckUtils]: 49: Hoare triple {57784#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, 52); {57842#(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 15:12:21,484 INFO L290 TraceCheckUtils]: 50: Hoare triple {57842#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {57783#true} is VALID [2022-04-08 15:12:21,484 INFO L290 TraceCheckUtils]: 51: Hoare triple {57783#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {57783#true} is VALID [2022-04-08 15:12:21,484 INFO L290 TraceCheckUtils]: 52: Hoare triple {57783#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {57783#true} is VALID [2022-04-08 15:12:21,484 INFO L290 TraceCheckUtils]: 53: Hoare triple {57783#true} assume #res.base == dest.base && #res.offset == dest.offset; {57783#true} is VALID [2022-04-08 15:12:21,484 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {57783#true} {57784#false} #1186#return; {57784#false} is VALID [2022-04-08 15:12:21,484 INFO L290 TraceCheckUtils]: 55: Hoare triple {57784#false} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {57784#false} is VALID [2022-04-08 15:12:21,484 INFO L290 TraceCheckUtils]: 56: Hoare triple {57784#false} assume !(~s~0 != ~NP~0); {57784#false} is VALID [2022-04-08 15:12:21,484 INFO L290 TraceCheckUtils]: 57: Hoare triple {57784#false} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {57784#false} is VALID [2022-04-08 15:12:21,484 INFO L290 TraceCheckUtils]: 58: Hoare triple {57784#false} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 68;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 52 + ~irpSp___0~0.offset, 8);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 60 + ~irpSp___0~0.offset, 8);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, 16 + ~devExt~3.offset, 8); {57784#false} is VALID [2022-04-08 15:12:21,484 INFO L272 TraceCheckUtils]: 59: Hoare triple {57784#false} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {57855#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:12:21,484 INFO L290 TraceCheckUtils]: 60: Hoare triple {57855#(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; {57783#true} is VALID [2022-04-08 15:12:21,485 INFO L290 TraceCheckUtils]: 61: Hoare triple {57783#true} assume 0 != ~compRegistered~0; {57783#true} is VALID [2022-04-08 15:12:21,485 INFO L272 TraceCheckUtils]: 62: Hoare triple {57783#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {57864#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:12:21,485 INFO L290 TraceCheckUtils]: 63: Hoare triple {57864#(= ~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; {57783#true} is VALID [2022-04-08 15:12:21,486 INFO L272 TraceCheckUtils]: 64: Hoare triple {57783#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {57864#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:12:21,486 INFO L290 TraceCheckUtils]: 65: Hoare triple {57864#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {57783#true} is VALID [2022-04-08 15:12:21,486 INFO L290 TraceCheckUtils]: 66: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-08 15:12:21,486 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {57783#true} {57783#true} #1174#return; {57783#true} is VALID [2022-04-08 15:12:21,486 INFO L290 TraceCheckUtils]: 68: Hoare triple {57783#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {57783#true} is VALID [2022-04-08 15:12:21,486 INFO L290 TraceCheckUtils]: 69: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-08 15:12:21,486 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {57783#true} {57783#true} #1210#return; {57783#true} is VALID [2022-04-08 15:12:21,486 INFO L290 TraceCheckUtils]: 71: Hoare triple {57783#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {57783#true} is VALID [2022-04-08 15:12:21,486 INFO L290 TraceCheckUtils]: 72: Hoare triple {57783#true} assume !(-1073741802 == ~compRetStatus~0); {57783#true} is VALID [2022-04-08 15:12:21,486 INFO L290 TraceCheckUtils]: 73: Hoare triple {57783#true} assume 0 == ~__BLAST_NONDET~11; {57783#true} is VALID [2022-04-08 15:12:21,486 INFO L290 TraceCheckUtils]: 74: Hoare triple {57783#true} ~returnVal2~0 := 0; {57783#true} is VALID [2022-04-08 15:12:21,486 INFO L290 TraceCheckUtils]: 75: Hoare triple {57783#true} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {57783#true} is VALID [2022-04-08 15:12:21,486 INFO L290 TraceCheckUtils]: 76: Hoare triple {57783#true} #res := ~returnVal2~0; {57783#true} is VALID [2022-04-08 15:12:21,487 INFO L290 TraceCheckUtils]: 77: Hoare triple {57783#true} assume true; {57783#true} is VALID [2022-04-08 15:12:21,487 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {57783#true} {57784#false} #1192#return; {57784#false} is VALID [2022-04-08 15:12:21,487 INFO L290 TraceCheckUtils]: 79: Hoare triple {57784#false} assume -9223372036854775808 <= #t~ret109 && #t~ret109 <= 9223372036854775807;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {57784#false} is VALID [2022-04-08 15:12:21,487 INFO L290 TraceCheckUtils]: 80: Hoare triple {57784#false} assume !(259 == ~status~3); {57784#false} is VALID [2022-04-08 15:12:21,487 INFO L290 TraceCheckUtils]: 81: Hoare triple {57784#false} assume ~status~3 >= 0; {57784#false} is VALID [2022-04-08 15:12:21,487 INFO L290 TraceCheckUtils]: 82: Hoare triple {57784#false} assume !(~myStatus~0 >= 0); {57784#false} is VALID [2022-04-08 15:12:21,487 INFO L290 TraceCheckUtils]: 83: Hoare triple {57784#false} call write~int(~status~3, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~3 % 4294967296 <= 2147483647 then ~status~3 % 4294967296 else ~status~3 % 4294967296 - 4294967296);call write~int(0, ~Irp.base, 52 + ~Irp.offset, 8); {57784#false} is VALID [2022-04-08 15:12:21,487 INFO L272 TraceCheckUtils]: 84: Hoare triple {57784#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {57784#false} is VALID [2022-04-08 15:12:21,487 INFO L290 TraceCheckUtils]: 85: Hoare triple {57784#false} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {57784#false} is VALID [2022-04-08 15:12:21,487 INFO L290 TraceCheckUtils]: 86: Hoare triple {57784#false} assume !(~s~0 == ~NP~0); {57784#false} is VALID [2022-04-08 15:12:21,487 INFO L272 TraceCheckUtils]: 87: Hoare triple {57784#false} call errorFn(); {57784#false} is VALID [2022-04-08 15:12:21,487 INFO L290 TraceCheckUtils]: 88: Hoare triple {57784#false} assume !false; {57784#false} is VALID [2022-04-08 15:12:21,487 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 15:12:21,487 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:12:21,488 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1685939974] [2022-04-08 15:12:21,488 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1685939974] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:12:21,488 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:12:21,488 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 15:12:21,488 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:12:21,488 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2068597822] [2022-04-08 15:12:21,488 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2068597822] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:12:21,488 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:12:21,488 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 15:12:21,488 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1761081741] [2022-04-08 15:12:21,488 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:12:21,489 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 15:12:21,489 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:12:21,489 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 15:12:21,566 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 15:12:21,567 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 15:12:21,567 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:12:21,567 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 15:12:21,567 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=100, Unknown=0, NotChecked=0, Total=132 [2022-04-08 15:12:21,567 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 15:12:23,699 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 15:12:32,790 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:12:32,791 INFO L93 Difference]: Finished difference Result 657 states and 796 transitions. [2022-04-08 15:12:32,791 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 15:12:32,791 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 15:12:32,791 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:12:32,791 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 15:12:32,793 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 311 transitions. [2022-04-08 15:12:32,793 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 15:12:32,794 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 311 transitions. [2022-04-08 15:12:32,794 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 311 transitions. [2022-04-08 15:12:33,085 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 15:12:33,093 INFO L225 Difference]: With dead ends: 657 [2022-04-08 15:12:33,093 INFO L226 Difference]: Without dead ends: 399 [2022-04-08 15:12:33,094 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 15:12:33,094 INFO L913 BasicCegarLoop]: 140 mSDtfsCounter, 220 mSDsluCounter, 237 mSDsCounter, 0 mSdLazyCounter, 769 mSolverCounterSat, 111 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 224 SdHoareTripleChecker+Valid, 377 SdHoareTripleChecker+Invalid, 881 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 111 IncrementalHoareTripleChecker+Valid, 769 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.3s IncrementalHoareTripleChecker+Time [2022-04-08 15:12:33,094 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [224 Valid, 377 Invalid, 881 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [111 Valid, 769 Invalid, 1 Unknown, 0 Unchecked, 6.3s Time] [2022-04-08 15:12:33,095 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 399 states. [2022-04-08 15:12:33,694 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 399 to 337. [2022-04-08 15:12:33,694 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:12:33,695 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 15:12:33,695 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 15:12:33,695 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 15:12:33,701 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:12:33,701 INFO L93 Difference]: Finished difference Result 399 states and 479 transitions. [2022-04-08 15:12:33,701 INFO L276 IsEmpty]: Start isEmpty. Operand 399 states and 479 transitions. [2022-04-08 15:12:33,702 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:12:33,702 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:12:33,702 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 15:12:33,702 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 15:12:33,708 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:12:33,708 INFO L93 Difference]: Finished difference Result 399 states and 479 transitions. [2022-04-08 15:12:33,708 INFO L276 IsEmpty]: Start isEmpty. Operand 399 states and 479 transitions. [2022-04-08 15:12:33,709 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:12:33,709 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:12:33,709 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:12:33,709 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:12:33,709 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 15:12:33,714 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 337 states to 337 states and 399 transitions. [2022-04-08 15:12:33,714 INFO L78 Accepts]: Start accepts. Automaton has 337 states and 399 transitions. Word has length 89 [2022-04-08 15:12:33,714 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:12:33,715 INFO L478 AbstractCegarLoop]: Abstraction has 337 states and 399 transitions. [2022-04-08 15:12:33,715 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 15:12:33,715 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 337 states and 399 transitions. [2022-04-08 15:12:34,576 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 15:12:34,577 INFO L276 IsEmpty]: Start isEmpty. Operand 337 states and 399 transitions. [2022-04-08 15:12:34,577 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 103 [2022-04-08 15:12:34,577 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:12:34,577 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 15:12:34,577 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable24 [2022-04-08 15:12:34,578 INFO L403 AbstractCegarLoop]: === Iteration 26 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:12:34,578 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:12:34,578 INFO L85 PathProgramCache]: Analyzing trace with hash -623916271, now seen corresponding path program 1 times [2022-04-08 15:12:34,578 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:12:34,578 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [460862971] [2022-04-08 15:12:34,595 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 15:12:34,595 INFO L85 PathProgramCache]: Analyzing trace with hash -623916271, now seen corresponding path program 2 times [2022-04-08 15:12:34,596 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:12:34,596 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [711584050] [2022-04-08 15:12:34,596 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:12:34,596 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:12:34,900 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:34,978 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:12:34,980 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:34,984 INFO L290 TraceCheckUtils]: 0: Hoare triple {60734#(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; {60666#true} is VALID [2022-04-08 15:12:34,985 INFO L290 TraceCheckUtils]: 1: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-08 15:12:34,985 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {60666#true} {60666#true} #1270#return; {60666#true} is VALID [2022-04-08 15:12:35,003 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:12:35,005 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:35,009 INFO L290 TraceCheckUtils]: 0: Hoare triple {60735#(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; {60666#true} is VALID [2022-04-08 15:12:35,009 INFO L290 TraceCheckUtils]: 1: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-08 15:12:35,009 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {60666#true} {60666#true} #1216#return; {60666#true} is VALID [2022-04-08 15:12:35,015 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:12:35,020 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:35,026 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:12:35,027 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:35,031 INFO L290 TraceCheckUtils]: 0: Hoare triple {60666#true} ~cond := #in~cond; {60666#true} is VALID [2022-04-08 15:12:35,031 INFO L290 TraceCheckUtils]: 1: Hoare triple {60666#true} assume !(0 == ~cond); {60666#true} is VALID [2022-04-08 15:12:35,031 INFO L290 TraceCheckUtils]: 2: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-08 15:12:35,031 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {60666#true} {60666#true} #1254#return; {60666#true} is VALID [2022-04-08 15:12:35,031 INFO L290 TraceCheckUtils]: 0: Hoare triple {60736#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {60666#true} is VALID [2022-04-08 15:12:35,031 INFO L272 TraceCheckUtils]: 1: Hoare triple {60666#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {60666#true} is VALID [2022-04-08 15:12:35,031 INFO L290 TraceCheckUtils]: 2: Hoare triple {60666#true} ~cond := #in~cond; {60666#true} is VALID [2022-04-08 15:12:35,031 INFO L290 TraceCheckUtils]: 3: Hoare triple {60666#true} assume !(0 == ~cond); {60666#true} is VALID [2022-04-08 15:12:35,031 INFO L290 TraceCheckUtils]: 4: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-08 15:12:35,031 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {60666#true} {60666#true} #1254#return; {60666#true} is VALID [2022-04-08 15:12:35,031 INFO L290 TraceCheckUtils]: 6: Hoare triple {60666#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {60666#true} is VALID [2022-04-08 15:12:35,031 INFO L290 TraceCheckUtils]: 7: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-08 15:12:35,031 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {60666#true} {60666#true} #1218#return; {60666#true} is VALID [2022-04-08 15:12:35,039 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:12:35,070 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:35,082 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:12:35,085 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:35,090 INFO L290 TraceCheckUtils]: 0: Hoare triple {60741#(and (= |old(#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; {60666#true} is VALID [2022-04-08 15:12:35,091 INFO L290 TraceCheckUtils]: 1: Hoare triple {60666#true} assume 0 == ~__BLAST_NONDET~5; {60666#true} is VALID [2022-04-08 15:12:35,091 INFO L290 TraceCheckUtils]: 2: Hoare triple {60666#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {60666#true} is VALID [2022-04-08 15:12:35,091 INFO L290 TraceCheckUtils]: 3: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-08 15:12:35,091 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {60666#true} {60666#true} #1176#return; {60666#true} is VALID [2022-04-08 15:12:35,091 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 15:12:35,097 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:35,133 INFO L290 TraceCheckUtils]: 0: Hoare triple {60736#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {60756#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 15:12:35,133 INFO L290 TraceCheckUtils]: 1: Hoare triple {60756#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {60757#(or (<= |#Ultimate.C_memset_#amount| 0) (< 0 (div |#Ultimate.C_memset_#amount| 18446744073709551616)))} is VALID [2022-04-08 15:12:35,134 INFO L290 TraceCheckUtils]: 2: Hoare triple {60757#(or (<= |#Ultimate.C_memset_#amount| 0) (< 0 (div |#Ultimate.C_memset_#amount| 18446744073709551616)))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {60757#(or (<= |#Ultimate.C_memset_#amount| 0) (< 0 (div |#Ultimate.C_memset_#amount| 18446744073709551616)))} is VALID [2022-04-08 15:12:35,134 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {60757#(or (<= |#Ultimate.C_memset_#amount| 0) (< 0 (div |#Ultimate.C_memset_#amount| 18446744073709551616)))} {60666#true} #1178#return; {60667#false} is VALID [2022-04-08 15:12:35,135 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 15 [2022-04-08 15:12:35,136 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:35,144 INFO L290 TraceCheckUtils]: 0: Hoare triple {60666#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; {60666#true} is VALID [2022-04-08 15:12:35,144 INFO L290 TraceCheckUtils]: 1: Hoare triple {60666#true} assume 0 == ~__BLAST_NONDET~2; {60666#true} is VALID [2022-04-08 15:12:35,144 INFO L290 TraceCheckUtils]: 2: Hoare triple {60666#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {60666#true} is VALID [2022-04-08 15:12:35,144 INFO L290 TraceCheckUtils]: 3: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-08 15:12:35,144 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {60666#true} {60667#false} #1180#return; {60667#false} is VALID [2022-04-08 15:12:35,144 INFO L290 TraceCheckUtils]: 0: Hoare triple {60741#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {60666#true} is VALID [2022-04-08 15:12:35,145 INFO L272 TraceCheckUtils]: 1: Hoare triple {60666#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {60741#(and (= |old(#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 15:12:35,145 INFO L290 TraceCheckUtils]: 2: Hoare triple {60741#(and (= |old(#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; {60666#true} is VALID [2022-04-08 15:12:35,145 INFO L290 TraceCheckUtils]: 3: Hoare triple {60666#true} assume 0 == ~__BLAST_NONDET~5; {60666#true} is VALID [2022-04-08 15:12:35,146 INFO L290 TraceCheckUtils]: 4: Hoare triple {60666#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {60666#true} is VALID [2022-04-08 15:12:35,146 INFO L290 TraceCheckUtils]: 5: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-08 15:12:35,146 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {60666#true} {60666#true} #1176#return; {60666#true} is VALID [2022-04-08 15:12:35,146 INFO L290 TraceCheckUtils]: 7: Hoare triple {60666#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {60666#true} is VALID [2022-04-08 15:12:35,146 INFO L290 TraceCheckUtils]: 8: Hoare triple {60666#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {60666#true} is VALID [2022-04-08 15:12:35,146 INFO L272 TraceCheckUtils]: 9: Hoare triple {60666#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {60736#(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 15:12:35,147 INFO L290 TraceCheckUtils]: 10: Hoare triple {60736#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {60756#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 15:12:35,147 INFO L290 TraceCheckUtils]: 11: Hoare triple {60756#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {60757#(or (<= |#Ultimate.C_memset_#amount| 0) (< 0 (div |#Ultimate.C_memset_#amount| 18446744073709551616)))} is VALID [2022-04-08 15:12:35,148 INFO L290 TraceCheckUtils]: 12: Hoare triple {60757#(or (<= |#Ultimate.C_memset_#amount| 0) (< 0 (div |#Ultimate.C_memset_#amount| 18446744073709551616)))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {60757#(or (<= |#Ultimate.C_memset_#amount| 0) (< 0 (div |#Ultimate.C_memset_#amount| 18446744073709551616)))} is VALID [2022-04-08 15:12:35,148 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {60757#(or (<= |#Ultimate.C_memset_#amount| 0) (< 0 (div |#Ultimate.C_memset_#amount| 18446744073709551616)))} {60666#true} #1178#return; {60667#false} is VALID [2022-04-08 15:12:35,148 INFO L290 TraceCheckUtils]: 14: Hoare triple {60667#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {60667#false} is VALID [2022-04-08 15:12:35,148 INFO L272 TraceCheckUtils]: 15: Hoare triple {60667#false} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {60666#true} is VALID [2022-04-08 15:12:35,148 INFO L290 TraceCheckUtils]: 16: Hoare triple {60666#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; {60666#true} is VALID [2022-04-08 15:12:35,148 INFO L290 TraceCheckUtils]: 17: Hoare triple {60666#true} assume 0 == ~__BLAST_NONDET~2; {60666#true} is VALID [2022-04-08 15:12:35,149 INFO L290 TraceCheckUtils]: 18: Hoare triple {60666#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {60666#true} is VALID [2022-04-08 15:12:35,149 INFO L290 TraceCheckUtils]: 19: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-08 15:12:35,149 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {60666#true} {60667#false} #1180#return; {60667#false} is VALID [2022-04-08 15:12:35,149 INFO L290 TraceCheckUtils]: 21: Hoare triple {60667#false} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {60667#false} is VALID [2022-04-08 15:12:35,149 INFO L290 TraceCheckUtils]: 22: Hoare triple {60667#false} assume true; {60667#false} is VALID [2022-04-08 15:12:35,149 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {60667#false} {60666#true} #1220#return; {60667#false} is VALID [2022-04-08 15:12:35,164 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 49 [2022-04-08 15:12:35,165 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:35,169 INFO L290 TraceCheckUtils]: 0: Hoare triple {60758#(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; {60666#true} is VALID [2022-04-08 15:12:35,169 INFO L290 TraceCheckUtils]: 1: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-08 15:12:35,169 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {60666#true} {60667#false} #1222#return; {60667#false} is VALID [2022-04-08 15:12:35,170 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 62 [2022-04-08 15:12:35,171 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:35,175 INFO L290 TraceCheckUtils]: 0: Hoare triple {60736#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {60666#true} is VALID [2022-04-08 15:12:35,176 INFO L290 TraceCheckUtils]: 1: Hoare triple {60666#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {60666#true} is VALID [2022-04-08 15:12:35,176 INFO L290 TraceCheckUtils]: 2: Hoare triple {60666#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {60666#true} is VALID [2022-04-08 15:12:35,176 INFO L290 TraceCheckUtils]: 3: Hoare triple {60666#true} assume #res.base == dest.base && #res.offset == dest.offset; {60666#true} is VALID [2022-04-08 15:12:35,176 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {60666#true} {60667#false} #1186#return; {60667#false} is VALID [2022-04-08 15:12:35,184 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 72 [2022-04-08 15:12:35,188 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:35,201 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 15:12:35,203 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:35,207 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:12:35,208 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:35,212 INFO L290 TraceCheckUtils]: 0: Hoare triple {60768#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {60666#true} is VALID [2022-04-08 15:12:35,212 INFO L290 TraceCheckUtils]: 1: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-08 15:12:35,212 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {60666#true} {60666#true} #1174#return; {60666#true} is VALID [2022-04-08 15:12:35,212 INFO L290 TraceCheckUtils]: 0: Hoare triple {60768#(= ~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; {60666#true} is VALID [2022-04-08 15:12:35,213 INFO L272 TraceCheckUtils]: 1: Hoare triple {60666#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {60768#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:12:35,213 INFO L290 TraceCheckUtils]: 2: Hoare triple {60768#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {60666#true} is VALID [2022-04-08 15:12:35,213 INFO L290 TraceCheckUtils]: 3: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-08 15:12:35,213 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {60666#true} {60666#true} #1174#return; {60666#true} is VALID [2022-04-08 15:12:35,213 INFO L290 TraceCheckUtils]: 5: Hoare triple {60666#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {60666#true} is VALID [2022-04-08 15:12:35,213 INFO L290 TraceCheckUtils]: 6: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-08 15:12:35,213 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {60666#true} {60666#true} #1210#return; {60666#true} is VALID [2022-04-08 15:12:35,213 INFO L290 TraceCheckUtils]: 0: Hoare triple {60759#(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; {60666#true} is VALID [2022-04-08 15:12:35,213 INFO L290 TraceCheckUtils]: 1: Hoare triple {60666#true} assume 0 != ~compRegistered~0; {60666#true} is VALID [2022-04-08 15:12:35,214 INFO L272 TraceCheckUtils]: 2: Hoare triple {60666#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {60768#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:12:35,214 INFO L290 TraceCheckUtils]: 3: Hoare triple {60768#(= ~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; {60666#true} is VALID [2022-04-08 15:12:35,214 INFO L272 TraceCheckUtils]: 4: Hoare triple {60666#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {60768#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:12:35,214 INFO L290 TraceCheckUtils]: 5: Hoare triple {60768#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {60666#true} is VALID [2022-04-08 15:12:35,215 INFO L290 TraceCheckUtils]: 6: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-08 15:12:35,215 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {60666#true} {60666#true} #1174#return; {60666#true} is VALID [2022-04-08 15:12:35,215 INFO L290 TraceCheckUtils]: 8: Hoare triple {60666#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {60666#true} is VALID [2022-04-08 15:12:35,215 INFO L290 TraceCheckUtils]: 9: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-08 15:12:35,215 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {60666#true} {60666#true} #1210#return; {60666#true} is VALID [2022-04-08 15:12:35,215 INFO L290 TraceCheckUtils]: 11: Hoare triple {60666#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {60666#true} is VALID [2022-04-08 15:12:35,215 INFO L290 TraceCheckUtils]: 12: Hoare triple {60666#true} assume !(-1073741802 == ~compRetStatus~0); {60666#true} is VALID [2022-04-08 15:12:35,215 INFO L290 TraceCheckUtils]: 13: Hoare triple {60666#true} assume 0 == ~__BLAST_NONDET~11; {60666#true} is VALID [2022-04-08 15:12:35,215 INFO L290 TraceCheckUtils]: 14: Hoare triple {60666#true} ~returnVal2~0 := 0; {60666#true} is VALID [2022-04-08 15:12:35,215 INFO L290 TraceCheckUtils]: 15: Hoare triple {60666#true} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {60666#true} is VALID [2022-04-08 15:12:35,215 INFO L290 TraceCheckUtils]: 16: Hoare triple {60666#true} #res := ~returnVal2~0; {60666#true} is VALID [2022-04-08 15:12:35,215 INFO L290 TraceCheckUtils]: 17: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-08 15:12:35,215 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {60666#true} {60667#false} #1192#return; {60667#false} is VALID [2022-04-08 15:12:35,216 INFO L272 TraceCheckUtils]: 0: Hoare triple {60666#true} call ULTIMATE.init(); {60734#(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 15:12:35,216 INFO L290 TraceCheckUtils]: 1: Hoare triple {60734#(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; {60666#true} is VALID [2022-04-08 15:12:35,216 INFO L290 TraceCheckUtils]: 2: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-08 15:12:35,216 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {60666#true} {60666#true} #1270#return; {60666#true} is VALID [2022-04-08 15:12:35,217 INFO L272 TraceCheckUtils]: 4: Hoare triple {60666#true} call #t~ret213 := main(); {60666#true} is VALID [2022-04-08 15:12:35,217 INFO L290 TraceCheckUtils]: 5: Hoare triple {60666#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {60666#true} is VALID [2022-04-08 15:12:35,217 INFO L272 TraceCheckUtils]: 6: Hoare triple {60666#true} call _BLAST_init(); {60735#(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 15:12:35,217 INFO L290 TraceCheckUtils]: 7: Hoare triple {60735#(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; {60666#true} is VALID [2022-04-08 15:12:35,218 INFO L290 TraceCheckUtils]: 8: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-08 15:12:35,218 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {60666#true} {60666#true} #1216#return; {60666#true} is VALID [2022-04-08 15:12:35,218 INFO L272 TraceCheckUtils]: 10: Hoare triple {60666#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {60736#(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 15:12:35,218 INFO L290 TraceCheckUtils]: 11: Hoare triple {60736#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {60666#true} is VALID [2022-04-08 15:12:35,218 INFO L272 TraceCheckUtils]: 12: Hoare triple {60666#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {60666#true} is VALID [2022-04-08 15:12:35,218 INFO L290 TraceCheckUtils]: 13: Hoare triple {60666#true} ~cond := #in~cond; {60666#true} is VALID [2022-04-08 15:12:35,218 INFO L290 TraceCheckUtils]: 14: Hoare triple {60666#true} assume !(0 == ~cond); {60666#true} is VALID [2022-04-08 15:12:35,219 INFO L290 TraceCheckUtils]: 15: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-08 15:12:35,219 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {60666#true} {60666#true} #1254#return; {60666#true} is VALID [2022-04-08 15:12:35,219 INFO L290 TraceCheckUtils]: 17: Hoare triple {60666#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {60666#true} is VALID [2022-04-08 15:12:35,219 INFO L290 TraceCheckUtils]: 18: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-08 15:12:35,219 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {60666#true} {60666#true} #1218#return; {60666#true} is VALID [2022-04-08 15:12:35,219 INFO L290 TraceCheckUtils]: 20: Hoare triple {60666#true} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {60666#true} is VALID [2022-04-08 15:12:35,219 INFO L290 TraceCheckUtils]: 21: Hoare triple {60666#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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {60666#true} is VALID [2022-04-08 15:12:35,219 INFO L290 TraceCheckUtils]: 22: Hoare triple {60666#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {60666#true} is VALID [2022-04-08 15:12:35,220 INFO L272 TraceCheckUtils]: 23: Hoare triple {60666#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {60741#(and (= |old(#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 15:12:35,220 INFO L290 TraceCheckUtils]: 24: Hoare triple {60741#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {60666#true} is VALID [2022-04-08 15:12:35,221 INFO L272 TraceCheckUtils]: 25: Hoare triple {60666#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {60741#(and (= |old(#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 15:12:35,221 INFO L290 TraceCheckUtils]: 26: Hoare triple {60741#(and (= |old(#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; {60666#true} is VALID [2022-04-08 15:12:35,221 INFO L290 TraceCheckUtils]: 27: Hoare triple {60666#true} assume 0 == ~__BLAST_NONDET~5; {60666#true} is VALID [2022-04-08 15:12:35,221 INFO L290 TraceCheckUtils]: 28: Hoare triple {60666#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {60666#true} is VALID [2022-04-08 15:12:35,221 INFO L290 TraceCheckUtils]: 29: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-08 15:12:35,221 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {60666#true} {60666#true} #1176#return; {60666#true} is VALID [2022-04-08 15:12:35,221 INFO L290 TraceCheckUtils]: 31: Hoare triple {60666#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {60666#true} is VALID [2022-04-08 15:12:35,221 INFO L290 TraceCheckUtils]: 32: Hoare triple {60666#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {60666#true} is VALID [2022-04-08 15:12:35,222 INFO L272 TraceCheckUtils]: 33: Hoare triple {60666#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {60736#(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 15:12:35,222 INFO L290 TraceCheckUtils]: 34: Hoare triple {60736#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {60756#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 15:12:35,223 INFO L290 TraceCheckUtils]: 35: Hoare triple {60756#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {60757#(or (<= |#Ultimate.C_memset_#amount| 0) (< 0 (div |#Ultimate.C_memset_#amount| 18446744073709551616)))} is VALID [2022-04-08 15:12:35,223 INFO L290 TraceCheckUtils]: 36: Hoare triple {60757#(or (<= |#Ultimate.C_memset_#amount| 0) (< 0 (div |#Ultimate.C_memset_#amount| 18446744073709551616)))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {60757#(or (<= |#Ultimate.C_memset_#amount| 0) (< 0 (div |#Ultimate.C_memset_#amount| 18446744073709551616)))} is VALID [2022-04-08 15:12:35,224 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {60757#(or (<= |#Ultimate.C_memset_#amount| 0) (< 0 (div |#Ultimate.C_memset_#amount| 18446744073709551616)))} {60666#true} #1178#return; {60667#false} is VALID [2022-04-08 15:12:35,224 INFO L290 TraceCheckUtils]: 38: Hoare triple {60667#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {60667#false} is VALID [2022-04-08 15:12:35,224 INFO L272 TraceCheckUtils]: 39: Hoare triple {60667#false} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {60666#true} is VALID [2022-04-08 15:12:35,224 INFO L290 TraceCheckUtils]: 40: Hoare triple {60666#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; {60666#true} is VALID [2022-04-08 15:12:35,224 INFO L290 TraceCheckUtils]: 41: Hoare triple {60666#true} assume 0 == ~__BLAST_NONDET~2; {60666#true} is VALID [2022-04-08 15:12:35,224 INFO L290 TraceCheckUtils]: 42: Hoare triple {60666#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {60666#true} is VALID [2022-04-08 15:12:35,224 INFO L290 TraceCheckUtils]: 43: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-08 15:12:35,224 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {60666#true} {60667#false} #1180#return; {60667#false} is VALID [2022-04-08 15:12:35,224 INFO L290 TraceCheckUtils]: 45: Hoare triple {60667#false} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {60667#false} is VALID [2022-04-08 15:12:35,224 INFO L290 TraceCheckUtils]: 46: Hoare triple {60667#false} assume true; {60667#false} is VALID [2022-04-08 15:12:35,224 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {60667#false} {60666#true} #1220#return; {60667#false} is VALID [2022-04-08 15:12:35,224 INFO L290 TraceCheckUtils]: 48: Hoare triple {60667#false} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {60667#false} is VALID [2022-04-08 15:12:35,224 INFO L272 TraceCheckUtils]: 49: Hoare triple {60667#false} call stub_driver_init(); {60758#(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 15:12:35,224 INFO L290 TraceCheckUtils]: 50: Hoare triple {60758#(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; {60666#true} is VALID [2022-04-08 15:12:35,225 INFO L290 TraceCheckUtils]: 51: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-08 15:12:35,225 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {60666#true} {60667#false} #1222#return; {60667#false} is VALID [2022-04-08 15:12:35,225 INFO L290 TraceCheckUtils]: 53: Hoare triple {60667#false} assume !!(~status~5 >= 0); {60667#false} is VALID [2022-04-08 15:12:35,225 INFO L290 TraceCheckUtils]: 54: Hoare triple {60667#false} assume !(0 == ~__BLAST_NONDET~0); {60667#false} is VALID [2022-04-08 15:12:35,225 INFO L290 TraceCheckUtils]: 55: Hoare triple {60667#false} assume !(1 == ~__BLAST_NONDET~0); {60667#false} is VALID [2022-04-08 15:12:35,225 INFO L290 TraceCheckUtils]: 56: Hoare triple {60667#false} assume !(2 == ~__BLAST_NONDET~0); {60667#false} is VALID [2022-04-08 15:12:35,225 INFO L290 TraceCheckUtils]: 57: Hoare triple {60667#false} assume 3 == ~__BLAST_NONDET~0; {60667#false} is VALID [2022-04-08 15:12:35,225 INFO L272 TraceCheckUtils]: 58: Hoare triple {60667#false} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {60667#false} is VALID [2022-04-08 15:12:35,225 INFO L290 TraceCheckUtils]: 59: Hoare triple {60667#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(28);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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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); {60667#false} is VALID [2022-04-08 15:12:35,225 INFO L290 TraceCheckUtils]: 60: Hoare triple {60667#false} assume 0 == #t~mem81 % 256;havoc #t~mem81; {60667#false} is VALID [2022-04-08 15:12:35,225 INFO L290 TraceCheckUtils]: 61: Hoare triple {60667#false} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 180 + ~Irp.offset, 8);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 68;havoc #t~mem103.base, #t~mem103.offset; {60667#false} is VALID [2022-04-08 15:12:35,225 INFO L272 TraceCheckUtils]: 62: Hoare triple {60667#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, 52); {60736#(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 15:12:35,225 INFO L290 TraceCheckUtils]: 63: Hoare triple {60736#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {60666#true} is VALID [2022-04-08 15:12:35,225 INFO L290 TraceCheckUtils]: 64: Hoare triple {60666#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {60666#true} is VALID [2022-04-08 15:12:35,225 INFO L290 TraceCheckUtils]: 65: Hoare triple {60666#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {60666#true} is VALID [2022-04-08 15:12:35,225 INFO L290 TraceCheckUtils]: 66: Hoare triple {60666#true} assume #res.base == dest.base && #res.offset == dest.offset; {60666#true} is VALID [2022-04-08 15:12:35,225 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {60666#true} {60667#false} #1186#return; {60667#false} is VALID [2022-04-08 15:12:35,225 INFO L290 TraceCheckUtils]: 68: Hoare triple {60667#false} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {60667#false} is VALID [2022-04-08 15:12:35,225 INFO L290 TraceCheckUtils]: 69: Hoare triple {60667#false} assume !(~s~0 != ~NP~0); {60667#false} is VALID [2022-04-08 15:12:35,226 INFO L290 TraceCheckUtils]: 70: Hoare triple {60667#false} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {60667#false} is VALID [2022-04-08 15:12:35,226 INFO L290 TraceCheckUtils]: 71: Hoare triple {60667#false} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 68;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 52 + ~irpSp___0~0.offset, 8);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 60 + ~irpSp___0~0.offset, 8);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, 16 + ~devExt~3.offset, 8); {60667#false} is VALID [2022-04-08 15:12:35,226 INFO L272 TraceCheckUtils]: 72: Hoare triple {60667#false} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {60759#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:12:35,226 INFO L290 TraceCheckUtils]: 73: Hoare triple {60759#(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; {60666#true} is VALID [2022-04-08 15:12:35,226 INFO L290 TraceCheckUtils]: 74: Hoare triple {60666#true} assume 0 != ~compRegistered~0; {60666#true} is VALID [2022-04-08 15:12:35,226 INFO L272 TraceCheckUtils]: 75: Hoare triple {60666#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {60768#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:12:35,226 INFO L290 TraceCheckUtils]: 76: Hoare triple {60768#(= ~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; {60666#true} is VALID [2022-04-08 15:12:35,227 INFO L272 TraceCheckUtils]: 77: Hoare triple {60666#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {60768#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:12:35,227 INFO L290 TraceCheckUtils]: 78: Hoare triple {60768#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {60666#true} is VALID [2022-04-08 15:12:35,227 INFO L290 TraceCheckUtils]: 79: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-08 15:12:35,227 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {60666#true} {60666#true} #1174#return; {60666#true} is VALID [2022-04-08 15:12:35,227 INFO L290 TraceCheckUtils]: 81: Hoare triple {60666#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {60666#true} is VALID [2022-04-08 15:12:35,227 INFO L290 TraceCheckUtils]: 82: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-08 15:12:35,227 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {60666#true} {60666#true} #1210#return; {60666#true} is VALID [2022-04-08 15:12:35,227 INFO L290 TraceCheckUtils]: 84: Hoare triple {60666#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {60666#true} is VALID [2022-04-08 15:12:35,227 INFO L290 TraceCheckUtils]: 85: Hoare triple {60666#true} assume !(-1073741802 == ~compRetStatus~0); {60666#true} is VALID [2022-04-08 15:12:35,227 INFO L290 TraceCheckUtils]: 86: Hoare triple {60666#true} assume 0 == ~__BLAST_NONDET~11; {60666#true} is VALID [2022-04-08 15:12:35,228 INFO L290 TraceCheckUtils]: 87: Hoare triple {60666#true} ~returnVal2~0 := 0; {60666#true} is VALID [2022-04-08 15:12:35,228 INFO L290 TraceCheckUtils]: 88: Hoare triple {60666#true} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {60666#true} is VALID [2022-04-08 15:12:35,228 INFO L290 TraceCheckUtils]: 89: Hoare triple {60666#true} #res := ~returnVal2~0; {60666#true} is VALID [2022-04-08 15:12:35,228 INFO L290 TraceCheckUtils]: 90: Hoare triple {60666#true} assume true; {60666#true} is VALID [2022-04-08 15:12:35,228 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {60666#true} {60667#false} #1192#return; {60667#false} is VALID [2022-04-08 15:12:35,228 INFO L290 TraceCheckUtils]: 92: Hoare triple {60667#false} assume -9223372036854775808 <= #t~ret109 && #t~ret109 <= 9223372036854775807;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {60667#false} is VALID [2022-04-08 15:12:35,228 INFO L290 TraceCheckUtils]: 93: Hoare triple {60667#false} assume !(259 == ~status~3); {60667#false} is VALID [2022-04-08 15:12:35,228 INFO L290 TraceCheckUtils]: 94: Hoare triple {60667#false} assume ~status~3 >= 0; {60667#false} is VALID [2022-04-08 15:12:35,228 INFO L290 TraceCheckUtils]: 95: Hoare triple {60667#false} assume !(~myStatus~0 >= 0); {60667#false} is VALID [2022-04-08 15:12:35,228 INFO L290 TraceCheckUtils]: 96: Hoare triple {60667#false} call write~int(~status~3, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~3 % 4294967296 <= 2147483647 then ~status~3 % 4294967296 else ~status~3 % 4294967296 - 4294967296);call write~int(0, ~Irp.base, 52 + ~Irp.offset, 8); {60667#false} is VALID [2022-04-08 15:12:35,228 INFO L272 TraceCheckUtils]: 97: Hoare triple {60667#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {60667#false} is VALID [2022-04-08 15:12:35,228 INFO L290 TraceCheckUtils]: 98: Hoare triple {60667#false} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {60667#false} is VALID [2022-04-08 15:12:35,228 INFO L290 TraceCheckUtils]: 99: Hoare triple {60667#false} assume !(~s~0 == ~NP~0); {60667#false} is VALID [2022-04-08 15:12:35,228 INFO L272 TraceCheckUtils]: 100: Hoare triple {60667#false} call errorFn(); {60667#false} is VALID [2022-04-08 15:12:35,228 INFO L290 TraceCheckUtils]: 101: Hoare triple {60667#false} assume !false; {60667#false} is VALID [2022-04-08 15:12:35,228 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 15:12:35,229 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:12:35,229 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [711584050] [2022-04-08 15:12:35,229 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [711584050] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:12:35,229 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:12:35,229 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 15:12:35,229 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:12:35,229 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [460862971] [2022-04-08 15:12:35,229 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [460862971] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:12:35,229 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:12:35,229 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 15:12:35,229 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2095705866] [2022-04-08 15:12:35,229 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:12:35,230 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 15:12:35,230 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:12:35,230 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 15:12:35,300 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 15:12:35,300 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 15:12:35,300 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:12:35,301 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 15:12:35,301 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=80, Unknown=0, NotChecked=0, Total=110 [2022-04-08 15:12:35,301 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 15:12:37,418 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 15:12:42,342 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:12:42,342 INFO L93 Difference]: Finished difference Result 675 states and 810 transitions. [2022-04-08 15:12:42,342 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 15:12:42,342 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 15:12:42,342 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:12:42,342 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 15:12:42,344 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 318 transitions. [2022-04-08 15:12:42,344 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 15:12:42,346 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 318 transitions. [2022-04-08 15:12:42,346 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 318 transitions. [2022-04-08 15:12:42,634 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 15:12:42,642 INFO L225 Difference]: With dead ends: 675 [2022-04-08 15:12:42,642 INFO L226 Difference]: Without dead ends: 389 [2022-04-08 15:12:42,643 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 15:12:42,643 INFO L913 BasicCegarLoop]: 139 mSDtfsCounter, 275 mSDsluCounter, 174 mSDsCounter, 0 mSdLazyCounter, 469 mSolverCounterSat, 136 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 278 SdHoareTripleChecker+Valid, 313 SdHoareTripleChecker+Invalid, 606 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 136 IncrementalHoareTripleChecker+Valid, 469 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.4s IncrementalHoareTripleChecker+Time [2022-04-08 15:12:42,643 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [278 Valid, 313 Invalid, 606 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [136 Valid, 469 Invalid, 1 Unknown, 0 Unchecked, 3.4s Time] [2022-04-08 15:12:42,644 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 389 states. [2022-04-08 15:12:43,261 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 389 to 339. [2022-04-08 15:12:43,261 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:12:43,261 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 15:12:43,262 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 15:12:43,262 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 15:12:43,267 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:12:43,267 INFO L93 Difference]: Finished difference Result 389 states and 463 transitions. [2022-04-08 15:12:43,268 INFO L276 IsEmpty]: Start isEmpty. Operand 389 states and 463 transitions. [2022-04-08 15:12:43,268 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:12:43,268 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:12:43,268 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 15:12:43,268 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 15:12:43,274 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:12:43,274 INFO L93 Difference]: Finished difference Result 389 states and 463 transitions. [2022-04-08 15:12:43,274 INFO L276 IsEmpty]: Start isEmpty. Operand 389 states and 463 transitions. [2022-04-08 15:12:43,274 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:12:43,274 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:12:43,274 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:12:43,274 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:12:43,275 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 15:12:43,280 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 339 states to 339 states and 401 transitions. [2022-04-08 15:12:43,280 INFO L78 Accepts]: Start accepts. Automaton has 339 states and 401 transitions. Word has length 102 [2022-04-08 15:12:43,280 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:12:43,280 INFO L478 AbstractCegarLoop]: Abstraction has 339 states and 401 transitions. [2022-04-08 15:12:43,280 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 15:12:43,280 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 339 states and 401 transitions. [2022-04-08 15:12:44,170 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 15:12:44,171 INFO L276 IsEmpty]: Start isEmpty. Operand 339 states and 401 transitions. [2022-04-08 15:12:44,171 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 104 [2022-04-08 15:12:44,171 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:12:44,171 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 15:12:44,172 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable25 [2022-04-08 15:12:44,172 INFO L403 AbstractCegarLoop]: === Iteration 27 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:12:44,172 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:12:44,172 INFO L85 PathProgramCache]: Analyzing trace with hash 1023672093, now seen corresponding path program 1 times [2022-04-08 15:12:44,172 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:12:44,172 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1751969591] [2022-04-08 15:12:44,179 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 15:12:44,179 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 15:12:44,179 INFO L85 PathProgramCache]: Analyzing trace with hash 1023672093, now seen corresponding path program 2 times [2022-04-08 15:12:44,179 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:12:44,179 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [585398063] [2022-04-08 15:12:44,179 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:12:44,179 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:12:44,463 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:44,559 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:12:44,561 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:44,573 INFO L290 TraceCheckUtils]: 0: Hoare triple {63661#(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; {63592#true} is VALID [2022-04-08 15:12:44,573 INFO L290 TraceCheckUtils]: 1: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-08 15:12:44,573 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {63592#true} {63592#true} #1270#return; {63592#true} is VALID [2022-04-08 15:12:44,613 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:12:44,615 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:44,619 INFO L290 TraceCheckUtils]: 0: Hoare triple {63662#(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; {63592#true} is VALID [2022-04-08 15:12:44,619 INFO L290 TraceCheckUtils]: 1: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-08 15:12:44,619 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {63592#true} {63592#true} #1216#return; {63592#true} is VALID [2022-04-08 15:12:44,626 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:12:44,640 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:44,660 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:12:44,661 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:44,665 INFO L290 TraceCheckUtils]: 0: Hoare triple {63592#true} ~cond := #in~cond; {63592#true} is VALID [2022-04-08 15:12:44,665 INFO L290 TraceCheckUtils]: 1: Hoare triple {63592#true} assume !(0 == ~cond); {63592#true} is VALID [2022-04-08 15:12:44,665 INFO L290 TraceCheckUtils]: 2: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-08 15:12:44,679 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {63592#true} {63592#true} #1254#return; {63592#true} is VALID [2022-04-08 15:12:44,679 INFO L290 TraceCheckUtils]: 0: Hoare triple {63663#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {63592#true} is VALID [2022-04-08 15:12:44,679 INFO L272 TraceCheckUtils]: 1: Hoare triple {63592#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {63592#true} is VALID [2022-04-08 15:12:44,679 INFO L290 TraceCheckUtils]: 2: Hoare triple {63592#true} ~cond := #in~cond; {63592#true} is VALID [2022-04-08 15:12:44,679 INFO L290 TraceCheckUtils]: 3: Hoare triple {63592#true} assume !(0 == ~cond); {63592#true} is VALID [2022-04-08 15:12:44,679 INFO L290 TraceCheckUtils]: 4: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-08 15:12:44,679 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {63592#true} {63592#true} #1254#return; {63592#true} is VALID [2022-04-08 15:12:44,679 INFO L290 TraceCheckUtils]: 6: Hoare triple {63592#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {63592#true} is VALID [2022-04-08 15:12:44,679 INFO L290 TraceCheckUtils]: 7: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-08 15:12:44,679 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {63592#true} {63592#true} #1218#return; {63592#true} is VALID [2022-04-08 15:12:44,687 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:12:44,708 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:44,722 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:12:44,725 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:44,730 INFO L290 TraceCheckUtils]: 0: Hoare triple {63668#(and (= |old(#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; {63592#true} is VALID [2022-04-08 15:12:44,730 INFO L290 TraceCheckUtils]: 1: Hoare triple {63592#true} assume 0 == ~__BLAST_NONDET~5; {63592#true} is VALID [2022-04-08 15:12:44,730 INFO L290 TraceCheckUtils]: 2: Hoare triple {63592#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {63592#true} is VALID [2022-04-08 15:12:44,730 INFO L290 TraceCheckUtils]: 3: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-08 15:12:44,730 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {63592#true} {63592#true} #1176#return; {63592#true} is VALID [2022-04-08 15:12:44,731 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 15:12:44,738 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:44,816 INFO L290 TraceCheckUtils]: 0: Hoare triple {63663#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {63684#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 15:12:44,817 INFO L290 TraceCheckUtils]: 1: Hoare triple {63684#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {63685#(and (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616) 1) 0)) (or (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616)) (<= (+ (* 18446744073709551616 (div |#Ultimate.C_memset_#amount| 18446744073709551616)) 1) |#Ultimate.C_memset_#amount|)) (or (not (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)))} is VALID [2022-04-08 15:12:44,818 INFO L290 TraceCheckUtils]: 2: Hoare triple {63685#(and (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616) 1) 0)) (or (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616)) (<= (+ (* 18446744073709551616 (div |#Ultimate.C_memset_#amount| 18446744073709551616)) 1) |#Ultimate.C_memset_#amount|)) (or (not (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)))} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {63686#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 15:12:44,818 INFO L290 TraceCheckUtils]: 3: Hoare triple {63686#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {63686#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 15:12:44,819 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {63686#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} {63592#true} #1178#return; {63593#false} is VALID [2022-04-08 15:12:44,819 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-08 15:12:44,821 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:44,830 INFO L290 TraceCheckUtils]: 0: Hoare triple {63592#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; {63592#true} is VALID [2022-04-08 15:12:44,830 INFO L290 TraceCheckUtils]: 1: Hoare triple {63592#true} assume 0 == ~__BLAST_NONDET~2; {63592#true} is VALID [2022-04-08 15:12:44,830 INFO L290 TraceCheckUtils]: 2: Hoare triple {63592#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {63592#true} is VALID [2022-04-08 15:12:44,830 INFO L290 TraceCheckUtils]: 3: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-08 15:12:44,830 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {63592#true} {63593#false} #1180#return; {63593#false} is VALID [2022-04-08 15:12:44,830 INFO L290 TraceCheckUtils]: 0: Hoare triple {63668#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {63592#true} is VALID [2022-04-08 15:12:44,831 INFO L272 TraceCheckUtils]: 1: Hoare triple {63592#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {63668#(and (= |old(#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 15:12:44,832 INFO L290 TraceCheckUtils]: 2: Hoare triple {63668#(and (= |old(#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; {63592#true} is VALID [2022-04-08 15:12:44,832 INFO L290 TraceCheckUtils]: 3: Hoare triple {63592#true} assume 0 == ~__BLAST_NONDET~5; {63592#true} is VALID [2022-04-08 15:12:44,832 INFO L290 TraceCheckUtils]: 4: Hoare triple {63592#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {63592#true} is VALID [2022-04-08 15:12:44,832 INFO L290 TraceCheckUtils]: 5: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-08 15:12:44,832 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {63592#true} {63592#true} #1176#return; {63592#true} is VALID [2022-04-08 15:12:44,832 INFO L290 TraceCheckUtils]: 7: Hoare triple {63592#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {63592#true} is VALID [2022-04-08 15:12:44,832 INFO L290 TraceCheckUtils]: 8: Hoare triple {63592#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {63592#true} is VALID [2022-04-08 15:12:44,833 INFO L272 TraceCheckUtils]: 9: Hoare triple {63592#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {63663#(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 15:12:44,833 INFO L290 TraceCheckUtils]: 10: Hoare triple {63663#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {63684#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 15:12:44,834 INFO L290 TraceCheckUtils]: 11: Hoare triple {63684#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {63685#(and (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616) 1) 0)) (or (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616)) (<= (+ (* 18446744073709551616 (div |#Ultimate.C_memset_#amount| 18446744073709551616)) 1) |#Ultimate.C_memset_#amount|)) (or (not (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)))} is VALID [2022-04-08 15:12:44,837 INFO L290 TraceCheckUtils]: 12: Hoare triple {63685#(and (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616) 1) 0)) (or (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616)) (<= (+ (* 18446744073709551616 (div |#Ultimate.C_memset_#amount| 18446744073709551616)) 1) |#Ultimate.C_memset_#amount|)) (or (not (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)))} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {63686#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 15:12:44,838 INFO L290 TraceCheckUtils]: 13: Hoare triple {63686#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {63686#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 15:12:44,839 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {63686#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} {63592#true} #1178#return; {63593#false} is VALID [2022-04-08 15:12:44,839 INFO L290 TraceCheckUtils]: 15: Hoare triple {63593#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {63593#false} is VALID [2022-04-08 15:12:44,839 INFO L272 TraceCheckUtils]: 16: Hoare triple {63593#false} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {63592#true} is VALID [2022-04-08 15:12:44,839 INFO L290 TraceCheckUtils]: 17: Hoare triple {63592#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; {63592#true} is VALID [2022-04-08 15:12:44,839 INFO L290 TraceCheckUtils]: 18: Hoare triple {63592#true} assume 0 == ~__BLAST_NONDET~2; {63592#true} is VALID [2022-04-08 15:12:44,839 INFO L290 TraceCheckUtils]: 19: Hoare triple {63592#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {63592#true} is VALID [2022-04-08 15:12:44,839 INFO L290 TraceCheckUtils]: 20: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-08 15:12:44,839 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {63592#true} {63593#false} #1180#return; {63593#false} is VALID [2022-04-08 15:12:44,839 INFO L290 TraceCheckUtils]: 22: Hoare triple {63593#false} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {63593#false} is VALID [2022-04-08 15:12:44,839 INFO L290 TraceCheckUtils]: 23: Hoare triple {63593#false} assume true; {63593#false} is VALID [2022-04-08 15:12:44,839 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {63593#false} {63592#true} #1220#return; {63593#false} is VALID [2022-04-08 15:12:44,856 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-08 15:12:44,858 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:44,863 INFO L290 TraceCheckUtils]: 0: Hoare triple {63687#(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; {63592#true} is VALID [2022-04-08 15:12:44,863 INFO L290 TraceCheckUtils]: 1: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-08 15:12:44,863 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {63592#true} {63593#false} #1222#return; {63593#false} is VALID [2022-04-08 15:12:44,863 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-08 15:12:44,865 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:44,870 INFO L290 TraceCheckUtils]: 0: Hoare triple {63663#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {63592#true} is VALID [2022-04-08 15:12:44,870 INFO L290 TraceCheckUtils]: 1: Hoare triple {63592#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {63592#true} is VALID [2022-04-08 15:12:44,870 INFO L290 TraceCheckUtils]: 2: Hoare triple {63592#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {63592#true} is VALID [2022-04-08 15:12:44,870 INFO L290 TraceCheckUtils]: 3: Hoare triple {63592#true} assume #res.base == dest.base && #res.offset == dest.offset; {63592#true} is VALID [2022-04-08 15:12:44,870 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {63592#true} {63593#false} #1186#return; {63593#false} is VALID [2022-04-08 15:12:44,883 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 73 [2022-04-08 15:12:44,889 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:44,907 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 15:12:44,909 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:44,914 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:12:44,915 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:44,920 INFO L290 TraceCheckUtils]: 0: Hoare triple {63697#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {63592#true} is VALID [2022-04-08 15:12:44,920 INFO L290 TraceCheckUtils]: 1: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-08 15:12:44,920 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {63592#true} {63592#true} #1174#return; {63592#true} is VALID [2022-04-08 15:12:44,921 INFO L290 TraceCheckUtils]: 0: Hoare triple {63697#(= ~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; {63592#true} is VALID [2022-04-08 15:12:44,921 INFO L272 TraceCheckUtils]: 1: Hoare triple {63592#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {63697#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:12:44,921 INFO L290 TraceCheckUtils]: 2: Hoare triple {63697#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {63592#true} is VALID [2022-04-08 15:12:44,921 INFO L290 TraceCheckUtils]: 3: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-08 15:12:44,921 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {63592#true} {63592#true} #1174#return; {63592#true} is VALID [2022-04-08 15:12:44,921 INFO L290 TraceCheckUtils]: 5: Hoare triple {63592#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {63592#true} is VALID [2022-04-08 15:12:44,921 INFO L290 TraceCheckUtils]: 6: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-08 15:12:44,921 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {63592#true} {63592#true} #1210#return; {63592#true} is VALID [2022-04-08 15:12:44,922 INFO L290 TraceCheckUtils]: 0: Hoare triple {63688#(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; {63592#true} is VALID [2022-04-08 15:12:44,922 INFO L290 TraceCheckUtils]: 1: Hoare triple {63592#true} assume 0 != ~compRegistered~0; {63592#true} is VALID [2022-04-08 15:12:44,922 INFO L272 TraceCheckUtils]: 2: Hoare triple {63592#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {63697#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:12:44,922 INFO L290 TraceCheckUtils]: 3: Hoare triple {63697#(= ~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; {63592#true} is VALID [2022-04-08 15:12:44,923 INFO L272 TraceCheckUtils]: 4: Hoare triple {63592#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {63697#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:12:44,923 INFO L290 TraceCheckUtils]: 5: Hoare triple {63697#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {63592#true} is VALID [2022-04-08 15:12:44,923 INFO L290 TraceCheckUtils]: 6: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-08 15:12:44,923 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {63592#true} {63592#true} #1174#return; {63592#true} is VALID [2022-04-08 15:12:44,923 INFO L290 TraceCheckUtils]: 8: Hoare triple {63592#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {63592#true} is VALID [2022-04-08 15:12:44,923 INFO L290 TraceCheckUtils]: 9: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-08 15:12:44,923 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {63592#true} {63592#true} #1210#return; {63592#true} is VALID [2022-04-08 15:12:44,923 INFO L290 TraceCheckUtils]: 11: Hoare triple {63592#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {63592#true} is VALID [2022-04-08 15:12:44,923 INFO L290 TraceCheckUtils]: 12: Hoare triple {63592#true} assume !(-1073741802 == ~compRetStatus~0); {63592#true} is VALID [2022-04-08 15:12:44,923 INFO L290 TraceCheckUtils]: 13: Hoare triple {63592#true} assume 0 == ~__BLAST_NONDET~11; {63592#true} is VALID [2022-04-08 15:12:44,924 INFO L290 TraceCheckUtils]: 14: Hoare triple {63592#true} ~returnVal2~0 := 0; {63592#true} is VALID [2022-04-08 15:12:44,924 INFO L290 TraceCheckUtils]: 15: Hoare triple {63592#true} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {63592#true} is VALID [2022-04-08 15:12:44,924 INFO L290 TraceCheckUtils]: 16: Hoare triple {63592#true} #res := ~returnVal2~0; {63592#true} is VALID [2022-04-08 15:12:44,924 INFO L290 TraceCheckUtils]: 17: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-08 15:12:44,924 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {63592#true} {63593#false} #1192#return; {63593#false} is VALID [2022-04-08 15:12:44,925 INFO L272 TraceCheckUtils]: 0: Hoare triple {63592#true} call ULTIMATE.init(); {63661#(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 15:12:44,925 INFO L290 TraceCheckUtils]: 1: Hoare triple {63661#(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; {63592#true} is VALID [2022-04-08 15:12:44,925 INFO L290 TraceCheckUtils]: 2: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-08 15:12:44,925 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {63592#true} {63592#true} #1270#return; {63592#true} is VALID [2022-04-08 15:12:44,925 INFO L272 TraceCheckUtils]: 4: Hoare triple {63592#true} call #t~ret213 := main(); {63592#true} is VALID [2022-04-08 15:12:44,925 INFO L290 TraceCheckUtils]: 5: Hoare triple {63592#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {63592#true} is VALID [2022-04-08 15:12:44,926 INFO L272 TraceCheckUtils]: 6: Hoare triple {63592#true} call _BLAST_init(); {63662#(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 15:12:44,926 INFO L290 TraceCheckUtils]: 7: Hoare triple {63662#(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; {63592#true} is VALID [2022-04-08 15:12:44,926 INFO L290 TraceCheckUtils]: 8: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-08 15:12:44,926 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {63592#true} {63592#true} #1216#return; {63592#true} is VALID [2022-04-08 15:12:44,927 INFO L272 TraceCheckUtils]: 10: Hoare triple {63592#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {63663#(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 15:12:44,927 INFO L290 TraceCheckUtils]: 11: Hoare triple {63663#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {63592#true} is VALID [2022-04-08 15:12:44,927 INFO L272 TraceCheckUtils]: 12: Hoare triple {63592#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {63592#true} is VALID [2022-04-08 15:12:44,927 INFO L290 TraceCheckUtils]: 13: Hoare triple {63592#true} ~cond := #in~cond; {63592#true} is VALID [2022-04-08 15:12:44,927 INFO L290 TraceCheckUtils]: 14: Hoare triple {63592#true} assume !(0 == ~cond); {63592#true} is VALID [2022-04-08 15:12:44,927 INFO L290 TraceCheckUtils]: 15: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-08 15:12:44,927 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {63592#true} {63592#true} #1254#return; {63592#true} is VALID [2022-04-08 15:12:44,927 INFO L290 TraceCheckUtils]: 17: Hoare triple {63592#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {63592#true} is VALID [2022-04-08 15:12:44,927 INFO L290 TraceCheckUtils]: 18: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-08 15:12:44,927 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {63592#true} {63592#true} #1218#return; {63592#true} is VALID [2022-04-08 15:12:44,927 INFO L290 TraceCheckUtils]: 20: Hoare triple {63592#true} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {63592#true} is VALID [2022-04-08 15:12:44,927 INFO L290 TraceCheckUtils]: 21: Hoare triple {63592#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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {63592#true} is VALID [2022-04-08 15:12:44,927 INFO L290 TraceCheckUtils]: 22: Hoare triple {63592#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {63592#true} is VALID [2022-04-08 15:12:44,928 INFO L272 TraceCheckUtils]: 23: Hoare triple {63592#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {63668#(and (= |old(#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 15:12:44,928 INFO L290 TraceCheckUtils]: 24: Hoare triple {63668#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {63592#true} is VALID [2022-04-08 15:12:44,929 INFO L272 TraceCheckUtils]: 25: Hoare triple {63592#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {63668#(and (= |old(#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 15:12:44,929 INFO L290 TraceCheckUtils]: 26: Hoare triple {63668#(and (= |old(#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; {63592#true} is VALID [2022-04-08 15:12:44,929 INFO L290 TraceCheckUtils]: 27: Hoare triple {63592#true} assume 0 == ~__BLAST_NONDET~5; {63592#true} is VALID [2022-04-08 15:12:44,929 INFO L290 TraceCheckUtils]: 28: Hoare triple {63592#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {63592#true} is VALID [2022-04-08 15:12:44,929 INFO L290 TraceCheckUtils]: 29: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-08 15:12:44,929 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {63592#true} {63592#true} #1176#return; {63592#true} is VALID [2022-04-08 15:12:44,930 INFO L290 TraceCheckUtils]: 31: Hoare triple {63592#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {63592#true} is VALID [2022-04-08 15:12:44,930 INFO L290 TraceCheckUtils]: 32: Hoare triple {63592#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {63592#true} is VALID [2022-04-08 15:12:44,930 INFO L272 TraceCheckUtils]: 33: Hoare triple {63592#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {63663#(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 15:12:44,931 INFO L290 TraceCheckUtils]: 34: Hoare triple {63663#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {63684#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 15:12:44,932 INFO L290 TraceCheckUtils]: 35: Hoare triple {63684#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {63685#(and (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616) 1) 0)) (or (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616)) (<= (+ (* 18446744073709551616 (div |#Ultimate.C_memset_#amount| 18446744073709551616)) 1) |#Ultimate.C_memset_#amount|)) (or (not (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)))} is VALID [2022-04-08 15:12:44,932 INFO L290 TraceCheckUtils]: 36: Hoare triple {63685#(and (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616) 1) 0)) (or (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616)) (<= (+ (* 18446744073709551616 (div |#Ultimate.C_memset_#amount| 18446744073709551616)) 1) |#Ultimate.C_memset_#amount|)) (or (not (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)))} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {63686#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 15:12:44,933 INFO L290 TraceCheckUtils]: 37: Hoare triple {63686#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {63686#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 15:12:44,933 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {63686#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} {63592#true} #1178#return; {63593#false} is VALID [2022-04-08 15:12:44,934 INFO L290 TraceCheckUtils]: 39: Hoare triple {63593#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {63593#false} is VALID [2022-04-08 15:12:44,934 INFO L272 TraceCheckUtils]: 40: Hoare triple {63593#false} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {63592#true} is VALID [2022-04-08 15:12:44,934 INFO L290 TraceCheckUtils]: 41: Hoare triple {63592#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; {63592#true} is VALID [2022-04-08 15:12:44,934 INFO L290 TraceCheckUtils]: 42: Hoare triple {63592#true} assume 0 == ~__BLAST_NONDET~2; {63592#true} is VALID [2022-04-08 15:12:44,934 INFO L290 TraceCheckUtils]: 43: Hoare triple {63592#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {63592#true} is VALID [2022-04-08 15:12:44,934 INFO L290 TraceCheckUtils]: 44: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-08 15:12:44,934 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {63592#true} {63593#false} #1180#return; {63593#false} is VALID [2022-04-08 15:12:44,934 INFO L290 TraceCheckUtils]: 46: Hoare triple {63593#false} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {63593#false} is VALID [2022-04-08 15:12:44,934 INFO L290 TraceCheckUtils]: 47: Hoare triple {63593#false} assume true; {63593#false} is VALID [2022-04-08 15:12:44,934 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {63593#false} {63592#true} #1220#return; {63593#false} is VALID [2022-04-08 15:12:44,934 INFO L290 TraceCheckUtils]: 49: Hoare triple {63593#false} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {63593#false} is VALID [2022-04-08 15:12:44,934 INFO L272 TraceCheckUtils]: 50: Hoare triple {63593#false} call stub_driver_init(); {63687#(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 15:12:44,934 INFO L290 TraceCheckUtils]: 51: Hoare triple {63687#(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; {63592#true} is VALID [2022-04-08 15:12:44,934 INFO L290 TraceCheckUtils]: 52: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-08 15:12:44,934 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {63592#true} {63593#false} #1222#return; {63593#false} is VALID [2022-04-08 15:12:44,934 INFO L290 TraceCheckUtils]: 54: Hoare triple {63593#false} assume !!(~status~5 >= 0); {63593#false} is VALID [2022-04-08 15:12:44,934 INFO L290 TraceCheckUtils]: 55: Hoare triple {63593#false} assume !(0 == ~__BLAST_NONDET~0); {63593#false} is VALID [2022-04-08 15:12:44,934 INFO L290 TraceCheckUtils]: 56: Hoare triple {63593#false} assume !(1 == ~__BLAST_NONDET~0); {63593#false} is VALID [2022-04-08 15:12:44,935 INFO L290 TraceCheckUtils]: 57: Hoare triple {63593#false} assume !(2 == ~__BLAST_NONDET~0); {63593#false} is VALID [2022-04-08 15:12:44,935 INFO L290 TraceCheckUtils]: 58: Hoare triple {63593#false} assume 3 == ~__BLAST_NONDET~0; {63593#false} is VALID [2022-04-08 15:12:44,935 INFO L272 TraceCheckUtils]: 59: Hoare triple {63593#false} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {63593#false} is VALID [2022-04-08 15:12:44,935 INFO L290 TraceCheckUtils]: 60: Hoare triple {63593#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(28);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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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); {63593#false} is VALID [2022-04-08 15:12:44,935 INFO L290 TraceCheckUtils]: 61: Hoare triple {63593#false} assume 0 == #t~mem81 % 256;havoc #t~mem81; {63593#false} is VALID [2022-04-08 15:12:44,935 INFO L290 TraceCheckUtils]: 62: Hoare triple {63593#false} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 180 + ~Irp.offset, 8);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 68;havoc #t~mem103.base, #t~mem103.offset; {63593#false} is VALID [2022-04-08 15:12:44,935 INFO L272 TraceCheckUtils]: 63: Hoare triple {63593#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, 52); {63663#(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 15:12:44,935 INFO L290 TraceCheckUtils]: 64: Hoare triple {63663#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {63592#true} is VALID [2022-04-08 15:12:44,935 INFO L290 TraceCheckUtils]: 65: Hoare triple {63592#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {63592#true} is VALID [2022-04-08 15:12:44,935 INFO L290 TraceCheckUtils]: 66: Hoare triple {63592#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {63592#true} is VALID [2022-04-08 15:12:44,935 INFO L290 TraceCheckUtils]: 67: Hoare triple {63592#true} assume #res.base == dest.base && #res.offset == dest.offset; {63592#true} is VALID [2022-04-08 15:12:44,935 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {63592#true} {63593#false} #1186#return; {63593#false} is VALID [2022-04-08 15:12:44,935 INFO L290 TraceCheckUtils]: 69: Hoare triple {63593#false} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {63593#false} is VALID [2022-04-08 15:12:44,935 INFO L290 TraceCheckUtils]: 70: Hoare triple {63593#false} assume !(~s~0 != ~NP~0); {63593#false} is VALID [2022-04-08 15:12:44,935 INFO L290 TraceCheckUtils]: 71: Hoare triple {63593#false} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {63593#false} is VALID [2022-04-08 15:12:44,935 INFO L290 TraceCheckUtils]: 72: Hoare triple {63593#false} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 68;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 52 + ~irpSp___0~0.offset, 8);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 60 + ~irpSp___0~0.offset, 8);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, 16 + ~devExt~3.offset, 8); {63593#false} is VALID [2022-04-08 15:12:44,935 INFO L272 TraceCheckUtils]: 73: Hoare triple {63593#false} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {63688#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:12:44,935 INFO L290 TraceCheckUtils]: 74: Hoare triple {63688#(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; {63592#true} is VALID [2022-04-08 15:12:44,935 INFO L290 TraceCheckUtils]: 75: Hoare triple {63592#true} assume 0 != ~compRegistered~0; {63592#true} is VALID [2022-04-08 15:12:44,936 INFO L272 TraceCheckUtils]: 76: Hoare triple {63592#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {63697#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:12:44,936 INFO L290 TraceCheckUtils]: 77: Hoare triple {63697#(= ~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; {63592#true} is VALID [2022-04-08 15:12:44,937 INFO L272 TraceCheckUtils]: 78: Hoare triple {63592#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {63697#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:12:44,937 INFO L290 TraceCheckUtils]: 79: Hoare triple {63697#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {63592#true} is VALID [2022-04-08 15:12:44,937 INFO L290 TraceCheckUtils]: 80: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-08 15:12:44,937 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {63592#true} {63592#true} #1174#return; {63592#true} is VALID [2022-04-08 15:12:44,937 INFO L290 TraceCheckUtils]: 82: Hoare triple {63592#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {63592#true} is VALID [2022-04-08 15:12:44,937 INFO L290 TraceCheckUtils]: 83: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-08 15:12:44,937 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {63592#true} {63592#true} #1210#return; {63592#true} is VALID [2022-04-08 15:12:44,937 INFO L290 TraceCheckUtils]: 85: Hoare triple {63592#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {63592#true} is VALID [2022-04-08 15:12:44,937 INFO L290 TraceCheckUtils]: 86: Hoare triple {63592#true} assume !(-1073741802 == ~compRetStatus~0); {63592#true} is VALID [2022-04-08 15:12:44,937 INFO L290 TraceCheckUtils]: 87: Hoare triple {63592#true} assume 0 == ~__BLAST_NONDET~11; {63592#true} is VALID [2022-04-08 15:12:44,937 INFO L290 TraceCheckUtils]: 88: Hoare triple {63592#true} ~returnVal2~0 := 0; {63592#true} is VALID [2022-04-08 15:12:44,937 INFO L290 TraceCheckUtils]: 89: Hoare triple {63592#true} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {63592#true} is VALID [2022-04-08 15:12:44,937 INFO L290 TraceCheckUtils]: 90: Hoare triple {63592#true} #res := ~returnVal2~0; {63592#true} is VALID [2022-04-08 15:12:44,938 INFO L290 TraceCheckUtils]: 91: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-08 15:12:44,938 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {63592#true} {63593#false} #1192#return; {63593#false} is VALID [2022-04-08 15:12:44,938 INFO L290 TraceCheckUtils]: 93: Hoare triple {63593#false} assume -9223372036854775808 <= #t~ret109 && #t~ret109 <= 9223372036854775807;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {63593#false} is VALID [2022-04-08 15:12:44,938 INFO L290 TraceCheckUtils]: 94: Hoare triple {63593#false} assume !(259 == ~status~3); {63593#false} is VALID [2022-04-08 15:12:44,938 INFO L290 TraceCheckUtils]: 95: Hoare triple {63593#false} assume ~status~3 >= 0; {63593#false} is VALID [2022-04-08 15:12:44,938 INFO L290 TraceCheckUtils]: 96: Hoare triple {63593#false} assume !(~myStatus~0 >= 0); {63593#false} is VALID [2022-04-08 15:12:44,938 INFO L290 TraceCheckUtils]: 97: Hoare triple {63593#false} call write~int(~status~3, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~3 % 4294967296 <= 2147483647 then ~status~3 % 4294967296 else ~status~3 % 4294967296 - 4294967296);call write~int(0, ~Irp.base, 52 + ~Irp.offset, 8); {63593#false} is VALID [2022-04-08 15:12:44,938 INFO L272 TraceCheckUtils]: 98: Hoare triple {63593#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {63593#false} is VALID [2022-04-08 15:12:44,938 INFO L290 TraceCheckUtils]: 99: Hoare triple {63593#false} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {63593#false} is VALID [2022-04-08 15:12:44,938 INFO L290 TraceCheckUtils]: 100: Hoare triple {63593#false} assume !(~s~0 == ~NP~0); {63593#false} is VALID [2022-04-08 15:12:44,938 INFO L272 TraceCheckUtils]: 101: Hoare triple {63593#false} call errorFn(); {63593#false} is VALID [2022-04-08 15:12:44,938 INFO L290 TraceCheckUtils]: 102: Hoare triple {63593#false} assume !false; {63593#false} is VALID [2022-04-08 15:12:44,938 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 15:12:44,939 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:12:44,939 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [585398063] [2022-04-08 15:12:44,939 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [585398063] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 15:12:44,939 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2062455901] [2022-04-08 15:12:44,939 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 15:12:44,939 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 15:12:44,939 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 15:12:44,941 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 15:12:44,943 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 15:12:45,867 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 15:12:45,867 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 15:12:45,875 INFO L263 TraceCheckSpWp]: Trace formula consists of 1752 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-08 15:12:45,911 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:45,918 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 15:12:46,136 INFO L272 TraceCheckUtils]: 0: Hoare triple {63592#true} call ULTIMATE.init(); {63592#true} is VALID [2022-04-08 15:12:46,136 INFO L290 TraceCheckUtils]: 1: Hoare triple {63592#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; {63592#true} is VALID [2022-04-08 15:12:46,136 INFO L290 TraceCheckUtils]: 2: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-08 15:12:46,136 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {63592#true} {63592#true} #1270#return; {63592#true} is VALID [2022-04-08 15:12:46,136 INFO L272 TraceCheckUtils]: 4: Hoare triple {63592#true} call #t~ret213 := main(); {63592#true} is VALID [2022-04-08 15:12:46,137 INFO L290 TraceCheckUtils]: 5: Hoare triple {63592#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {63592#true} is VALID [2022-04-08 15:12:46,137 INFO L272 TraceCheckUtils]: 6: Hoare triple {63592#true} call _BLAST_init(); {63592#true} is VALID [2022-04-08 15:12:46,137 INFO L290 TraceCheckUtils]: 7: Hoare triple {63592#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; {63592#true} is VALID [2022-04-08 15:12:46,137 INFO L290 TraceCheckUtils]: 8: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-08 15:12:46,137 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {63592#true} {63592#true} #1216#return; {63592#true} is VALID [2022-04-08 15:12:46,137 INFO L272 TraceCheckUtils]: 10: Hoare triple {63592#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {63592#true} is VALID [2022-04-08 15:12:46,137 INFO L290 TraceCheckUtils]: 11: Hoare triple {63592#true} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {63592#true} is VALID [2022-04-08 15:12:46,137 INFO L272 TraceCheckUtils]: 12: Hoare triple {63592#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {63592#true} is VALID [2022-04-08 15:12:46,137 INFO L290 TraceCheckUtils]: 13: Hoare triple {63592#true} ~cond := #in~cond; {63592#true} is VALID [2022-04-08 15:12:46,137 INFO L290 TraceCheckUtils]: 14: Hoare triple {63592#true} assume !(0 == ~cond); {63592#true} is VALID [2022-04-08 15:12:46,137 INFO L290 TraceCheckUtils]: 15: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-08 15:12:46,137 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {63592#true} {63592#true} #1254#return; {63592#true} is VALID [2022-04-08 15:12:46,137 INFO L290 TraceCheckUtils]: 17: Hoare triple {63592#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {63592#true} is VALID [2022-04-08 15:12:46,138 INFO L290 TraceCheckUtils]: 18: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-08 15:12:46,138 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {63592#true} {63592#true} #1218#return; {63592#true} is VALID [2022-04-08 15:12:46,138 INFO L290 TraceCheckUtils]: 20: Hoare triple {63592#true} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {63592#true} is VALID [2022-04-08 15:12:46,138 INFO L290 TraceCheckUtils]: 21: Hoare triple {63592#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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {63592#true} is VALID [2022-04-08 15:12:46,138 INFO L290 TraceCheckUtils]: 22: Hoare triple {63592#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {63592#true} is VALID [2022-04-08 15:12:46,138 INFO L272 TraceCheckUtils]: 23: Hoare triple {63592#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {63592#true} is VALID [2022-04-08 15:12:46,138 INFO L290 TraceCheckUtils]: 24: Hoare triple {63592#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(8);havoc ~status~0;~status~0 := 0; {63592#true} is VALID [2022-04-08 15:12:46,138 INFO L272 TraceCheckUtils]: 25: Hoare triple {63592#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {63592#true} is VALID [2022-04-08 15:12:46,138 INFO L290 TraceCheckUtils]: 26: Hoare triple {63592#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; {63592#true} is VALID [2022-04-08 15:12:46,138 INFO L290 TraceCheckUtils]: 27: Hoare triple {63592#true} assume 0 == ~__BLAST_NONDET~5; {63592#true} is VALID [2022-04-08 15:12:46,138 INFO L290 TraceCheckUtils]: 28: Hoare triple {63592#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {63592#true} is VALID [2022-04-08 15:12:46,138 INFO L290 TraceCheckUtils]: 29: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-08 15:12:46,139 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {63592#true} {63592#true} #1176#return; {63592#true} is VALID [2022-04-08 15:12:46,139 INFO L290 TraceCheckUtils]: 31: Hoare triple {63592#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {63592#true} is VALID [2022-04-08 15:12:46,139 INFO L290 TraceCheckUtils]: 32: Hoare triple {63592#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {63592#true} is VALID [2022-04-08 15:12:46,139 INFO L272 TraceCheckUtils]: 33: Hoare triple {63592#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {63592#true} is VALID [2022-04-08 15:12:46,139 INFO L290 TraceCheckUtils]: 34: Hoare triple {63592#true} #t~loopctr214 := 0; {63592#true} is VALID [2022-04-08 15:12:46,139 INFO L290 TraceCheckUtils]: 35: Hoare triple {63592#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {63592#true} is VALID [2022-04-08 15:12:46,139 INFO L290 TraceCheckUtils]: 36: Hoare triple {63592#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {63592#true} is VALID [2022-04-08 15:12:46,139 INFO L290 TraceCheckUtils]: 37: Hoare triple {63592#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {63592#true} is VALID [2022-04-08 15:12:46,139 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {63592#true} {63592#true} #1178#return; {63592#true} is VALID [2022-04-08 15:12:46,139 INFO L290 TraceCheckUtils]: 39: Hoare triple {63592#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {63592#true} is VALID [2022-04-08 15:12:46,139 INFO L272 TraceCheckUtils]: 40: Hoare triple {63592#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {63592#true} is VALID [2022-04-08 15:12:46,139 INFO L290 TraceCheckUtils]: 41: Hoare triple {63592#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; {63592#true} is VALID [2022-04-08 15:12:46,139 INFO L290 TraceCheckUtils]: 42: Hoare triple {63592#true} assume 0 == ~__BLAST_NONDET~2; {63592#true} is VALID [2022-04-08 15:12:46,139 INFO L290 TraceCheckUtils]: 43: Hoare triple {63592#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {63592#true} is VALID [2022-04-08 15:12:46,140 INFO L290 TraceCheckUtils]: 44: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-08 15:12:46,140 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {63592#true} {63592#true} #1180#return; {63592#true} is VALID [2022-04-08 15:12:46,140 INFO L290 TraceCheckUtils]: 46: Hoare triple {63592#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {63592#true} is VALID [2022-04-08 15:12:46,140 INFO L290 TraceCheckUtils]: 47: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-08 15:12:46,140 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {63592#true} {63592#true} #1220#return; {63592#true} is VALID [2022-04-08 15:12:46,140 INFO L290 TraceCheckUtils]: 49: Hoare triple {63592#true} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {63592#true} is VALID [2022-04-08 15:12:46,140 INFO L272 TraceCheckUtils]: 50: Hoare triple {63592#true} call stub_driver_init(); {63592#true} is VALID [2022-04-08 15:12:46,140 INFO L290 TraceCheckUtils]: 51: Hoare triple {63592#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; {63592#true} is VALID [2022-04-08 15:12:46,140 INFO L290 TraceCheckUtils]: 52: Hoare triple {63592#true} assume true; {63592#true} is VALID [2022-04-08 15:12:46,140 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {63592#true} {63592#true} #1222#return; {63592#true} is VALID [2022-04-08 15:12:46,140 INFO L290 TraceCheckUtils]: 54: Hoare triple {63592#true} assume !!(~status~5 >= 0); {63592#true} is VALID [2022-04-08 15:12:46,140 INFO L290 TraceCheckUtils]: 55: Hoare triple {63592#true} assume !(0 == ~__BLAST_NONDET~0); {63592#true} is VALID [2022-04-08 15:12:46,140 INFO L290 TraceCheckUtils]: 56: Hoare triple {63592#true} assume !(1 == ~__BLAST_NONDET~0); {63592#true} is VALID [2022-04-08 15:12:46,140 INFO L290 TraceCheckUtils]: 57: Hoare triple {63592#true} assume !(2 == ~__BLAST_NONDET~0); {63592#true} is VALID [2022-04-08 15:12:46,141 INFO L290 TraceCheckUtils]: 58: Hoare triple {63592#true} assume 3 == ~__BLAST_NONDET~0; {63592#true} is VALID [2022-04-08 15:12:46,141 INFO L272 TraceCheckUtils]: 59: Hoare triple {63592#true} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {63592#true} is VALID [2022-04-08 15:12:46,141 INFO L290 TraceCheckUtils]: 60: Hoare triple {63592#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(28);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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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); {63592#true} is VALID [2022-04-08 15:12:46,141 INFO L290 TraceCheckUtils]: 61: Hoare triple {63592#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {63592#true} is VALID [2022-04-08 15:12:46,141 INFO L290 TraceCheckUtils]: 62: Hoare triple {63592#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 180 + ~Irp.offset, 8);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 68;havoc #t~mem103.base, #t~mem103.offset; {63592#true} is VALID [2022-04-08 15:12:46,141 INFO L272 TraceCheckUtils]: 63: Hoare triple {63592#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, 52); {63592#true} is VALID [2022-04-08 15:12:46,141 INFO L290 TraceCheckUtils]: 64: Hoare triple {63592#true} #t~loopctr215 := 0; {63896#(= |#Ultimate.C_memmove_#t~loopctr215| 0)} is VALID [2022-04-08 15:12:46,142 INFO L290 TraceCheckUtils]: 65: Hoare triple {63896#(= |#Ultimate.C_memmove_#t~loopctr215| 0)} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {63900#(not (< 0 (mod |#Ultimate.C_memmove_size| 18446744073709551616)))} is VALID [2022-04-08 15:12:46,142 INFO L290 TraceCheckUtils]: 66: Hoare triple {63900#(not (< 0 (mod |#Ultimate.C_memmove_size| 18446744073709551616)))} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {63900#(not (< 0 (mod |#Ultimate.C_memmove_size| 18446744073709551616)))} is VALID [2022-04-08 15:12:46,142 INFO L290 TraceCheckUtils]: 67: Hoare triple {63900#(not (< 0 (mod |#Ultimate.C_memmove_size| 18446744073709551616)))} assume #res.base == dest.base && #res.offset == dest.offset; {63900#(not (< 0 (mod |#Ultimate.C_memmove_size| 18446744073709551616)))} is VALID [2022-04-08 15:12:46,143 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {63900#(not (< 0 (mod |#Ultimate.C_memmove_size| 18446744073709551616)))} {63592#true} #1186#return; {63593#false} is VALID [2022-04-08 15:12:46,143 INFO L290 TraceCheckUtils]: 69: Hoare triple {63593#false} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {63593#false} is VALID [2022-04-08 15:12:46,143 INFO L290 TraceCheckUtils]: 70: Hoare triple {63593#false} assume !(~s~0 != ~NP~0); {63593#false} is VALID [2022-04-08 15:12:46,143 INFO L290 TraceCheckUtils]: 71: Hoare triple {63593#false} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {63593#false} is VALID [2022-04-08 15:12:46,144 INFO L290 TraceCheckUtils]: 72: Hoare triple {63593#false} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 68;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 52 + ~irpSp___0~0.offset, 8);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 60 + ~irpSp___0~0.offset, 8);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, 16 + ~devExt~3.offset, 8); {63593#false} is VALID [2022-04-08 15:12:46,144 INFO L272 TraceCheckUtils]: 73: Hoare triple {63593#false} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {63593#false} is VALID [2022-04-08 15:12:46,144 INFO L290 TraceCheckUtils]: 74: Hoare triple {63593#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; {63593#false} is VALID [2022-04-08 15:12:46,144 INFO L290 TraceCheckUtils]: 75: Hoare triple {63593#false} assume 0 != ~compRegistered~0; {63593#false} is VALID [2022-04-08 15:12:46,144 INFO L272 TraceCheckUtils]: 76: Hoare triple {63593#false} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {63593#false} is VALID [2022-04-08 15:12:46,144 INFO L290 TraceCheckUtils]: 77: Hoare triple {63593#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; {63593#false} is VALID [2022-04-08 15:12:46,144 INFO L272 TraceCheckUtils]: 78: Hoare triple {63593#false} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {63593#false} is VALID [2022-04-08 15:12:46,144 INFO L290 TraceCheckUtils]: 79: Hoare triple {63593#false} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {63593#false} is VALID [2022-04-08 15:12:46,144 INFO L290 TraceCheckUtils]: 80: Hoare triple {63593#false} assume true; {63593#false} is VALID [2022-04-08 15:12:46,144 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {63593#false} {63593#false} #1174#return; {63593#false} is VALID [2022-04-08 15:12:46,144 INFO L290 TraceCheckUtils]: 82: Hoare triple {63593#false} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {63593#false} is VALID [2022-04-08 15:12:46,144 INFO L290 TraceCheckUtils]: 83: Hoare triple {63593#false} assume true; {63593#false} is VALID [2022-04-08 15:12:46,144 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {63593#false} {63593#false} #1210#return; {63593#false} is VALID [2022-04-08 15:12:46,144 INFO L290 TraceCheckUtils]: 85: Hoare triple {63593#false} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {63593#false} is VALID [2022-04-08 15:12:46,144 INFO L290 TraceCheckUtils]: 86: Hoare triple {63593#false} assume !(-1073741802 == ~compRetStatus~0); {63593#false} is VALID [2022-04-08 15:12:46,144 INFO L290 TraceCheckUtils]: 87: Hoare triple {63593#false} assume 0 == ~__BLAST_NONDET~11; {63593#false} is VALID [2022-04-08 15:12:46,144 INFO L290 TraceCheckUtils]: 88: Hoare triple {63593#false} ~returnVal2~0 := 0; {63593#false} is VALID [2022-04-08 15:12:46,144 INFO L290 TraceCheckUtils]: 89: Hoare triple {63593#false} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {63593#false} is VALID [2022-04-08 15:12:46,145 INFO L290 TraceCheckUtils]: 90: Hoare triple {63593#false} #res := ~returnVal2~0; {63593#false} is VALID [2022-04-08 15:12:46,145 INFO L290 TraceCheckUtils]: 91: Hoare triple {63593#false} assume true; {63593#false} is VALID [2022-04-08 15:12:46,145 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {63593#false} {63593#false} #1192#return; {63593#false} is VALID [2022-04-08 15:12:46,145 INFO L290 TraceCheckUtils]: 93: Hoare triple {63593#false} assume -9223372036854775808 <= #t~ret109 && #t~ret109 <= 9223372036854775807;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {63593#false} is VALID [2022-04-08 15:12:46,145 INFO L290 TraceCheckUtils]: 94: Hoare triple {63593#false} assume !(259 == ~status~3); {63593#false} is VALID [2022-04-08 15:12:46,145 INFO L290 TraceCheckUtils]: 95: Hoare triple {63593#false} assume ~status~3 >= 0; {63593#false} is VALID [2022-04-08 15:12:46,145 INFO L290 TraceCheckUtils]: 96: Hoare triple {63593#false} assume !(~myStatus~0 >= 0); {63593#false} is VALID [2022-04-08 15:12:46,145 INFO L290 TraceCheckUtils]: 97: Hoare triple {63593#false} call write~int(~status~3, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~3 % 4294967296 <= 2147483647 then ~status~3 % 4294967296 else ~status~3 % 4294967296 - 4294967296);call write~int(0, ~Irp.base, 52 + ~Irp.offset, 8); {63593#false} is VALID [2022-04-08 15:12:46,145 INFO L272 TraceCheckUtils]: 98: Hoare triple {63593#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {63593#false} is VALID [2022-04-08 15:12:46,145 INFO L290 TraceCheckUtils]: 99: Hoare triple {63593#false} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {63593#false} is VALID [2022-04-08 15:12:46,145 INFO L290 TraceCheckUtils]: 100: Hoare triple {63593#false} assume !(~s~0 == ~NP~0); {63593#false} is VALID [2022-04-08 15:12:46,145 INFO L272 TraceCheckUtils]: 101: Hoare triple {63593#false} call errorFn(); {63593#false} is VALID [2022-04-08 15:12:46,145 INFO L290 TraceCheckUtils]: 102: Hoare triple {63593#false} assume !false; {63593#false} is VALID [2022-04-08 15:12:46,145 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 15:12:46,146 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 15:12:46,146 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2062455901] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:12:46,146 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 15:12:46,146 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [12] total 14 [2022-04-08 15:12:46,147 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:12:46,147 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1751969591] [2022-04-08 15:12:46,147 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1751969591] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:12:46,147 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:12:46,147 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-08 15:12:46,147 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1371061764] [2022-04-08 15:12:46,147 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:12:46,148 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 18.25) 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), 2 states have call predecessors, (13), 2 states have call successors, (13) Word has length 103 [2022-04-08 15:12:46,148 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:12:46,148 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 18.25) 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), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-08 15:12:46,233 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 15:12:46,233 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-08 15:12:46,233 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:12:46,233 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-08 15:12:46,234 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=146, Unknown=0, NotChecked=0, Total=182 [2022-04-08 15:12:46,234 INFO L87 Difference]: Start difference. First operand 339 states and 401 transitions. Second operand has 4 states, 4 states have (on average 18.25) 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), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-08 15:12:54,447 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:12:54,447 INFO L93 Difference]: Finished difference Result 573 states and 692 transitions. [2022-04-08 15:12:54,447 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-08 15:12:54,447 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 18.25) 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), 2 states have call predecessors, (13), 2 states have call successors, (13) Word has length 103 [2022-04-08 15:12:54,448 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:12:54,448 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 18.25) 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), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-08 15:12:54,449 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 264 transitions. [2022-04-08 15:12:54,449 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 18.25) 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), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-08 15:12:54,451 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 264 transitions. [2022-04-08 15:12:54,451 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 264 transitions. [2022-04-08 15:12:54,608 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 264 edges. 264 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 15:12:54,614 INFO L225 Difference]: With dead ends: 573 [2022-04-08 15:12:54,614 INFO L226 Difference]: Without dead ends: 341 [2022-04-08 15:12:54,615 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 134 GetRequests, 121 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2022-04-08 15:12:54,616 INFO L913 BasicCegarLoop]: 162 mSDtfsCounter, 3 mSDsluCounter, 322 mSDsCounter, 0 mSdLazyCounter, 10 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 484 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 15:12:54,616 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [3 Valid, 484 Invalid, 11 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 10 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 15:12:54,618 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 341 states. [2022-04-08 15:12:55,248 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 341 to 341. [2022-04-08 15:12:55,248 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:12:55,249 INFO L82 GeneralOperation]: Start isEquivalent. First operand 341 states. Second operand has 341 states, 266 states have (on average 1.2293233082706767) internal successors, (327), 270 states have internal predecessors, (327), 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 15:12:55,249 INFO L74 IsIncluded]: Start isIncluded. First operand 341 states. Second operand has 341 states, 266 states have (on average 1.2293233082706767) internal successors, (327), 270 states have internal predecessors, (327), 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 15:12:55,249 INFO L87 Difference]: Start difference. First operand 341 states. Second operand has 341 states, 266 states have (on average 1.2293233082706767) internal successors, (327), 270 states have internal predecessors, (327), 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 15:12:55,254 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:12:55,254 INFO L93 Difference]: Finished difference Result 341 states and 403 transitions. [2022-04-08 15:12:55,254 INFO L276 IsEmpty]: Start isEmpty. Operand 341 states and 403 transitions. [2022-04-08 15:12:55,254 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:12:55,254 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:12:55,254 INFO L74 IsIncluded]: Start isIncluded. First operand has 341 states, 266 states have (on average 1.2293233082706767) internal successors, (327), 270 states have internal predecessors, (327), 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 341 states. [2022-04-08 15:12:55,254 INFO L87 Difference]: Start difference. First operand has 341 states, 266 states have (on average 1.2293233082706767) internal successors, (327), 270 states have internal predecessors, (327), 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 341 states. [2022-04-08 15:12:55,259 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:12:55,259 INFO L93 Difference]: Finished difference Result 341 states and 403 transitions. [2022-04-08 15:12:55,259 INFO L276 IsEmpty]: Start isEmpty. Operand 341 states and 403 transitions. [2022-04-08 15:12:55,259 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:12:55,259 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:12:55,259 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:12:55,259 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:12:55,260 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 341 states, 266 states have (on average 1.2293233082706767) internal successors, (327), 270 states have internal predecessors, (327), 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 15:12:55,265 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 341 states to 341 states and 403 transitions. [2022-04-08 15:12:55,265 INFO L78 Accepts]: Start accepts. Automaton has 341 states and 403 transitions. Word has length 103 [2022-04-08 15:12:55,265 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:12:55,265 INFO L478 AbstractCegarLoop]: Abstraction has 341 states and 403 transitions. [2022-04-08 15:12:55,265 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 18.25) 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), 2 states have call predecessors, (13), 2 states have call successors, (13) [2022-04-08 15:12:55,265 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 341 states and 403 transitions. [2022-04-08 15:12:56,220 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 403 edges. 403 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 15:12:56,221 INFO L276 IsEmpty]: Start isEmpty. Operand 341 states and 403 transitions. [2022-04-08 15:12:56,221 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 105 [2022-04-08 15:12:56,221 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:12:56,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] [2022-04-08 15:12:56,244 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-08 15:12:56,422 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 15:12:56,422 INFO L403 AbstractCegarLoop]: === Iteration 28 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:12:56,423 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:12:56,423 INFO L85 PathProgramCache]: Analyzing trace with hash 1130425434, now seen corresponding path program 1 times [2022-04-08 15:12:56,423 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:12:56,423 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1393619711] [2022-04-08 15:12:56,427 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 15:12:56,427 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 15:12:56,427 INFO L85 PathProgramCache]: Analyzing trace with hash 1130425434, now seen corresponding path program 2 times [2022-04-08 15:12:56,427 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:12:56,427 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1281272631] [2022-04-08 15:12:56,427 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:12:56,427 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:12:56,779 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:56,844 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:12:56,845 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:56,850 INFO L290 TraceCheckUtils]: 0: Hoare triple {66593#(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; {66523#true} is VALID [2022-04-08 15:12:56,851 INFO L290 TraceCheckUtils]: 1: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-08 15:12:56,851 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {66523#true} {66523#true} #1270#return; {66523#true} is VALID [2022-04-08 15:12:56,870 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:12:56,871 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:56,896 INFO L290 TraceCheckUtils]: 0: Hoare triple {66594#(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; {66523#true} is VALID [2022-04-08 15:12:56,899 INFO L290 TraceCheckUtils]: 1: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-08 15:12:56,899 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {66523#true} {66523#true} #1216#return; {66523#true} is VALID [2022-04-08 15:12:56,905 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:12:56,910 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:56,916 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:12:56,917 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:56,921 INFO L290 TraceCheckUtils]: 0: Hoare triple {66523#true} ~cond := #in~cond; {66523#true} is VALID [2022-04-08 15:12:56,921 INFO L290 TraceCheckUtils]: 1: Hoare triple {66523#true} assume !(0 == ~cond); {66523#true} is VALID [2022-04-08 15:12:56,921 INFO L290 TraceCheckUtils]: 2: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-08 15:12:56,921 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66523#true} {66523#true} #1254#return; {66523#true} is VALID [2022-04-08 15:12:56,921 INFO L290 TraceCheckUtils]: 0: Hoare triple {66595#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {66523#true} is VALID [2022-04-08 15:12:56,921 INFO L272 TraceCheckUtils]: 1: Hoare triple {66523#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {66523#true} is VALID [2022-04-08 15:12:56,921 INFO L290 TraceCheckUtils]: 2: Hoare triple {66523#true} ~cond := #in~cond; {66523#true} is VALID [2022-04-08 15:12:56,921 INFO L290 TraceCheckUtils]: 3: Hoare triple {66523#true} assume !(0 == ~cond); {66523#true} is VALID [2022-04-08 15:12:56,921 INFO L290 TraceCheckUtils]: 4: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-08 15:12:56,921 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {66523#true} {66523#true} #1254#return; {66523#true} is VALID [2022-04-08 15:12:56,921 INFO L290 TraceCheckUtils]: 6: Hoare triple {66523#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {66523#true} is VALID [2022-04-08 15:12:56,921 INFO L290 TraceCheckUtils]: 7: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-08 15:12:56,921 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {66523#true} {66523#true} #1218#return; {66523#true} is VALID [2022-04-08 15:12:56,929 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:12:56,951 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:56,962 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:12:56,965 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:56,970 INFO L290 TraceCheckUtils]: 0: Hoare triple {66600#(and (= |old(#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; {66523#true} is VALID [2022-04-08 15:12:56,970 INFO L290 TraceCheckUtils]: 1: Hoare triple {66523#true} assume 0 == ~__BLAST_NONDET~5; {66523#true} is VALID [2022-04-08 15:12:56,970 INFO L290 TraceCheckUtils]: 2: Hoare triple {66523#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {66523#true} is VALID [2022-04-08 15:12:56,971 INFO L290 TraceCheckUtils]: 3: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-08 15:12:56,971 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {66523#true} {66523#true} #1176#return; {66523#true} is VALID [2022-04-08 15:12:56,971 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 15:12:56,975 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:57,040 INFO L290 TraceCheckUtils]: 0: Hoare triple {66595#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {66616#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 15:12:57,042 INFO L290 TraceCheckUtils]: 1: Hoare triple {66616#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {66617#(and (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616) 1) 0)) (or (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616)) (<= (+ (* 18446744073709551616 (div |#Ultimate.C_memset_#amount| 18446744073709551616)) 1) |#Ultimate.C_memset_#amount|)) (or (not (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)))} is VALID [2022-04-08 15:12:57,042 INFO L290 TraceCheckUtils]: 2: Hoare triple {66617#(and (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616) 1) 0)) (or (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616)) (<= (+ (* 18446744073709551616 (div |#Ultimate.C_memset_#amount| 18446744073709551616)) 1) |#Ultimate.C_memset_#amount|)) (or (not (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)))} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {66618#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 15:12:57,043 INFO L290 TraceCheckUtils]: 3: Hoare triple {66618#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {66618#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 15:12:57,044 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {66618#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} {66523#true} #1178#return; {66524#false} is VALID [2022-04-08 15:12:57,044 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-08 15:12:57,045 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:57,049 INFO L290 TraceCheckUtils]: 0: Hoare triple {66523#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; {66523#true} is VALID [2022-04-08 15:12:57,050 INFO L290 TraceCheckUtils]: 1: Hoare triple {66523#true} assume 0 == ~__BLAST_NONDET~2; {66523#true} is VALID [2022-04-08 15:12:57,050 INFO L290 TraceCheckUtils]: 2: Hoare triple {66523#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {66523#true} is VALID [2022-04-08 15:12:57,050 INFO L290 TraceCheckUtils]: 3: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-08 15:12:57,050 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {66523#true} {66524#false} #1180#return; {66524#false} is VALID [2022-04-08 15:12:57,050 INFO L290 TraceCheckUtils]: 0: Hoare triple {66600#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {66523#true} is VALID [2022-04-08 15:12:57,051 INFO L272 TraceCheckUtils]: 1: Hoare triple {66523#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {66600#(and (= |old(#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 15:12:57,051 INFO L290 TraceCheckUtils]: 2: Hoare triple {66600#(and (= |old(#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; {66523#true} is VALID [2022-04-08 15:12:57,051 INFO L290 TraceCheckUtils]: 3: Hoare triple {66523#true} assume 0 == ~__BLAST_NONDET~5; {66523#true} is VALID [2022-04-08 15:12:57,051 INFO L290 TraceCheckUtils]: 4: Hoare triple {66523#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {66523#true} is VALID [2022-04-08 15:12:57,051 INFO L290 TraceCheckUtils]: 5: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-08 15:12:57,051 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {66523#true} {66523#true} #1176#return; {66523#true} is VALID [2022-04-08 15:12:57,051 INFO L290 TraceCheckUtils]: 7: Hoare triple {66523#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {66523#true} is VALID [2022-04-08 15:12:57,052 INFO L290 TraceCheckUtils]: 8: Hoare triple {66523#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {66523#true} is VALID [2022-04-08 15:12:57,052 INFO L272 TraceCheckUtils]: 9: Hoare triple {66523#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {66595#(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 15:12:57,053 INFO L290 TraceCheckUtils]: 10: Hoare triple {66595#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {66616#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 15:12:57,054 INFO L290 TraceCheckUtils]: 11: Hoare triple {66616#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {66617#(and (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616) 1) 0)) (or (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616)) (<= (+ (* 18446744073709551616 (div |#Ultimate.C_memset_#amount| 18446744073709551616)) 1) |#Ultimate.C_memset_#amount|)) (or (not (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)))} is VALID [2022-04-08 15:12:57,054 INFO L290 TraceCheckUtils]: 12: Hoare triple {66617#(and (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616) 1) 0)) (or (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616)) (<= (+ (* 18446744073709551616 (div |#Ultimate.C_memset_#amount| 18446744073709551616)) 1) |#Ultimate.C_memset_#amount|)) (or (not (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)))} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {66618#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 15:12:57,055 INFO L290 TraceCheckUtils]: 13: Hoare triple {66618#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {66618#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 15:12:57,056 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {66618#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} {66523#true} #1178#return; {66524#false} is VALID [2022-04-08 15:12:57,056 INFO L290 TraceCheckUtils]: 15: Hoare triple {66524#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {66524#false} is VALID [2022-04-08 15:12:57,056 INFO L272 TraceCheckUtils]: 16: Hoare triple {66524#false} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {66523#true} is VALID [2022-04-08 15:12:57,056 INFO L290 TraceCheckUtils]: 17: Hoare triple {66523#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; {66523#true} is VALID [2022-04-08 15:12:57,056 INFO L290 TraceCheckUtils]: 18: Hoare triple {66523#true} assume 0 == ~__BLAST_NONDET~2; {66523#true} is VALID [2022-04-08 15:12:57,056 INFO L290 TraceCheckUtils]: 19: Hoare triple {66523#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {66523#true} is VALID [2022-04-08 15:12:57,056 INFO L290 TraceCheckUtils]: 20: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-08 15:12:57,056 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {66523#true} {66524#false} #1180#return; {66524#false} is VALID [2022-04-08 15:12:57,056 INFO L290 TraceCheckUtils]: 22: Hoare triple {66524#false} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {66524#false} is VALID [2022-04-08 15:12:57,056 INFO L290 TraceCheckUtils]: 23: Hoare triple {66524#false} assume true; {66524#false} is VALID [2022-04-08 15:12:57,056 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {66524#false} {66523#true} #1220#return; {66524#false} is VALID [2022-04-08 15:12:57,072 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-08 15:12:57,074 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:57,078 INFO L290 TraceCheckUtils]: 0: Hoare triple {66619#(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; {66523#true} is VALID [2022-04-08 15:12:57,078 INFO L290 TraceCheckUtils]: 1: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-08 15:12:57,078 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {66523#true} {66524#false} #1222#return; {66524#false} is VALID [2022-04-08 15:12:57,078 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-08 15:12:57,089 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:57,095 INFO L290 TraceCheckUtils]: 0: Hoare triple {66595#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {66523#true} is VALID [2022-04-08 15:12:57,095 INFO L290 TraceCheckUtils]: 1: Hoare triple {66523#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {66523#true} is VALID [2022-04-08 15:12:57,095 INFO L290 TraceCheckUtils]: 2: Hoare triple {66523#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {66523#true} is VALID [2022-04-08 15:12:57,096 INFO L290 TraceCheckUtils]: 3: Hoare triple {66523#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {66523#true} is VALID [2022-04-08 15:12:57,096 INFO L290 TraceCheckUtils]: 4: Hoare triple {66523#true} assume #res.base == dest.base && #res.offset == dest.offset; {66523#true} is VALID [2022-04-08 15:12:57,096 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {66523#true} {66524#false} #1186#return; {66524#false} is VALID [2022-04-08 15:12:57,105 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 74 [2022-04-08 15:12:57,113 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:57,127 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 15:12:57,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:57,133 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:12:57,134 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:57,138 INFO L290 TraceCheckUtils]: 0: Hoare triple {66629#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {66523#true} is VALID [2022-04-08 15:12:57,138 INFO L290 TraceCheckUtils]: 1: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-08 15:12:57,138 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {66523#true} {66523#true} #1174#return; {66523#true} is VALID [2022-04-08 15:12:57,138 INFO L290 TraceCheckUtils]: 0: Hoare triple {66629#(= ~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; {66523#true} is VALID [2022-04-08 15:12:57,138 INFO L272 TraceCheckUtils]: 1: Hoare triple {66523#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {66629#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:12:57,139 INFO L290 TraceCheckUtils]: 2: Hoare triple {66629#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {66523#true} is VALID [2022-04-08 15:12:57,139 INFO L290 TraceCheckUtils]: 3: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-08 15:12:57,139 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {66523#true} {66523#true} #1174#return; {66523#true} is VALID [2022-04-08 15:12:57,139 INFO L290 TraceCheckUtils]: 5: Hoare triple {66523#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {66523#true} is VALID [2022-04-08 15:12:57,139 INFO L290 TraceCheckUtils]: 6: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-08 15:12:57,139 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {66523#true} {66523#true} #1210#return; {66523#true} is VALID [2022-04-08 15:12:57,139 INFO L290 TraceCheckUtils]: 0: Hoare triple {66620#(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; {66523#true} is VALID [2022-04-08 15:12:57,139 INFO L290 TraceCheckUtils]: 1: Hoare triple {66523#true} assume 0 != ~compRegistered~0; {66523#true} is VALID [2022-04-08 15:12:57,140 INFO L272 TraceCheckUtils]: 2: Hoare triple {66523#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {66629#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:12:57,140 INFO L290 TraceCheckUtils]: 3: Hoare triple {66629#(= ~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; {66523#true} is VALID [2022-04-08 15:12:57,140 INFO L272 TraceCheckUtils]: 4: Hoare triple {66523#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {66629#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:12:57,140 INFO L290 TraceCheckUtils]: 5: Hoare triple {66629#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {66523#true} is VALID [2022-04-08 15:12:57,140 INFO L290 TraceCheckUtils]: 6: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-08 15:12:57,140 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {66523#true} {66523#true} #1174#return; {66523#true} is VALID [2022-04-08 15:12:57,140 INFO L290 TraceCheckUtils]: 8: Hoare triple {66523#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {66523#true} is VALID [2022-04-08 15:12:57,140 INFO L290 TraceCheckUtils]: 9: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-08 15:12:57,141 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {66523#true} {66523#true} #1210#return; {66523#true} is VALID [2022-04-08 15:12:57,141 INFO L290 TraceCheckUtils]: 11: Hoare triple {66523#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {66523#true} is VALID [2022-04-08 15:12:57,141 INFO L290 TraceCheckUtils]: 12: Hoare triple {66523#true} assume !(-1073741802 == ~compRetStatus~0); {66523#true} is VALID [2022-04-08 15:12:57,141 INFO L290 TraceCheckUtils]: 13: Hoare triple {66523#true} assume 0 == ~__BLAST_NONDET~11; {66523#true} is VALID [2022-04-08 15:12:57,141 INFO L290 TraceCheckUtils]: 14: Hoare triple {66523#true} ~returnVal2~0 := 0; {66523#true} is VALID [2022-04-08 15:12:57,141 INFO L290 TraceCheckUtils]: 15: Hoare triple {66523#true} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {66523#true} is VALID [2022-04-08 15:12:57,141 INFO L290 TraceCheckUtils]: 16: Hoare triple {66523#true} #res := ~returnVal2~0; {66523#true} is VALID [2022-04-08 15:12:57,141 INFO L290 TraceCheckUtils]: 17: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-08 15:12:57,141 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {66523#true} {66524#false} #1192#return; {66524#false} is VALID [2022-04-08 15:12:57,142 INFO L272 TraceCheckUtils]: 0: Hoare triple {66523#true} call ULTIMATE.init(); {66593#(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 15:12:57,142 INFO L290 TraceCheckUtils]: 1: Hoare triple {66593#(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; {66523#true} is VALID [2022-04-08 15:12:57,142 INFO L290 TraceCheckUtils]: 2: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-08 15:12:57,142 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66523#true} {66523#true} #1270#return; {66523#true} is VALID [2022-04-08 15:12:57,142 INFO L272 TraceCheckUtils]: 4: Hoare triple {66523#true} call #t~ret213 := main(); {66523#true} is VALID [2022-04-08 15:12:57,142 INFO L290 TraceCheckUtils]: 5: Hoare triple {66523#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {66523#true} is VALID [2022-04-08 15:12:57,143 INFO L272 TraceCheckUtils]: 6: Hoare triple {66523#true} call _BLAST_init(); {66594#(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 15:12:57,143 INFO L290 TraceCheckUtils]: 7: Hoare triple {66594#(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; {66523#true} is VALID [2022-04-08 15:12:57,143 INFO L290 TraceCheckUtils]: 8: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-08 15:12:57,143 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {66523#true} {66523#true} #1216#return; {66523#true} is VALID [2022-04-08 15:12:57,144 INFO L272 TraceCheckUtils]: 10: Hoare triple {66523#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {66595#(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 15:12:57,144 INFO L290 TraceCheckUtils]: 11: Hoare triple {66595#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {66523#true} is VALID [2022-04-08 15:12:57,144 INFO L272 TraceCheckUtils]: 12: Hoare triple {66523#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {66523#true} is VALID [2022-04-08 15:12:57,144 INFO L290 TraceCheckUtils]: 13: Hoare triple {66523#true} ~cond := #in~cond; {66523#true} is VALID [2022-04-08 15:12:57,144 INFO L290 TraceCheckUtils]: 14: Hoare triple {66523#true} assume !(0 == ~cond); {66523#true} is VALID [2022-04-08 15:12:57,144 INFO L290 TraceCheckUtils]: 15: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-08 15:12:57,144 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {66523#true} {66523#true} #1254#return; {66523#true} is VALID [2022-04-08 15:12:57,144 INFO L290 TraceCheckUtils]: 17: Hoare triple {66523#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {66523#true} is VALID [2022-04-08 15:12:57,144 INFO L290 TraceCheckUtils]: 18: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-08 15:12:57,144 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {66523#true} {66523#true} #1218#return; {66523#true} is VALID [2022-04-08 15:12:57,144 INFO L290 TraceCheckUtils]: 20: Hoare triple {66523#true} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {66523#true} is VALID [2022-04-08 15:12:57,144 INFO L290 TraceCheckUtils]: 21: Hoare triple {66523#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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {66523#true} is VALID [2022-04-08 15:12:57,145 INFO L290 TraceCheckUtils]: 22: Hoare triple {66523#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {66523#true} is VALID [2022-04-08 15:12:57,145 INFO L272 TraceCheckUtils]: 23: Hoare triple {66523#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {66600#(and (= |old(#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 15:12:57,145 INFO L290 TraceCheckUtils]: 24: Hoare triple {66600#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {66523#true} is VALID [2022-04-08 15:12:57,146 INFO L272 TraceCheckUtils]: 25: Hoare triple {66523#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {66600#(and (= |old(#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 15:12:57,146 INFO L290 TraceCheckUtils]: 26: Hoare triple {66600#(and (= |old(#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; {66523#true} is VALID [2022-04-08 15:12:57,146 INFO L290 TraceCheckUtils]: 27: Hoare triple {66523#true} assume 0 == ~__BLAST_NONDET~5; {66523#true} is VALID [2022-04-08 15:12:57,146 INFO L290 TraceCheckUtils]: 28: Hoare triple {66523#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {66523#true} is VALID [2022-04-08 15:12:57,146 INFO L290 TraceCheckUtils]: 29: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-08 15:12:57,146 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {66523#true} {66523#true} #1176#return; {66523#true} is VALID [2022-04-08 15:12:57,147 INFO L290 TraceCheckUtils]: 31: Hoare triple {66523#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {66523#true} is VALID [2022-04-08 15:12:57,147 INFO L290 TraceCheckUtils]: 32: Hoare triple {66523#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {66523#true} is VALID [2022-04-08 15:12:57,147 INFO L272 TraceCheckUtils]: 33: Hoare triple {66523#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {66595#(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 15:12:57,148 INFO L290 TraceCheckUtils]: 34: Hoare triple {66595#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {66616#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 15:12:57,149 INFO L290 TraceCheckUtils]: 35: Hoare triple {66616#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {66617#(and (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616) 1) 0)) (or (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616)) (<= (+ (* 18446744073709551616 (div |#Ultimate.C_memset_#amount| 18446744073709551616)) 1) |#Ultimate.C_memset_#amount|)) (or (not (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)))} is VALID [2022-04-08 15:12:57,149 INFO L290 TraceCheckUtils]: 36: Hoare triple {66617#(and (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616) 1) 0)) (or (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616)) (<= (+ (* 18446744073709551616 (div |#Ultimate.C_memset_#amount| 18446744073709551616)) 1) |#Ultimate.C_memset_#amount|)) (or (not (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)))} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {66618#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 15:12:57,150 INFO L290 TraceCheckUtils]: 37: Hoare triple {66618#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {66618#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 15:12:57,150 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {66618#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} {66523#true} #1178#return; {66524#false} is VALID [2022-04-08 15:12:57,150 INFO L290 TraceCheckUtils]: 39: Hoare triple {66524#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {66524#false} is VALID [2022-04-08 15:12:57,150 INFO L272 TraceCheckUtils]: 40: Hoare triple {66524#false} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {66523#true} is VALID [2022-04-08 15:12:57,151 INFO L290 TraceCheckUtils]: 41: Hoare triple {66523#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; {66523#true} is VALID [2022-04-08 15:12:57,151 INFO L290 TraceCheckUtils]: 42: Hoare triple {66523#true} assume 0 == ~__BLAST_NONDET~2; {66523#true} is VALID [2022-04-08 15:12:57,151 INFO L290 TraceCheckUtils]: 43: Hoare triple {66523#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {66523#true} is VALID [2022-04-08 15:12:57,151 INFO L290 TraceCheckUtils]: 44: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-08 15:12:57,151 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {66523#true} {66524#false} #1180#return; {66524#false} is VALID [2022-04-08 15:12:57,151 INFO L290 TraceCheckUtils]: 46: Hoare triple {66524#false} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {66524#false} is VALID [2022-04-08 15:12:57,151 INFO L290 TraceCheckUtils]: 47: Hoare triple {66524#false} assume true; {66524#false} is VALID [2022-04-08 15:12:57,151 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {66524#false} {66523#true} #1220#return; {66524#false} is VALID [2022-04-08 15:12:57,151 INFO L290 TraceCheckUtils]: 49: Hoare triple {66524#false} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {66524#false} is VALID [2022-04-08 15:12:57,151 INFO L272 TraceCheckUtils]: 50: Hoare triple {66524#false} call stub_driver_init(); {66619#(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 15:12:57,151 INFO L290 TraceCheckUtils]: 51: Hoare triple {66619#(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; {66523#true} is VALID [2022-04-08 15:12:57,151 INFO L290 TraceCheckUtils]: 52: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-08 15:12:57,151 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {66523#true} {66524#false} #1222#return; {66524#false} is VALID [2022-04-08 15:12:57,151 INFO L290 TraceCheckUtils]: 54: Hoare triple {66524#false} assume !!(~status~5 >= 0); {66524#false} is VALID [2022-04-08 15:12:57,151 INFO L290 TraceCheckUtils]: 55: Hoare triple {66524#false} assume !(0 == ~__BLAST_NONDET~0); {66524#false} is VALID [2022-04-08 15:12:57,151 INFO L290 TraceCheckUtils]: 56: Hoare triple {66524#false} assume !(1 == ~__BLAST_NONDET~0); {66524#false} is VALID [2022-04-08 15:12:57,151 INFO L290 TraceCheckUtils]: 57: Hoare triple {66524#false} assume !(2 == ~__BLAST_NONDET~0); {66524#false} is VALID [2022-04-08 15:12:57,151 INFO L290 TraceCheckUtils]: 58: Hoare triple {66524#false} assume 3 == ~__BLAST_NONDET~0; {66524#false} is VALID [2022-04-08 15:12:57,151 INFO L272 TraceCheckUtils]: 59: Hoare triple {66524#false} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {66524#false} is VALID [2022-04-08 15:12:57,152 INFO L290 TraceCheckUtils]: 60: Hoare triple {66524#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(28);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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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); {66524#false} is VALID [2022-04-08 15:12:57,152 INFO L290 TraceCheckUtils]: 61: Hoare triple {66524#false} assume 0 == #t~mem81 % 256;havoc #t~mem81; {66524#false} is VALID [2022-04-08 15:12:57,152 INFO L290 TraceCheckUtils]: 62: Hoare triple {66524#false} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 180 + ~Irp.offset, 8);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 68;havoc #t~mem103.base, #t~mem103.offset; {66524#false} is VALID [2022-04-08 15:12:57,152 INFO L272 TraceCheckUtils]: 63: Hoare triple {66524#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, 52); {66595#(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 15:12:57,152 INFO L290 TraceCheckUtils]: 64: Hoare triple {66595#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {66523#true} is VALID [2022-04-08 15:12:57,152 INFO L290 TraceCheckUtils]: 65: Hoare triple {66523#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {66523#true} is VALID [2022-04-08 15:12:57,152 INFO L290 TraceCheckUtils]: 66: Hoare triple {66523#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {66523#true} is VALID [2022-04-08 15:12:57,152 INFO L290 TraceCheckUtils]: 67: Hoare triple {66523#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {66523#true} is VALID [2022-04-08 15:12:57,152 INFO L290 TraceCheckUtils]: 68: Hoare triple {66523#true} assume #res.base == dest.base && #res.offset == dest.offset; {66523#true} is VALID [2022-04-08 15:12:57,152 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {66523#true} {66524#false} #1186#return; {66524#false} is VALID [2022-04-08 15:12:57,152 INFO L290 TraceCheckUtils]: 70: Hoare triple {66524#false} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {66524#false} is VALID [2022-04-08 15:12:57,152 INFO L290 TraceCheckUtils]: 71: Hoare triple {66524#false} assume !(~s~0 != ~NP~0); {66524#false} is VALID [2022-04-08 15:12:57,152 INFO L290 TraceCheckUtils]: 72: Hoare triple {66524#false} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {66524#false} is VALID [2022-04-08 15:12:57,152 INFO L290 TraceCheckUtils]: 73: Hoare triple {66524#false} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 68;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 52 + ~irpSp___0~0.offset, 8);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 60 + ~irpSp___0~0.offset, 8);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, 16 + ~devExt~3.offset, 8); {66524#false} is VALID [2022-04-08 15:12:57,152 INFO L272 TraceCheckUtils]: 74: Hoare triple {66524#false} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {66620#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:12:57,152 INFO L290 TraceCheckUtils]: 75: Hoare triple {66620#(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; {66523#true} is VALID [2022-04-08 15:12:57,152 INFO L290 TraceCheckUtils]: 76: Hoare triple {66523#true} assume 0 != ~compRegistered~0; {66523#true} is VALID [2022-04-08 15:12:57,153 INFO L272 TraceCheckUtils]: 77: Hoare triple {66523#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {66629#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:12:57,153 INFO L290 TraceCheckUtils]: 78: Hoare triple {66629#(= ~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; {66523#true} is VALID [2022-04-08 15:12:57,154 INFO L272 TraceCheckUtils]: 79: Hoare triple {66523#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {66629#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:12:57,154 INFO L290 TraceCheckUtils]: 80: Hoare triple {66629#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {66523#true} is VALID [2022-04-08 15:12:57,154 INFO L290 TraceCheckUtils]: 81: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-08 15:12:57,154 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {66523#true} {66523#true} #1174#return; {66523#true} is VALID [2022-04-08 15:12:57,154 INFO L290 TraceCheckUtils]: 83: Hoare triple {66523#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {66523#true} is VALID [2022-04-08 15:12:57,154 INFO L290 TraceCheckUtils]: 84: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-08 15:12:57,154 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {66523#true} {66523#true} #1210#return; {66523#true} is VALID [2022-04-08 15:12:57,154 INFO L290 TraceCheckUtils]: 86: Hoare triple {66523#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {66523#true} is VALID [2022-04-08 15:12:57,154 INFO L290 TraceCheckUtils]: 87: Hoare triple {66523#true} assume !(-1073741802 == ~compRetStatus~0); {66523#true} is VALID [2022-04-08 15:12:57,154 INFO L290 TraceCheckUtils]: 88: Hoare triple {66523#true} assume 0 == ~__BLAST_NONDET~11; {66523#true} is VALID [2022-04-08 15:12:57,154 INFO L290 TraceCheckUtils]: 89: Hoare triple {66523#true} ~returnVal2~0 := 0; {66523#true} is VALID [2022-04-08 15:12:57,154 INFO L290 TraceCheckUtils]: 90: Hoare triple {66523#true} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {66523#true} is VALID [2022-04-08 15:12:57,154 INFO L290 TraceCheckUtils]: 91: Hoare triple {66523#true} #res := ~returnVal2~0; {66523#true} is VALID [2022-04-08 15:12:57,154 INFO L290 TraceCheckUtils]: 92: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-08 15:12:57,154 INFO L284 TraceCheckUtils]: 93: Hoare quadruple {66523#true} {66524#false} #1192#return; {66524#false} is VALID [2022-04-08 15:12:57,154 INFO L290 TraceCheckUtils]: 94: Hoare triple {66524#false} assume -9223372036854775808 <= #t~ret109 && #t~ret109 <= 9223372036854775807;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {66524#false} is VALID [2022-04-08 15:12:57,154 INFO L290 TraceCheckUtils]: 95: Hoare triple {66524#false} assume !(259 == ~status~3); {66524#false} is VALID [2022-04-08 15:12:57,154 INFO L290 TraceCheckUtils]: 96: Hoare triple {66524#false} assume ~status~3 >= 0; {66524#false} is VALID [2022-04-08 15:12:57,155 INFO L290 TraceCheckUtils]: 97: Hoare triple {66524#false} assume !(~myStatus~0 >= 0); {66524#false} is VALID [2022-04-08 15:12:57,155 INFO L290 TraceCheckUtils]: 98: Hoare triple {66524#false} call write~int(~status~3, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~3 % 4294967296 <= 2147483647 then ~status~3 % 4294967296 else ~status~3 % 4294967296 - 4294967296);call write~int(0, ~Irp.base, 52 + ~Irp.offset, 8); {66524#false} is VALID [2022-04-08 15:12:57,155 INFO L272 TraceCheckUtils]: 99: Hoare triple {66524#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {66524#false} is VALID [2022-04-08 15:12:57,155 INFO L290 TraceCheckUtils]: 100: Hoare triple {66524#false} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {66524#false} is VALID [2022-04-08 15:12:57,155 INFO L290 TraceCheckUtils]: 101: Hoare triple {66524#false} assume !(~s~0 == ~NP~0); {66524#false} is VALID [2022-04-08 15:12:57,155 INFO L272 TraceCheckUtils]: 102: Hoare triple {66524#false} call errorFn(); {66524#false} is VALID [2022-04-08 15:12:57,155 INFO L290 TraceCheckUtils]: 103: Hoare triple {66524#false} assume !false; {66524#false} is VALID [2022-04-08 15:12:57,155 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 15:12:57,155 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:12:57,155 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1281272631] [2022-04-08 15:12:57,155 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1281272631] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 15:12:57,155 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [559573407] [2022-04-08 15:12:57,156 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 15:12:57,156 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 15:12:57,156 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 15:12:57,156 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 15:12:57,157 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 15:12:58,231 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 15:12:58,231 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 15:12:58,239 INFO L263 TraceCheckSpWp]: Trace formula consists of 1752 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-08 15:12:58,283 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:12:58,285 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 15:12:58,497 INFO L272 TraceCheckUtils]: 0: Hoare triple {66523#true} call ULTIMATE.init(); {66523#true} is VALID [2022-04-08 15:12:58,497 INFO L290 TraceCheckUtils]: 1: Hoare triple {66523#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; {66523#true} is VALID [2022-04-08 15:12:58,497 INFO L290 TraceCheckUtils]: 2: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-08 15:12:58,497 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {66523#true} {66523#true} #1270#return; {66523#true} is VALID [2022-04-08 15:12:58,497 INFO L272 TraceCheckUtils]: 4: Hoare triple {66523#true} call #t~ret213 := main(); {66523#true} is VALID [2022-04-08 15:12:58,497 INFO L290 TraceCheckUtils]: 5: Hoare triple {66523#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {66523#true} is VALID [2022-04-08 15:12:58,497 INFO L272 TraceCheckUtils]: 6: Hoare triple {66523#true} call _BLAST_init(); {66523#true} is VALID [2022-04-08 15:12:58,497 INFO L290 TraceCheckUtils]: 7: Hoare triple {66523#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; {66523#true} is VALID [2022-04-08 15:12:58,497 INFO L290 TraceCheckUtils]: 8: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-08 15:12:58,497 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {66523#true} {66523#true} #1216#return; {66523#true} is VALID [2022-04-08 15:12:58,497 INFO L272 TraceCheckUtils]: 10: Hoare triple {66523#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {66523#true} is VALID [2022-04-08 15:12:58,497 INFO L290 TraceCheckUtils]: 11: Hoare triple {66523#true} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {66523#true} is VALID [2022-04-08 15:12:58,497 INFO L272 TraceCheckUtils]: 12: Hoare triple {66523#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {66523#true} is VALID [2022-04-08 15:12:58,497 INFO L290 TraceCheckUtils]: 13: Hoare triple {66523#true} ~cond := #in~cond; {66523#true} is VALID [2022-04-08 15:12:58,498 INFO L290 TraceCheckUtils]: 14: Hoare triple {66523#true} assume !(0 == ~cond); {66523#true} is VALID [2022-04-08 15:12:58,498 INFO L290 TraceCheckUtils]: 15: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-08 15:12:58,498 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {66523#true} {66523#true} #1254#return; {66523#true} is VALID [2022-04-08 15:12:58,498 INFO L290 TraceCheckUtils]: 17: Hoare triple {66523#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {66523#true} is VALID [2022-04-08 15:12:58,498 INFO L290 TraceCheckUtils]: 18: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-08 15:12:58,498 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {66523#true} {66523#true} #1218#return; {66523#true} is VALID [2022-04-08 15:12:58,498 INFO L290 TraceCheckUtils]: 20: Hoare triple {66523#true} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {66523#true} is VALID [2022-04-08 15:12:58,498 INFO L290 TraceCheckUtils]: 21: Hoare triple {66523#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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {66523#true} is VALID [2022-04-08 15:12:58,498 INFO L290 TraceCheckUtils]: 22: Hoare triple {66523#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {66523#true} is VALID [2022-04-08 15:12:58,498 INFO L272 TraceCheckUtils]: 23: Hoare triple {66523#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {66523#true} is VALID [2022-04-08 15:12:58,498 INFO L290 TraceCheckUtils]: 24: Hoare triple {66523#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(8);havoc ~status~0;~status~0 := 0; {66523#true} is VALID [2022-04-08 15:12:58,498 INFO L272 TraceCheckUtils]: 25: Hoare triple {66523#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {66523#true} is VALID [2022-04-08 15:12:58,498 INFO L290 TraceCheckUtils]: 26: Hoare triple {66523#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; {66523#true} is VALID [2022-04-08 15:12:58,498 INFO L290 TraceCheckUtils]: 27: Hoare triple {66523#true} assume 0 == ~__BLAST_NONDET~5; {66523#true} is VALID [2022-04-08 15:12:58,498 INFO L290 TraceCheckUtils]: 28: Hoare triple {66523#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {66523#true} is VALID [2022-04-08 15:12:58,498 INFO L290 TraceCheckUtils]: 29: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-08 15:12:58,498 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {66523#true} {66523#true} #1176#return; {66523#true} is VALID [2022-04-08 15:12:58,498 INFO L290 TraceCheckUtils]: 31: Hoare triple {66523#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {66523#true} is VALID [2022-04-08 15:12:58,499 INFO L290 TraceCheckUtils]: 32: Hoare triple {66523#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {66523#true} is VALID [2022-04-08 15:12:58,499 INFO L272 TraceCheckUtils]: 33: Hoare triple {66523#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {66523#true} is VALID [2022-04-08 15:12:58,499 INFO L290 TraceCheckUtils]: 34: Hoare triple {66523#true} #t~loopctr214 := 0; {66523#true} is VALID [2022-04-08 15:12:58,499 INFO L290 TraceCheckUtils]: 35: Hoare triple {66523#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {66523#true} is VALID [2022-04-08 15:12:58,499 INFO L290 TraceCheckUtils]: 36: Hoare triple {66523#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {66523#true} is VALID [2022-04-08 15:12:58,499 INFO L290 TraceCheckUtils]: 37: Hoare triple {66523#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {66523#true} is VALID [2022-04-08 15:12:58,499 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {66523#true} {66523#true} #1178#return; {66523#true} is VALID [2022-04-08 15:12:58,499 INFO L290 TraceCheckUtils]: 39: Hoare triple {66523#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {66523#true} is VALID [2022-04-08 15:12:58,499 INFO L272 TraceCheckUtils]: 40: Hoare triple {66523#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {66523#true} is VALID [2022-04-08 15:12:58,499 INFO L290 TraceCheckUtils]: 41: Hoare triple {66523#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; {66523#true} is VALID [2022-04-08 15:12:58,499 INFO L290 TraceCheckUtils]: 42: Hoare triple {66523#true} assume 0 == ~__BLAST_NONDET~2; {66523#true} is VALID [2022-04-08 15:12:58,499 INFO L290 TraceCheckUtils]: 43: Hoare triple {66523#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {66523#true} is VALID [2022-04-08 15:12:58,499 INFO L290 TraceCheckUtils]: 44: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-08 15:12:58,499 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {66523#true} {66523#true} #1180#return; {66523#true} is VALID [2022-04-08 15:12:58,499 INFO L290 TraceCheckUtils]: 46: Hoare triple {66523#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {66523#true} is VALID [2022-04-08 15:12:58,499 INFO L290 TraceCheckUtils]: 47: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-08 15:12:58,499 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {66523#true} {66523#true} #1220#return; {66523#true} is VALID [2022-04-08 15:12:58,500 INFO L290 TraceCheckUtils]: 49: Hoare triple {66523#true} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {66523#true} is VALID [2022-04-08 15:12:58,500 INFO L272 TraceCheckUtils]: 50: Hoare triple {66523#true} call stub_driver_init(); {66523#true} is VALID [2022-04-08 15:12:58,500 INFO L290 TraceCheckUtils]: 51: Hoare triple {66523#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; {66523#true} is VALID [2022-04-08 15:12:58,500 INFO L290 TraceCheckUtils]: 52: Hoare triple {66523#true} assume true; {66523#true} is VALID [2022-04-08 15:12:58,500 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {66523#true} {66523#true} #1222#return; {66523#true} is VALID [2022-04-08 15:12:58,500 INFO L290 TraceCheckUtils]: 54: Hoare triple {66523#true} assume !!(~status~5 >= 0); {66523#true} is VALID [2022-04-08 15:12:58,500 INFO L290 TraceCheckUtils]: 55: Hoare triple {66523#true} assume !(0 == ~__BLAST_NONDET~0); {66523#true} is VALID [2022-04-08 15:12:58,500 INFO L290 TraceCheckUtils]: 56: Hoare triple {66523#true} assume !(1 == ~__BLAST_NONDET~0); {66523#true} is VALID [2022-04-08 15:12:58,500 INFO L290 TraceCheckUtils]: 57: Hoare triple {66523#true} assume !(2 == ~__BLAST_NONDET~0); {66523#true} is VALID [2022-04-08 15:12:58,500 INFO L290 TraceCheckUtils]: 58: Hoare triple {66523#true} assume 3 == ~__BLAST_NONDET~0; {66523#true} is VALID [2022-04-08 15:12:58,500 INFO L272 TraceCheckUtils]: 59: Hoare triple {66523#true} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {66523#true} is VALID [2022-04-08 15:12:58,500 INFO L290 TraceCheckUtils]: 60: Hoare triple {66523#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(28);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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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); {66523#true} is VALID [2022-04-08 15:12:58,500 INFO L290 TraceCheckUtils]: 61: Hoare triple {66523#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {66523#true} is VALID [2022-04-08 15:12:58,500 INFO L290 TraceCheckUtils]: 62: Hoare triple {66523#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 180 + ~Irp.offset, 8);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 68;havoc #t~mem103.base, #t~mem103.offset; {66523#true} is VALID [2022-04-08 15:12:58,500 INFO L272 TraceCheckUtils]: 63: Hoare triple {66523#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, 52); {66523#true} is VALID [2022-04-08 15:12:58,500 INFO L290 TraceCheckUtils]: 64: Hoare triple {66523#true} #t~loopctr215 := 0; {66523#true} is VALID [2022-04-08 15:12:58,500 INFO L290 TraceCheckUtils]: 65: Hoare triple {66523#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {66523#true} is VALID [2022-04-08 15:12:58,510 INFO L290 TraceCheckUtils]: 66: Hoare triple {66523#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {66834#(= |#Ultimate.C_memmove_#t~loopctr221| 0)} is VALID [2022-04-08 15:12:58,511 INFO L290 TraceCheckUtils]: 67: Hoare triple {66834#(= |#Ultimate.C_memmove_#t~loopctr221| 0)} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {66838#(not (< 0 (mod |#Ultimate.C_memmove_size| 18446744073709551616)))} is VALID [2022-04-08 15:12:58,511 INFO L290 TraceCheckUtils]: 68: Hoare triple {66838#(not (< 0 (mod |#Ultimate.C_memmove_size| 18446744073709551616)))} assume #res.base == dest.base && #res.offset == dest.offset; {66838#(not (< 0 (mod |#Ultimate.C_memmove_size| 18446744073709551616)))} is VALID [2022-04-08 15:12:58,512 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {66838#(not (< 0 (mod |#Ultimate.C_memmove_size| 18446744073709551616)))} {66523#true} #1186#return; {66524#false} is VALID [2022-04-08 15:12:58,512 INFO L290 TraceCheckUtils]: 70: Hoare triple {66524#false} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {66524#false} is VALID [2022-04-08 15:12:58,512 INFO L290 TraceCheckUtils]: 71: Hoare triple {66524#false} assume !(~s~0 != ~NP~0); {66524#false} is VALID [2022-04-08 15:12:58,512 INFO L290 TraceCheckUtils]: 72: Hoare triple {66524#false} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {66524#false} is VALID [2022-04-08 15:12:58,512 INFO L290 TraceCheckUtils]: 73: Hoare triple {66524#false} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 68;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 52 + ~irpSp___0~0.offset, 8);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 60 + ~irpSp___0~0.offset, 8);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, 16 + ~devExt~3.offset, 8); {66524#false} is VALID [2022-04-08 15:12:58,512 INFO L272 TraceCheckUtils]: 74: Hoare triple {66524#false} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {66524#false} is VALID [2022-04-08 15:12:58,512 INFO L290 TraceCheckUtils]: 75: Hoare triple {66524#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; {66524#false} is VALID [2022-04-08 15:12:58,512 INFO L290 TraceCheckUtils]: 76: Hoare triple {66524#false} assume 0 != ~compRegistered~0; {66524#false} is VALID [2022-04-08 15:12:58,512 INFO L272 TraceCheckUtils]: 77: Hoare triple {66524#false} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {66524#false} is VALID [2022-04-08 15:12:58,512 INFO L290 TraceCheckUtils]: 78: Hoare triple {66524#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; {66524#false} is VALID [2022-04-08 15:12:58,512 INFO L272 TraceCheckUtils]: 79: Hoare triple {66524#false} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {66524#false} is VALID [2022-04-08 15:12:58,513 INFO L290 TraceCheckUtils]: 80: Hoare triple {66524#false} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {66524#false} is VALID [2022-04-08 15:12:58,513 INFO L290 TraceCheckUtils]: 81: Hoare triple {66524#false} assume true; {66524#false} is VALID [2022-04-08 15:12:58,513 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {66524#false} {66524#false} #1174#return; {66524#false} is VALID [2022-04-08 15:12:58,513 INFO L290 TraceCheckUtils]: 83: Hoare triple {66524#false} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {66524#false} is VALID [2022-04-08 15:12:58,513 INFO L290 TraceCheckUtils]: 84: Hoare triple {66524#false} assume true; {66524#false} is VALID [2022-04-08 15:12:58,513 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {66524#false} {66524#false} #1210#return; {66524#false} is VALID [2022-04-08 15:12:58,513 INFO L290 TraceCheckUtils]: 86: Hoare triple {66524#false} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {66524#false} is VALID [2022-04-08 15:12:58,513 INFO L290 TraceCheckUtils]: 87: Hoare triple {66524#false} assume !(-1073741802 == ~compRetStatus~0); {66524#false} is VALID [2022-04-08 15:12:58,513 INFO L290 TraceCheckUtils]: 88: Hoare triple {66524#false} assume 0 == ~__BLAST_NONDET~11; {66524#false} is VALID [2022-04-08 15:12:58,513 INFO L290 TraceCheckUtils]: 89: Hoare triple {66524#false} ~returnVal2~0 := 0; {66524#false} is VALID [2022-04-08 15:12:58,513 INFO L290 TraceCheckUtils]: 90: Hoare triple {66524#false} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {66524#false} is VALID [2022-04-08 15:12:58,513 INFO L290 TraceCheckUtils]: 91: Hoare triple {66524#false} #res := ~returnVal2~0; {66524#false} is VALID [2022-04-08 15:12:58,513 INFO L290 TraceCheckUtils]: 92: Hoare triple {66524#false} assume true; {66524#false} is VALID [2022-04-08 15:12:58,513 INFO L284 TraceCheckUtils]: 93: Hoare quadruple {66524#false} {66524#false} #1192#return; {66524#false} is VALID [2022-04-08 15:12:58,513 INFO L290 TraceCheckUtils]: 94: Hoare triple {66524#false} assume -9223372036854775808 <= #t~ret109 && #t~ret109 <= 9223372036854775807;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {66524#false} is VALID [2022-04-08 15:12:58,513 INFO L290 TraceCheckUtils]: 95: Hoare triple {66524#false} assume !(259 == ~status~3); {66524#false} is VALID [2022-04-08 15:12:58,513 INFO L290 TraceCheckUtils]: 96: Hoare triple {66524#false} assume ~status~3 >= 0; {66524#false} is VALID [2022-04-08 15:12:58,513 INFO L290 TraceCheckUtils]: 97: Hoare triple {66524#false} assume !(~myStatus~0 >= 0); {66524#false} is VALID [2022-04-08 15:12:58,513 INFO L290 TraceCheckUtils]: 98: Hoare triple {66524#false} call write~int(~status~3, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~3 % 4294967296 <= 2147483647 then ~status~3 % 4294967296 else ~status~3 % 4294967296 - 4294967296);call write~int(0, ~Irp.base, 52 + ~Irp.offset, 8); {66524#false} is VALID [2022-04-08 15:12:58,514 INFO L272 TraceCheckUtils]: 99: Hoare triple {66524#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {66524#false} is VALID [2022-04-08 15:12:58,514 INFO L290 TraceCheckUtils]: 100: Hoare triple {66524#false} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {66524#false} is VALID [2022-04-08 15:12:58,514 INFO L290 TraceCheckUtils]: 101: Hoare triple {66524#false} assume !(~s~0 == ~NP~0); {66524#false} is VALID [2022-04-08 15:12:58,514 INFO L272 TraceCheckUtils]: 102: Hoare triple {66524#false} call errorFn(); {66524#false} is VALID [2022-04-08 15:12:58,514 INFO L290 TraceCheckUtils]: 103: Hoare triple {66524#false} assume !false; {66524#false} is VALID [2022-04-08 15:12:58,514 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 15:12:58,514 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 15:12:58,514 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [559573407] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:12:58,514 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 15:12:58,514 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [12] total 14 [2022-04-08 15:12:58,514 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:12:58,515 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1393619711] [2022-04-08 15:12:58,515 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1393619711] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:12:58,515 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:12:58,515 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-08 15:12:58,515 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1489605156] [2022-04-08 15:12:58,515 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:12:58,515 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 18.5) internal successors, (74), 4 states have internal predecessors, (74), 2 states have call successors, (17), 2 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 104 [2022-04-08 15:12:58,515 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:12:58,515 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 18.5) internal successors, (74), 4 states have internal predecessors, (74), 2 states have call successors, (17), 2 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 15:12:58,605 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 15:12:58,606 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-08 15:12:58,606 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:12:58,606 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-08 15:12:58,606 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=146, Unknown=0, NotChecked=0, Total=182 [2022-04-08 15:12:58,606 INFO L87 Difference]: Start difference. First operand 341 states and 403 transitions. Second operand has 4 states, 4 states have (on average 18.5) internal successors, (74), 4 states have internal predecessors, (74), 2 states have call successors, (17), 2 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 15:13:07,825 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:13:07,825 INFO L93 Difference]: Finished difference Result 567 states and 682 transitions. [2022-04-08 15:13:07,825 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-08 15:13:07,825 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 18.5) internal successors, (74), 4 states have internal predecessors, (74), 2 states have call successors, (17), 2 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 104 [2022-04-08 15:13:07,826 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:13:07,826 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 18.5) internal successors, (74), 4 states have internal predecessors, (74), 2 states have call successors, (17), 2 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 15:13:07,827 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 258 transitions. [2022-04-08 15:13:07,827 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 18.5) internal successors, (74), 4 states have internal predecessors, (74), 2 states have call successors, (17), 2 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 15:13:07,828 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 258 transitions. [2022-04-08 15:13:07,828 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 258 transitions. [2022-04-08 15:13:07,992 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 258 edges. 258 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 15:13:07,997 INFO L225 Difference]: With dead ends: 567 [2022-04-08 15:13:07,997 INFO L226 Difference]: Without dead ends: 343 [2022-04-08 15:13:07,998 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 135 GetRequests, 122 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2022-04-08 15:13:07,998 INFO L913 BasicCegarLoop]: 163 mSDtfsCounter, 2 mSDsluCounter, 322 mSDsCounter, 0 mSdLazyCounter, 9 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 2 SdHoareTripleChecker+Valid, 485 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 15:13:07,998 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [2 Valid, 485 Invalid, 9 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 9 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 15:13:07,999 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 343 states. [2022-04-08 15:13:08,620 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 343 to 343. [2022-04-08 15:13:08,620 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:13:08,621 INFO L82 GeneralOperation]: Start isEquivalent. First operand 343 states. Second operand has 343 states, 268 states have (on average 1.2276119402985075) internal successors, (329), 272 states have internal predecessors, (329), 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 15:13:08,621 INFO L74 IsIncluded]: Start isIncluded. First operand 343 states. Second operand has 343 states, 268 states have (on average 1.2276119402985075) internal successors, (329), 272 states have internal predecessors, (329), 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 15:13:08,621 INFO L87 Difference]: Start difference. First operand 343 states. Second operand has 343 states, 268 states have (on average 1.2276119402985075) internal successors, (329), 272 states have internal predecessors, (329), 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 15:13:08,626 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:13:08,626 INFO L93 Difference]: Finished difference Result 343 states and 405 transitions. [2022-04-08 15:13:08,626 INFO L276 IsEmpty]: Start isEmpty. Operand 343 states and 405 transitions. [2022-04-08 15:13:08,626 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:13:08,626 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:13:08,626 INFO L74 IsIncluded]: Start isIncluded. First operand has 343 states, 268 states have (on average 1.2276119402985075) internal successors, (329), 272 states have internal predecessors, (329), 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 343 states. [2022-04-08 15:13:08,627 INFO L87 Difference]: Start difference. First operand has 343 states, 268 states have (on average 1.2276119402985075) internal successors, (329), 272 states have internal predecessors, (329), 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 343 states. [2022-04-08 15:13:08,631 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:13:08,631 INFO L93 Difference]: Finished difference Result 343 states and 405 transitions. [2022-04-08 15:13:08,631 INFO L276 IsEmpty]: Start isEmpty. Operand 343 states and 405 transitions. [2022-04-08 15:13:08,631 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:13:08,631 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:13:08,631 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:13:08,631 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:13:08,632 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 343 states, 268 states have (on average 1.2276119402985075) internal successors, (329), 272 states have internal predecessors, (329), 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 15:13:08,637 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 343 states to 343 states and 405 transitions. [2022-04-08 15:13:08,637 INFO L78 Accepts]: Start accepts. Automaton has 343 states and 405 transitions. Word has length 104 [2022-04-08 15:13:08,637 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:13:08,638 INFO L478 AbstractCegarLoop]: Abstraction has 343 states and 405 transitions. [2022-04-08 15:13:08,638 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 18.5) internal successors, (74), 4 states have internal predecessors, (74), 2 states have call successors, (17), 2 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 15:13:08,638 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 343 states and 405 transitions. [2022-04-08 15:13:09,558 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 405 edges. 405 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 15:13:09,558 INFO L276 IsEmpty]: Start isEmpty. Operand 343 states and 405 transitions. [2022-04-08 15:13:09,559 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-08 15:13:09,559 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:13:09,559 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] [2022-04-08 15:13:09,586 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 15:13:09,763 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,SelfDestructingSolverStorable27 [2022-04-08 15:13:09,764 INFO L403 AbstractCegarLoop]: === Iteration 29 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:13:09,764 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:13:09,764 INFO L85 PathProgramCache]: Analyzing trace with hash 535693243, now seen corresponding path program 1 times [2022-04-08 15:13:09,764 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:13:09,764 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1425091868] [2022-04-08 15:13:09,766 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 15:13:09,766 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 15:13:09,766 INFO L85 PathProgramCache]: Analyzing trace with hash 535693243, now seen corresponding path program 2 times [2022-04-08 15:13:09,766 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:13:09,766 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1231171780] [2022-04-08 15:13:09,766 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:13:09,766 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:13:10,075 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:10,133 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:13:10,135 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:10,139 INFO L290 TraceCheckUtils]: 0: Hoare triple {69525#(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; {69454#true} is VALID [2022-04-08 15:13:10,139 INFO L290 TraceCheckUtils]: 1: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:10,139 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {69454#true} {69454#true} #1270#return; {69454#true} is VALID [2022-04-08 15:13:10,158 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:13:10,159 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:10,163 INFO L290 TraceCheckUtils]: 0: Hoare triple {69526#(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; {69454#true} is VALID [2022-04-08 15:13:10,163 INFO L290 TraceCheckUtils]: 1: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:10,164 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {69454#true} {69454#true} #1216#return; {69454#true} is VALID [2022-04-08 15:13:10,169 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:13:10,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:10,183 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:13:10,184 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:10,191 INFO L290 TraceCheckUtils]: 0: Hoare triple {69454#true} ~cond := #in~cond; {69454#true} is VALID [2022-04-08 15:13:10,191 INFO L290 TraceCheckUtils]: 1: Hoare triple {69454#true} assume !(0 == ~cond); {69454#true} is VALID [2022-04-08 15:13:10,191 INFO L290 TraceCheckUtils]: 2: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:10,191 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {69454#true} {69454#true} #1254#return; {69454#true} is VALID [2022-04-08 15:13:10,191 INFO L290 TraceCheckUtils]: 0: Hoare triple {69527#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {69454#true} is VALID [2022-04-08 15:13:10,192 INFO L272 TraceCheckUtils]: 1: Hoare triple {69454#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {69454#true} is VALID [2022-04-08 15:13:10,192 INFO L290 TraceCheckUtils]: 2: Hoare triple {69454#true} ~cond := #in~cond; {69454#true} is VALID [2022-04-08 15:13:10,192 INFO L290 TraceCheckUtils]: 3: Hoare triple {69454#true} assume !(0 == ~cond); {69454#true} is VALID [2022-04-08 15:13:10,192 INFO L290 TraceCheckUtils]: 4: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:10,192 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {69454#true} {69454#true} #1254#return; {69454#true} is VALID [2022-04-08 15:13:10,192 INFO L290 TraceCheckUtils]: 6: Hoare triple {69454#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {69454#true} is VALID [2022-04-08 15:13:10,192 INFO L290 TraceCheckUtils]: 7: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:10,192 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {69454#true} {69454#true} #1218#return; {69454#true} is VALID [2022-04-08 15:13:10,200 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:13:10,237 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:10,249 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:13:10,253 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:10,258 INFO L290 TraceCheckUtils]: 0: Hoare triple {69532#(and (= |old(#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; {69454#true} is VALID [2022-04-08 15:13:10,258 INFO L290 TraceCheckUtils]: 1: Hoare triple {69454#true} assume 0 == ~__BLAST_NONDET~5; {69454#true} is VALID [2022-04-08 15:13:10,258 INFO L290 TraceCheckUtils]: 2: Hoare triple {69454#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {69454#true} is VALID [2022-04-08 15:13:10,258 INFO L290 TraceCheckUtils]: 3: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:10,259 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {69454#true} {69454#true} #1176#return; {69454#true} is VALID [2022-04-08 15:13:10,259 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 15:13:10,263 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:10,330 INFO L290 TraceCheckUtils]: 0: Hoare triple {69527#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {69548#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 15:13:10,331 INFO L290 TraceCheckUtils]: 1: Hoare triple {69548#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {69549#(and (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616) 1) 0)) (or (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616)) (<= (+ (* 18446744073709551616 (div |#Ultimate.C_memset_#amount| 18446744073709551616)) 1) |#Ultimate.C_memset_#amount|)) (or (not (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)))} is VALID [2022-04-08 15:13:10,332 INFO L290 TraceCheckUtils]: 2: Hoare triple {69549#(and (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616) 1) 0)) (or (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616)) (<= (+ (* 18446744073709551616 (div |#Ultimate.C_memset_#amount| 18446744073709551616)) 1) |#Ultimate.C_memset_#amount|)) (or (not (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)))} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {69550#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 15:13:10,332 INFO L290 TraceCheckUtils]: 3: Hoare triple {69550#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {69550#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 15:13:10,333 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {69550#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} {69454#true} #1178#return; {69455#false} is VALID [2022-04-08 15:13:10,333 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-08 15:13:10,334 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:10,338 INFO L290 TraceCheckUtils]: 0: Hoare triple {69454#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; {69454#true} is VALID [2022-04-08 15:13:10,338 INFO L290 TraceCheckUtils]: 1: Hoare triple {69454#true} assume 0 == ~__BLAST_NONDET~2; {69454#true} is VALID [2022-04-08 15:13:10,338 INFO L290 TraceCheckUtils]: 2: Hoare triple {69454#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {69454#true} is VALID [2022-04-08 15:13:10,339 INFO L290 TraceCheckUtils]: 3: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:10,339 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {69454#true} {69455#false} #1180#return; {69455#false} is VALID [2022-04-08 15:13:10,339 INFO L290 TraceCheckUtils]: 0: Hoare triple {69532#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {69454#true} is VALID [2022-04-08 15:13:10,340 INFO L272 TraceCheckUtils]: 1: Hoare triple {69454#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {69532#(and (= |old(#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 15:13:10,340 INFO L290 TraceCheckUtils]: 2: Hoare triple {69532#(and (= |old(#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; {69454#true} is VALID [2022-04-08 15:13:10,340 INFO L290 TraceCheckUtils]: 3: Hoare triple {69454#true} assume 0 == ~__BLAST_NONDET~5; {69454#true} is VALID [2022-04-08 15:13:10,340 INFO L290 TraceCheckUtils]: 4: Hoare triple {69454#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {69454#true} is VALID [2022-04-08 15:13:10,340 INFO L290 TraceCheckUtils]: 5: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:10,340 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {69454#true} {69454#true} #1176#return; {69454#true} is VALID [2022-04-08 15:13:10,340 INFO L290 TraceCheckUtils]: 7: Hoare triple {69454#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {69454#true} is VALID [2022-04-08 15:13:10,340 INFO L290 TraceCheckUtils]: 8: Hoare triple {69454#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {69454#true} is VALID [2022-04-08 15:13:10,341 INFO L272 TraceCheckUtils]: 9: Hoare triple {69454#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {69527#(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 15:13:10,341 INFO L290 TraceCheckUtils]: 10: Hoare triple {69527#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {69548#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 15:13:10,342 INFO L290 TraceCheckUtils]: 11: Hoare triple {69548#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {69549#(and (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616) 1) 0)) (or (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616)) (<= (+ (* 18446744073709551616 (div |#Ultimate.C_memset_#amount| 18446744073709551616)) 1) |#Ultimate.C_memset_#amount|)) (or (not (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)))} is VALID [2022-04-08 15:13:10,343 INFO L290 TraceCheckUtils]: 12: Hoare triple {69549#(and (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616) 1) 0)) (or (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616)) (<= (+ (* 18446744073709551616 (div |#Ultimate.C_memset_#amount| 18446744073709551616)) 1) |#Ultimate.C_memset_#amount|)) (or (not (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)))} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {69550#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 15:13:10,343 INFO L290 TraceCheckUtils]: 13: Hoare triple {69550#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {69550#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 15:13:10,344 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {69550#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} {69454#true} #1178#return; {69455#false} is VALID [2022-04-08 15:13:10,344 INFO L290 TraceCheckUtils]: 15: Hoare triple {69455#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {69455#false} is VALID [2022-04-08 15:13:10,344 INFO L272 TraceCheckUtils]: 16: Hoare triple {69455#false} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {69454#true} is VALID [2022-04-08 15:13:10,344 INFO L290 TraceCheckUtils]: 17: Hoare triple {69454#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; {69454#true} is VALID [2022-04-08 15:13:10,344 INFO L290 TraceCheckUtils]: 18: Hoare triple {69454#true} assume 0 == ~__BLAST_NONDET~2; {69454#true} is VALID [2022-04-08 15:13:10,345 INFO L290 TraceCheckUtils]: 19: Hoare triple {69454#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {69454#true} is VALID [2022-04-08 15:13:10,345 INFO L290 TraceCheckUtils]: 20: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:10,345 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {69454#true} {69455#false} #1180#return; {69455#false} is VALID [2022-04-08 15:13:10,345 INFO L290 TraceCheckUtils]: 22: Hoare triple {69455#false} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {69455#false} is VALID [2022-04-08 15:13:10,345 INFO L290 TraceCheckUtils]: 23: Hoare triple {69455#false} assume true; {69455#false} is VALID [2022-04-08 15:13:10,345 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {69455#false} {69454#true} #1220#return; {69455#false} is VALID [2022-04-08 15:13:10,360 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-08 15:13:10,360 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:10,364 INFO L290 TraceCheckUtils]: 0: Hoare triple {69551#(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; {69454#true} is VALID [2022-04-08 15:13:10,364 INFO L290 TraceCheckUtils]: 1: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:10,364 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {69454#true} {69455#false} #1222#return; {69455#false} is VALID [2022-04-08 15:13:10,364 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-08 15:13:10,370 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:10,375 INFO L290 TraceCheckUtils]: 0: Hoare triple {69527#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {69454#true} is VALID [2022-04-08 15:13:10,375 INFO L290 TraceCheckUtils]: 1: Hoare triple {69454#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {69454#true} is VALID [2022-04-08 15:13:10,375 INFO L290 TraceCheckUtils]: 2: Hoare triple {69454#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {69454#true} is VALID [2022-04-08 15:13:10,375 INFO L290 TraceCheckUtils]: 3: Hoare triple {69454#true} assume #t~loopctr221 % 18446744073709551616 < size % 18446744073709551616;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 8);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 8);#t~loopctr221 := 8 + #t~loopctr221; {69454#true} is VALID [2022-04-08 15:13:10,375 INFO L290 TraceCheckUtils]: 4: Hoare triple {69454#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {69454#true} is VALID [2022-04-08 15:13:10,375 INFO L290 TraceCheckUtils]: 5: Hoare triple {69454#true} assume #res.base == dest.base && #res.offset == dest.offset; {69454#true} is VALID [2022-04-08 15:13:10,375 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {69454#true} {69455#false} #1186#return; {69455#false} is VALID [2022-04-08 15:13:10,385 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 75 [2022-04-08 15:13:10,389 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:10,404 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 15:13:10,405 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:10,410 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:13:10,411 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:10,414 INFO L290 TraceCheckUtils]: 0: Hoare triple {69561#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {69454#true} is VALID [2022-04-08 15:13:10,415 INFO L290 TraceCheckUtils]: 1: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:10,415 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {69454#true} {69454#true} #1174#return; {69454#true} is VALID [2022-04-08 15:13:10,415 INFO L290 TraceCheckUtils]: 0: Hoare triple {69561#(= ~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; {69454#true} is VALID [2022-04-08 15:13:10,415 INFO L272 TraceCheckUtils]: 1: Hoare triple {69454#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {69561#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:13:10,415 INFO L290 TraceCheckUtils]: 2: Hoare triple {69561#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {69454#true} is VALID [2022-04-08 15:13:10,415 INFO L290 TraceCheckUtils]: 3: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:10,415 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {69454#true} {69454#true} #1174#return; {69454#true} is VALID [2022-04-08 15:13:10,415 INFO L290 TraceCheckUtils]: 5: Hoare triple {69454#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {69454#true} is VALID [2022-04-08 15:13:10,416 INFO L290 TraceCheckUtils]: 6: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:10,416 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {69454#true} {69454#true} #1210#return; {69454#true} is VALID [2022-04-08 15:13:10,416 INFO L290 TraceCheckUtils]: 0: Hoare triple {69552#(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; {69454#true} is VALID [2022-04-08 15:13:10,416 INFO L290 TraceCheckUtils]: 1: Hoare triple {69454#true} assume 0 != ~compRegistered~0; {69454#true} is VALID [2022-04-08 15:13:10,416 INFO L272 TraceCheckUtils]: 2: Hoare triple {69454#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {69561#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:13:10,416 INFO L290 TraceCheckUtils]: 3: Hoare triple {69561#(= ~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; {69454#true} is VALID [2022-04-08 15:13:10,417 INFO L272 TraceCheckUtils]: 4: Hoare triple {69454#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {69561#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:13:10,417 INFO L290 TraceCheckUtils]: 5: Hoare triple {69561#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {69454#true} is VALID [2022-04-08 15:13:10,417 INFO L290 TraceCheckUtils]: 6: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:10,417 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {69454#true} {69454#true} #1174#return; {69454#true} is VALID [2022-04-08 15:13:10,417 INFO L290 TraceCheckUtils]: 8: Hoare triple {69454#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {69454#true} is VALID [2022-04-08 15:13:10,417 INFO L290 TraceCheckUtils]: 9: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:10,417 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {69454#true} {69454#true} #1210#return; {69454#true} is VALID [2022-04-08 15:13:10,417 INFO L290 TraceCheckUtils]: 11: Hoare triple {69454#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {69454#true} is VALID [2022-04-08 15:13:10,417 INFO L290 TraceCheckUtils]: 12: Hoare triple {69454#true} assume !(-1073741802 == ~compRetStatus~0); {69454#true} is VALID [2022-04-08 15:13:10,417 INFO L290 TraceCheckUtils]: 13: Hoare triple {69454#true} assume 0 == ~__BLAST_NONDET~11; {69454#true} is VALID [2022-04-08 15:13:10,417 INFO L290 TraceCheckUtils]: 14: Hoare triple {69454#true} ~returnVal2~0 := 0; {69454#true} is VALID [2022-04-08 15:13:10,417 INFO L290 TraceCheckUtils]: 15: Hoare triple {69454#true} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {69454#true} is VALID [2022-04-08 15:13:10,418 INFO L290 TraceCheckUtils]: 16: Hoare triple {69454#true} #res := ~returnVal2~0; {69454#true} is VALID [2022-04-08 15:13:10,418 INFO L290 TraceCheckUtils]: 17: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:10,418 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {69454#true} {69455#false} #1192#return; {69455#false} is VALID [2022-04-08 15:13:10,419 INFO L272 TraceCheckUtils]: 0: Hoare triple {69454#true} call ULTIMATE.init(); {69525#(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 15:13:10,419 INFO L290 TraceCheckUtils]: 1: Hoare triple {69525#(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; {69454#true} is VALID [2022-04-08 15:13:10,419 INFO L290 TraceCheckUtils]: 2: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:10,419 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {69454#true} {69454#true} #1270#return; {69454#true} is VALID [2022-04-08 15:13:10,419 INFO L272 TraceCheckUtils]: 4: Hoare triple {69454#true} call #t~ret213 := main(); {69454#true} is VALID [2022-04-08 15:13:10,419 INFO L290 TraceCheckUtils]: 5: Hoare triple {69454#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {69454#true} is VALID [2022-04-08 15:13:10,419 INFO L272 TraceCheckUtils]: 6: Hoare triple {69454#true} call _BLAST_init(); {69526#(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 15:13:10,420 INFO L290 TraceCheckUtils]: 7: Hoare triple {69526#(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; {69454#true} is VALID [2022-04-08 15:13:10,420 INFO L290 TraceCheckUtils]: 8: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:10,420 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {69454#true} {69454#true} #1216#return; {69454#true} is VALID [2022-04-08 15:13:10,420 INFO L272 TraceCheckUtils]: 10: Hoare triple {69454#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {69527#(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 15:13:10,420 INFO L290 TraceCheckUtils]: 11: Hoare triple {69527#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {69454#true} is VALID [2022-04-08 15:13:10,420 INFO L272 TraceCheckUtils]: 12: Hoare triple {69454#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {69454#true} is VALID [2022-04-08 15:13:10,420 INFO L290 TraceCheckUtils]: 13: Hoare triple {69454#true} ~cond := #in~cond; {69454#true} is VALID [2022-04-08 15:13:10,420 INFO L290 TraceCheckUtils]: 14: Hoare triple {69454#true} assume !(0 == ~cond); {69454#true} is VALID [2022-04-08 15:13:10,421 INFO L290 TraceCheckUtils]: 15: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:10,421 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {69454#true} {69454#true} #1254#return; {69454#true} is VALID [2022-04-08 15:13:10,421 INFO L290 TraceCheckUtils]: 17: Hoare triple {69454#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {69454#true} is VALID [2022-04-08 15:13:10,421 INFO L290 TraceCheckUtils]: 18: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:10,421 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {69454#true} {69454#true} #1218#return; {69454#true} is VALID [2022-04-08 15:13:10,421 INFO L290 TraceCheckUtils]: 20: Hoare triple {69454#true} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {69454#true} is VALID [2022-04-08 15:13:10,421 INFO L290 TraceCheckUtils]: 21: Hoare triple {69454#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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {69454#true} is VALID [2022-04-08 15:13:10,421 INFO L290 TraceCheckUtils]: 22: Hoare triple {69454#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {69454#true} is VALID [2022-04-08 15:13:10,421 INFO L272 TraceCheckUtils]: 23: Hoare triple {69454#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {69532#(and (= |old(#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 15:13:10,422 INFO L290 TraceCheckUtils]: 24: Hoare triple {69532#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {69454#true} is VALID [2022-04-08 15:13:10,422 INFO L272 TraceCheckUtils]: 25: Hoare triple {69454#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {69532#(and (= |old(#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 15:13:10,422 INFO L290 TraceCheckUtils]: 26: Hoare triple {69532#(and (= |old(#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; {69454#true} is VALID [2022-04-08 15:13:10,423 INFO L290 TraceCheckUtils]: 27: Hoare triple {69454#true} assume 0 == ~__BLAST_NONDET~5; {69454#true} is VALID [2022-04-08 15:13:10,423 INFO L290 TraceCheckUtils]: 28: Hoare triple {69454#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {69454#true} is VALID [2022-04-08 15:13:10,423 INFO L290 TraceCheckUtils]: 29: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:10,423 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {69454#true} {69454#true} #1176#return; {69454#true} is VALID [2022-04-08 15:13:10,423 INFO L290 TraceCheckUtils]: 31: Hoare triple {69454#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {69454#true} is VALID [2022-04-08 15:13:10,423 INFO L290 TraceCheckUtils]: 32: Hoare triple {69454#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {69454#true} is VALID [2022-04-08 15:13:10,423 INFO L272 TraceCheckUtils]: 33: Hoare triple {69454#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {69527#(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 15:13:10,424 INFO L290 TraceCheckUtils]: 34: Hoare triple {69527#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {69548#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 15:13:10,425 INFO L290 TraceCheckUtils]: 35: Hoare triple {69548#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {69549#(and (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616) 1) 0)) (or (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616)) (<= (+ (* 18446744073709551616 (div |#Ultimate.C_memset_#amount| 18446744073709551616)) 1) |#Ultimate.C_memset_#amount|)) (or (not (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)))} is VALID [2022-04-08 15:13:10,425 INFO L290 TraceCheckUtils]: 36: Hoare triple {69549#(and (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616) 1) 0)) (or (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616)) (<= (+ (* 18446744073709551616 (div |#Ultimate.C_memset_#amount| 18446744073709551616)) 1) |#Ultimate.C_memset_#amount|)) (or (not (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)))} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {69550#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 15:13:10,426 INFO L290 TraceCheckUtils]: 37: Hoare triple {69550#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {69550#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 15:13:10,426 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {69550#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} {69454#true} #1178#return; {69455#false} is VALID [2022-04-08 15:13:10,426 INFO L290 TraceCheckUtils]: 39: Hoare triple {69455#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {69455#false} is VALID [2022-04-08 15:13:10,426 INFO L272 TraceCheckUtils]: 40: Hoare triple {69455#false} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {69454#true} is VALID [2022-04-08 15:13:10,427 INFO L290 TraceCheckUtils]: 41: Hoare triple {69454#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; {69454#true} is VALID [2022-04-08 15:13:10,427 INFO L290 TraceCheckUtils]: 42: Hoare triple {69454#true} assume 0 == ~__BLAST_NONDET~2; {69454#true} is VALID [2022-04-08 15:13:10,427 INFO L290 TraceCheckUtils]: 43: Hoare triple {69454#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {69454#true} is VALID [2022-04-08 15:13:10,427 INFO L290 TraceCheckUtils]: 44: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:10,427 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {69454#true} {69455#false} #1180#return; {69455#false} is VALID [2022-04-08 15:13:10,427 INFO L290 TraceCheckUtils]: 46: Hoare triple {69455#false} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {69455#false} is VALID [2022-04-08 15:13:10,427 INFO L290 TraceCheckUtils]: 47: Hoare triple {69455#false} assume true; {69455#false} is VALID [2022-04-08 15:13:10,427 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {69455#false} {69454#true} #1220#return; {69455#false} is VALID [2022-04-08 15:13:10,427 INFO L290 TraceCheckUtils]: 49: Hoare triple {69455#false} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {69455#false} is VALID [2022-04-08 15:13:10,427 INFO L272 TraceCheckUtils]: 50: Hoare triple {69455#false} call stub_driver_init(); {69551#(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 15:13:10,427 INFO L290 TraceCheckUtils]: 51: Hoare triple {69551#(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; {69454#true} is VALID [2022-04-08 15:13:10,427 INFO L290 TraceCheckUtils]: 52: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:10,427 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {69454#true} {69455#false} #1222#return; {69455#false} is VALID [2022-04-08 15:13:10,427 INFO L290 TraceCheckUtils]: 54: Hoare triple {69455#false} assume !!(~status~5 >= 0); {69455#false} is VALID [2022-04-08 15:13:10,427 INFO L290 TraceCheckUtils]: 55: Hoare triple {69455#false} assume !(0 == ~__BLAST_NONDET~0); {69455#false} is VALID [2022-04-08 15:13:10,427 INFO L290 TraceCheckUtils]: 56: Hoare triple {69455#false} assume !(1 == ~__BLAST_NONDET~0); {69455#false} is VALID [2022-04-08 15:13:10,427 INFO L290 TraceCheckUtils]: 57: Hoare triple {69455#false} assume !(2 == ~__BLAST_NONDET~0); {69455#false} is VALID [2022-04-08 15:13:10,427 INFO L290 TraceCheckUtils]: 58: Hoare triple {69455#false} assume 3 == ~__BLAST_NONDET~0; {69455#false} is VALID [2022-04-08 15:13:10,427 INFO L272 TraceCheckUtils]: 59: Hoare triple {69455#false} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {69455#false} is VALID [2022-04-08 15:13:10,428 INFO L290 TraceCheckUtils]: 60: Hoare triple {69455#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(28);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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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); {69455#false} is VALID [2022-04-08 15:13:10,428 INFO L290 TraceCheckUtils]: 61: Hoare triple {69455#false} assume 0 == #t~mem81 % 256;havoc #t~mem81; {69455#false} is VALID [2022-04-08 15:13:10,428 INFO L290 TraceCheckUtils]: 62: Hoare triple {69455#false} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 180 + ~Irp.offset, 8);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 68;havoc #t~mem103.base, #t~mem103.offset; {69455#false} is VALID [2022-04-08 15:13:10,428 INFO L272 TraceCheckUtils]: 63: Hoare triple {69455#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, 52); {69527#(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 15:13:10,428 INFO L290 TraceCheckUtils]: 64: Hoare triple {69527#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {69454#true} is VALID [2022-04-08 15:13:10,428 INFO L290 TraceCheckUtils]: 65: Hoare triple {69454#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {69454#true} is VALID [2022-04-08 15:13:10,428 INFO L290 TraceCheckUtils]: 66: Hoare triple {69454#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {69454#true} is VALID [2022-04-08 15:13:10,428 INFO L290 TraceCheckUtils]: 67: Hoare triple {69454#true} assume #t~loopctr221 % 18446744073709551616 < size % 18446744073709551616;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 8);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 8);#t~loopctr221 := 8 + #t~loopctr221; {69454#true} is VALID [2022-04-08 15:13:10,428 INFO L290 TraceCheckUtils]: 68: Hoare triple {69454#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {69454#true} is VALID [2022-04-08 15:13:10,428 INFO L290 TraceCheckUtils]: 69: Hoare triple {69454#true} assume #res.base == dest.base && #res.offset == dest.offset; {69454#true} is VALID [2022-04-08 15:13:10,428 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {69454#true} {69455#false} #1186#return; {69455#false} is VALID [2022-04-08 15:13:10,428 INFO L290 TraceCheckUtils]: 71: Hoare triple {69455#false} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {69455#false} is VALID [2022-04-08 15:13:10,428 INFO L290 TraceCheckUtils]: 72: Hoare triple {69455#false} assume !(~s~0 != ~NP~0); {69455#false} is VALID [2022-04-08 15:13:10,428 INFO L290 TraceCheckUtils]: 73: Hoare triple {69455#false} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {69455#false} is VALID [2022-04-08 15:13:10,428 INFO L290 TraceCheckUtils]: 74: Hoare triple {69455#false} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 68;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 52 + ~irpSp___0~0.offset, 8);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 60 + ~irpSp___0~0.offset, 8);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, 16 + ~devExt~3.offset, 8); {69455#false} is VALID [2022-04-08 15:13:10,428 INFO L272 TraceCheckUtils]: 75: Hoare triple {69455#false} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {69552#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:13:10,428 INFO L290 TraceCheckUtils]: 76: Hoare triple {69552#(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; {69454#true} is VALID [2022-04-08 15:13:10,428 INFO L290 TraceCheckUtils]: 77: Hoare triple {69454#true} assume 0 != ~compRegistered~0; {69454#true} is VALID [2022-04-08 15:13:10,429 INFO L272 TraceCheckUtils]: 78: Hoare triple {69454#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {69561#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:13:10,429 INFO L290 TraceCheckUtils]: 79: Hoare triple {69561#(= ~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; {69454#true} is VALID [2022-04-08 15:13:10,430 INFO L272 TraceCheckUtils]: 80: Hoare triple {69454#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {69561#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:13:10,430 INFO L290 TraceCheckUtils]: 81: Hoare triple {69561#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {69454#true} is VALID [2022-04-08 15:13:10,430 INFO L290 TraceCheckUtils]: 82: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:10,430 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {69454#true} {69454#true} #1174#return; {69454#true} is VALID [2022-04-08 15:13:10,430 INFO L290 TraceCheckUtils]: 84: Hoare triple {69454#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {69454#true} is VALID [2022-04-08 15:13:10,430 INFO L290 TraceCheckUtils]: 85: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:10,430 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {69454#true} {69454#true} #1210#return; {69454#true} is VALID [2022-04-08 15:13:10,430 INFO L290 TraceCheckUtils]: 87: Hoare triple {69454#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {69454#true} is VALID [2022-04-08 15:13:10,430 INFO L290 TraceCheckUtils]: 88: Hoare triple {69454#true} assume !(-1073741802 == ~compRetStatus~0); {69454#true} is VALID [2022-04-08 15:13:10,430 INFO L290 TraceCheckUtils]: 89: Hoare triple {69454#true} assume 0 == ~__BLAST_NONDET~11; {69454#true} is VALID [2022-04-08 15:13:10,430 INFO L290 TraceCheckUtils]: 90: Hoare triple {69454#true} ~returnVal2~0 := 0; {69454#true} is VALID [2022-04-08 15:13:10,430 INFO L290 TraceCheckUtils]: 91: Hoare triple {69454#true} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {69454#true} is VALID [2022-04-08 15:13:10,430 INFO L290 TraceCheckUtils]: 92: Hoare triple {69454#true} #res := ~returnVal2~0; {69454#true} is VALID [2022-04-08 15:13:10,430 INFO L290 TraceCheckUtils]: 93: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:10,430 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {69454#true} {69455#false} #1192#return; {69455#false} is VALID [2022-04-08 15:13:10,430 INFO L290 TraceCheckUtils]: 95: Hoare triple {69455#false} assume -9223372036854775808 <= #t~ret109 && #t~ret109 <= 9223372036854775807;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {69455#false} is VALID [2022-04-08 15:13:10,430 INFO L290 TraceCheckUtils]: 96: Hoare triple {69455#false} assume !(259 == ~status~3); {69455#false} is VALID [2022-04-08 15:13:10,430 INFO L290 TraceCheckUtils]: 97: Hoare triple {69455#false} assume ~status~3 >= 0; {69455#false} is VALID [2022-04-08 15:13:10,430 INFO L290 TraceCheckUtils]: 98: Hoare triple {69455#false} assume !(~myStatus~0 >= 0); {69455#false} is VALID [2022-04-08 15:13:10,431 INFO L290 TraceCheckUtils]: 99: Hoare triple {69455#false} call write~int(~status~3, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~3 % 4294967296 <= 2147483647 then ~status~3 % 4294967296 else ~status~3 % 4294967296 - 4294967296);call write~int(0, ~Irp.base, 52 + ~Irp.offset, 8); {69455#false} is VALID [2022-04-08 15:13:10,431 INFO L272 TraceCheckUtils]: 100: Hoare triple {69455#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {69455#false} is VALID [2022-04-08 15:13:10,431 INFO L290 TraceCheckUtils]: 101: Hoare triple {69455#false} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {69455#false} is VALID [2022-04-08 15:13:10,431 INFO L290 TraceCheckUtils]: 102: Hoare triple {69455#false} assume !(~s~0 == ~NP~0); {69455#false} is VALID [2022-04-08 15:13:10,431 INFO L272 TraceCheckUtils]: 103: Hoare triple {69455#false} call errorFn(); {69455#false} is VALID [2022-04-08 15:13:10,431 INFO L290 TraceCheckUtils]: 104: Hoare triple {69455#false} assume !false; {69455#false} is VALID [2022-04-08 15:13:10,432 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 15:13:10,432 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:13:10,432 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1231171780] [2022-04-08 15:13:10,432 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1231171780] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 15:13:10,432 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [928940216] [2022-04-08 15:13:10,432 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 15:13:10,432 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 15:13:10,432 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 15:13:10,433 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 15:13:10,434 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 15:13:12,586 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 15:13:12,586 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 15:13:12,595 INFO L263 TraceCheckSpWp]: Trace formula consists of 1752 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 15:13:12,630 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:12,632 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 15:13:12,830 INFO L272 TraceCheckUtils]: 0: Hoare triple {69454#true} call ULTIMATE.init(); {69454#true} is VALID [2022-04-08 15:13:12,830 INFO L290 TraceCheckUtils]: 1: Hoare triple {69454#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; {69454#true} is VALID [2022-04-08 15:13:12,830 INFO L290 TraceCheckUtils]: 2: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:12,830 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {69454#true} {69454#true} #1270#return; {69454#true} is VALID [2022-04-08 15:13:12,830 INFO L272 TraceCheckUtils]: 4: Hoare triple {69454#true} call #t~ret213 := main(); {69454#true} is VALID [2022-04-08 15:13:12,830 INFO L290 TraceCheckUtils]: 5: Hoare triple {69454#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {69454#true} is VALID [2022-04-08 15:13:12,830 INFO L272 TraceCheckUtils]: 6: Hoare triple {69454#true} call _BLAST_init(); {69454#true} is VALID [2022-04-08 15:13:12,830 INFO L290 TraceCheckUtils]: 7: Hoare triple {69454#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; {69454#true} is VALID [2022-04-08 15:13:12,830 INFO L290 TraceCheckUtils]: 8: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:12,830 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {69454#true} {69454#true} #1216#return; {69454#true} is VALID [2022-04-08 15:13:12,830 INFO L272 TraceCheckUtils]: 10: Hoare triple {69454#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {69454#true} is VALID [2022-04-08 15:13:12,831 INFO L290 TraceCheckUtils]: 11: Hoare triple {69454#true} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {69454#true} is VALID [2022-04-08 15:13:12,831 INFO L272 TraceCheckUtils]: 12: Hoare triple {69454#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {69454#true} is VALID [2022-04-08 15:13:12,831 INFO L290 TraceCheckUtils]: 13: Hoare triple {69454#true} ~cond := #in~cond; {69454#true} is VALID [2022-04-08 15:13:12,831 INFO L290 TraceCheckUtils]: 14: Hoare triple {69454#true} assume !(0 == ~cond); {69454#true} is VALID [2022-04-08 15:13:12,831 INFO L290 TraceCheckUtils]: 15: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:12,831 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {69454#true} {69454#true} #1254#return; {69454#true} is VALID [2022-04-08 15:13:12,831 INFO L290 TraceCheckUtils]: 17: Hoare triple {69454#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {69454#true} is VALID [2022-04-08 15:13:12,831 INFO L290 TraceCheckUtils]: 18: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:12,831 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {69454#true} {69454#true} #1218#return; {69454#true} is VALID [2022-04-08 15:13:12,831 INFO L290 TraceCheckUtils]: 20: Hoare triple {69454#true} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {69454#true} is VALID [2022-04-08 15:13:12,831 INFO L290 TraceCheckUtils]: 21: Hoare triple {69454#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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {69454#true} is VALID [2022-04-08 15:13:12,831 INFO L290 TraceCheckUtils]: 22: Hoare triple {69454#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {69454#true} is VALID [2022-04-08 15:13:12,831 INFO L272 TraceCheckUtils]: 23: Hoare triple {69454#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {69454#true} is VALID [2022-04-08 15:13:12,831 INFO L290 TraceCheckUtils]: 24: Hoare triple {69454#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(8);havoc ~status~0;~status~0 := 0; {69454#true} is VALID [2022-04-08 15:13:12,831 INFO L272 TraceCheckUtils]: 25: Hoare triple {69454#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {69454#true} is VALID [2022-04-08 15:13:12,831 INFO L290 TraceCheckUtils]: 26: Hoare triple {69454#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; {69454#true} is VALID [2022-04-08 15:13:12,831 INFO L290 TraceCheckUtils]: 27: Hoare triple {69454#true} assume 0 == ~__BLAST_NONDET~5; {69454#true} is VALID [2022-04-08 15:13:12,831 INFO L290 TraceCheckUtils]: 28: Hoare triple {69454#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {69454#true} is VALID [2022-04-08 15:13:12,832 INFO L290 TraceCheckUtils]: 29: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:12,832 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {69454#true} {69454#true} #1176#return; {69454#true} is VALID [2022-04-08 15:13:12,832 INFO L290 TraceCheckUtils]: 31: Hoare triple {69454#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {69454#true} is VALID [2022-04-08 15:13:12,832 INFO L290 TraceCheckUtils]: 32: Hoare triple {69454#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {69454#true} is VALID [2022-04-08 15:13:12,832 INFO L272 TraceCheckUtils]: 33: Hoare triple {69454#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {69454#true} is VALID [2022-04-08 15:13:12,832 INFO L290 TraceCheckUtils]: 34: Hoare triple {69454#true} #t~loopctr214 := 0; {69454#true} is VALID [2022-04-08 15:13:12,832 INFO L290 TraceCheckUtils]: 35: Hoare triple {69454#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {69454#true} is VALID [2022-04-08 15:13:12,832 INFO L290 TraceCheckUtils]: 36: Hoare triple {69454#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {69454#true} is VALID [2022-04-08 15:13:12,832 INFO L290 TraceCheckUtils]: 37: Hoare triple {69454#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {69454#true} is VALID [2022-04-08 15:13:12,832 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {69454#true} {69454#true} #1178#return; {69454#true} is VALID [2022-04-08 15:13:12,832 INFO L290 TraceCheckUtils]: 39: Hoare triple {69454#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {69454#true} is VALID [2022-04-08 15:13:12,832 INFO L272 TraceCheckUtils]: 40: Hoare triple {69454#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {69454#true} is VALID [2022-04-08 15:13:12,832 INFO L290 TraceCheckUtils]: 41: Hoare triple {69454#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; {69454#true} is VALID [2022-04-08 15:13:12,832 INFO L290 TraceCheckUtils]: 42: Hoare triple {69454#true} assume 0 == ~__BLAST_NONDET~2; {69454#true} is VALID [2022-04-08 15:13:12,832 INFO L290 TraceCheckUtils]: 43: Hoare triple {69454#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {69454#true} is VALID [2022-04-08 15:13:12,832 INFO L290 TraceCheckUtils]: 44: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:12,832 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {69454#true} {69454#true} #1180#return; {69454#true} is VALID [2022-04-08 15:13:12,832 INFO L290 TraceCheckUtils]: 46: Hoare triple {69454#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {69454#true} is VALID [2022-04-08 15:13:12,832 INFO L290 TraceCheckUtils]: 47: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:12,833 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {69454#true} {69454#true} #1220#return; {69454#true} is VALID [2022-04-08 15:13:12,833 INFO L290 TraceCheckUtils]: 49: Hoare triple {69454#true} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {69454#true} is VALID [2022-04-08 15:13:12,833 INFO L272 TraceCheckUtils]: 50: Hoare triple {69454#true} call stub_driver_init(); {69454#true} is VALID [2022-04-08 15:13:12,833 INFO L290 TraceCheckUtils]: 51: Hoare triple {69454#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; {69454#true} is VALID [2022-04-08 15:13:12,833 INFO L290 TraceCheckUtils]: 52: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:12,833 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {69454#true} {69454#true} #1222#return; {69454#true} is VALID [2022-04-08 15:13:12,833 INFO L290 TraceCheckUtils]: 54: Hoare triple {69454#true} assume !!(~status~5 >= 0); {69454#true} is VALID [2022-04-08 15:13:12,833 INFO L290 TraceCheckUtils]: 55: Hoare triple {69454#true} assume !(0 == ~__BLAST_NONDET~0); {69454#true} is VALID [2022-04-08 15:13:12,833 INFO L290 TraceCheckUtils]: 56: Hoare triple {69454#true} assume !(1 == ~__BLAST_NONDET~0); {69454#true} is VALID [2022-04-08 15:13:12,833 INFO L290 TraceCheckUtils]: 57: Hoare triple {69454#true} assume !(2 == ~__BLAST_NONDET~0); {69454#true} is VALID [2022-04-08 15:13:12,833 INFO L290 TraceCheckUtils]: 58: Hoare triple {69454#true} assume 3 == ~__BLAST_NONDET~0; {69454#true} is VALID [2022-04-08 15:13:12,833 INFO L272 TraceCheckUtils]: 59: Hoare triple {69454#true} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {69454#true} is VALID [2022-04-08 15:13:12,833 INFO L290 TraceCheckUtils]: 60: Hoare triple {69454#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(28);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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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); {69454#true} is VALID [2022-04-08 15:13:12,833 INFO L290 TraceCheckUtils]: 61: Hoare triple {69454#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {69454#true} is VALID [2022-04-08 15:13:12,833 INFO L290 TraceCheckUtils]: 62: Hoare triple {69454#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 180 + ~Irp.offset, 8);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 68;havoc #t~mem103.base, #t~mem103.offset; {69454#true} is VALID [2022-04-08 15:13:12,833 INFO L272 TraceCheckUtils]: 63: Hoare triple {69454#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, 52); {69454#true} is VALID [2022-04-08 15:13:12,833 INFO L290 TraceCheckUtils]: 64: Hoare triple {69454#true} #t~loopctr215 := 0; {69454#true} is VALID [2022-04-08 15:13:12,833 INFO L290 TraceCheckUtils]: 65: Hoare triple {69454#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {69454#true} is VALID [2022-04-08 15:13:12,833 INFO L290 TraceCheckUtils]: 66: Hoare triple {69454#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {69454#true} is VALID [2022-04-08 15:13:12,834 INFO L290 TraceCheckUtils]: 67: Hoare triple {69454#true} assume #t~loopctr221 % 18446744073709551616 < size % 18446744073709551616;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 8);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 8);#t~loopctr221 := 8 + #t~loopctr221; {69454#true} is VALID [2022-04-08 15:13:12,834 INFO L290 TraceCheckUtils]: 68: Hoare triple {69454#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {69454#true} is VALID [2022-04-08 15:13:12,834 INFO L290 TraceCheckUtils]: 69: Hoare triple {69454#true} assume #res.base == dest.base && #res.offset == dest.offset; {69454#true} is VALID [2022-04-08 15:13:12,834 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {69454#true} {69454#true} #1186#return; {69454#true} is VALID [2022-04-08 15:13:12,834 INFO L290 TraceCheckUtils]: 71: Hoare triple {69454#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {69454#true} is VALID [2022-04-08 15:13:12,834 INFO L290 TraceCheckUtils]: 72: Hoare triple {69454#true} assume !(~s~0 != ~NP~0); {69454#true} is VALID [2022-04-08 15:13:12,834 INFO L290 TraceCheckUtils]: 73: Hoare triple {69454#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {69454#true} is VALID [2022-04-08 15:13:12,834 INFO L290 TraceCheckUtils]: 74: Hoare triple {69454#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 68;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 52 + ~irpSp___0~0.offset, 8);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 60 + ~irpSp___0~0.offset, 8);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, 16 + ~devExt~3.offset, 8); {69454#true} is VALID [2022-04-08 15:13:12,834 INFO L272 TraceCheckUtils]: 75: Hoare triple {69454#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {69454#true} is VALID [2022-04-08 15:13:12,834 INFO L290 TraceCheckUtils]: 76: Hoare triple {69454#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; {69454#true} is VALID [2022-04-08 15:13:12,834 INFO L290 TraceCheckUtils]: 77: Hoare triple {69454#true} assume 0 != ~compRegistered~0; {69454#true} is VALID [2022-04-08 15:13:12,834 INFO L272 TraceCheckUtils]: 78: Hoare triple {69454#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {69454#true} is VALID [2022-04-08 15:13:12,834 INFO L290 TraceCheckUtils]: 79: Hoare triple {69454#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; {69454#true} is VALID [2022-04-08 15:13:12,834 INFO L272 TraceCheckUtils]: 80: Hoare triple {69454#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {69454#true} is VALID [2022-04-08 15:13:12,834 INFO L290 TraceCheckUtils]: 81: Hoare triple {69454#true} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {69454#true} is VALID [2022-04-08 15:13:12,834 INFO L290 TraceCheckUtils]: 82: Hoare triple {69454#true} assume true; {69454#true} is VALID [2022-04-08 15:13:12,834 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {69454#true} {69454#true} #1174#return; {69454#true} is VALID [2022-04-08 15:13:12,835 INFO L290 TraceCheckUtils]: 84: Hoare triple {69454#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {69820#(= (- 1073741802) |KbFilter_Complete_#res|)} is VALID [2022-04-08 15:13:12,835 INFO L290 TraceCheckUtils]: 85: Hoare triple {69820#(= (- 1073741802) |KbFilter_Complete_#res|)} assume true; {69820#(= (- 1073741802) |KbFilter_Complete_#res|)} is VALID [2022-04-08 15:13:12,856 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {69820#(= (- 1073741802) |KbFilter_Complete_#res|)} {69454#true} #1210#return; {69827#(= |IofCallDriver_#t~ret196| (- 1073741802))} is VALID [2022-04-08 15:13:12,857 INFO L290 TraceCheckUtils]: 87: Hoare triple {69827#(= |IofCallDriver_#t~ret196| (- 1073741802))} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {69831#(= (- 1073741802) IofCallDriver_~compRetStatus~0)} is VALID [2022-04-08 15:13:12,857 INFO L290 TraceCheckUtils]: 88: Hoare triple {69831#(= (- 1073741802) IofCallDriver_~compRetStatus~0)} assume !(-1073741802 == ~compRetStatus~0); {69455#false} is VALID [2022-04-08 15:13:12,857 INFO L290 TraceCheckUtils]: 89: Hoare triple {69455#false} assume 0 == ~__BLAST_NONDET~11; {69455#false} is VALID [2022-04-08 15:13:12,857 INFO L290 TraceCheckUtils]: 90: Hoare triple {69455#false} ~returnVal2~0 := 0; {69455#false} is VALID [2022-04-08 15:13:12,857 INFO L290 TraceCheckUtils]: 91: Hoare triple {69455#false} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {69455#false} is VALID [2022-04-08 15:13:12,858 INFO L290 TraceCheckUtils]: 92: Hoare triple {69455#false} #res := ~returnVal2~0; {69455#false} is VALID [2022-04-08 15:13:12,858 INFO L290 TraceCheckUtils]: 93: Hoare triple {69455#false} assume true; {69455#false} is VALID [2022-04-08 15:13:12,858 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {69455#false} {69454#true} #1192#return; {69455#false} is VALID [2022-04-08 15:13:12,858 INFO L290 TraceCheckUtils]: 95: Hoare triple {69455#false} assume -9223372036854775808 <= #t~ret109 && #t~ret109 <= 9223372036854775807;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {69455#false} is VALID [2022-04-08 15:13:12,858 INFO L290 TraceCheckUtils]: 96: Hoare triple {69455#false} assume !(259 == ~status~3); {69455#false} is VALID [2022-04-08 15:13:12,858 INFO L290 TraceCheckUtils]: 97: Hoare triple {69455#false} assume ~status~3 >= 0; {69455#false} is VALID [2022-04-08 15:13:12,858 INFO L290 TraceCheckUtils]: 98: Hoare triple {69455#false} assume !(~myStatus~0 >= 0); {69455#false} is VALID [2022-04-08 15:13:12,858 INFO L290 TraceCheckUtils]: 99: Hoare triple {69455#false} call write~int(~status~3, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~3 % 4294967296 <= 2147483647 then ~status~3 % 4294967296 else ~status~3 % 4294967296 - 4294967296);call write~int(0, ~Irp.base, 52 + ~Irp.offset, 8); {69455#false} is VALID [2022-04-08 15:13:12,858 INFO L272 TraceCheckUtils]: 100: Hoare triple {69455#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {69455#false} is VALID [2022-04-08 15:13:12,858 INFO L290 TraceCheckUtils]: 101: Hoare triple {69455#false} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {69455#false} is VALID [2022-04-08 15:13:12,858 INFO L290 TraceCheckUtils]: 102: Hoare triple {69455#false} assume !(~s~0 == ~NP~0); {69455#false} is VALID [2022-04-08 15:13:12,858 INFO L272 TraceCheckUtils]: 103: Hoare triple {69455#false} call errorFn(); {69455#false} is VALID [2022-04-08 15:13:12,858 INFO L290 TraceCheckUtils]: 104: Hoare triple {69455#false} assume !false; {69455#false} is VALID [2022-04-08 15:13:12,858 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-04-08 15:13:12,858 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 15:13:12,859 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [928940216] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:13:12,859 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 15:13:12,859 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [12] total 15 [2022-04-08 15:13:12,859 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:13:12,859 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1425091868] [2022-04-08 15:13:12,859 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1425091868] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:13:12,859 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:13:12,859 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 15:13:12,859 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [100293455] [2022-04-08 15:13:12,859 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:13:12,860 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 15.0) internal successors, (75), 4 states have internal predecessors, (75), 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 105 [2022-04-08 15:13:12,860 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:13:12,860 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 15.0) internal successors, (75), 4 states have internal predecessors, (75), 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 15:13:12,949 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 15:13:12,950 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 15:13:12,950 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:13:12,950 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 15:13:12,950 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=172, Unknown=0, NotChecked=0, Total=210 [2022-04-08 15:13:12,950 INFO L87 Difference]: Start difference. First operand 343 states and 405 transitions. Second operand has 5 states, 5 states have (on average 15.0) internal successors, (75), 4 states have internal predecessors, (75), 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 15:13:22,695 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:13:22,696 INFO L93 Difference]: Finished difference Result 439 states and 524 transitions. [2022-04-08 15:13:22,696 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 15:13:22,696 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 15.0) internal successors, (75), 4 states have internal predecessors, (75), 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 105 [2022-04-08 15:13:22,696 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:13:22,696 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 15.0) internal successors, (75), 4 states have internal predecessors, (75), 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 15:13:22,697 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 227 transitions. [2022-04-08 15:13:22,697 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 15.0) internal successors, (75), 4 states have internal predecessors, (75), 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 15:13:22,698 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 227 transitions. [2022-04-08 15:13:22,699 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 227 transitions. [2022-04-08 15:13:22,858 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 15:13:22,863 INFO L225 Difference]: With dead ends: 439 [2022-04-08 15:13:22,863 INFO L226 Difference]: Without dead ends: 329 [2022-04-08 15:13:22,863 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 135 GetRequests, 122 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=38, Invalid=172, Unknown=0, NotChecked=0, Total=210 [2022-04-08 15:13:22,863 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 15:13:22,864 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 15:13:22,864 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 329 states. [2022-04-08 15:13:23,469 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 329 to 329. [2022-04-08 15:13:23,469 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:13:23,469 INFO L82 GeneralOperation]: Start isEquivalent. First operand 329 states. Second operand has 329 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), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) [2022-04-08 15:13:23,469 INFO L74 IsIncluded]: Start isIncluded. First operand 329 states. Second operand has 329 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), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) [2022-04-08 15:13:23,470 INFO L87 Difference]: Start difference. First operand 329 states. Second operand has 329 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), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) [2022-04-08 15:13:23,474 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:13:23,474 INFO L93 Difference]: Finished difference Result 329 states and 385 transitions. [2022-04-08 15:13:23,474 INFO L276 IsEmpty]: Start isEmpty. Operand 329 states and 385 transitions. [2022-04-08 15:13:23,474 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:13:23,474 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:13:23,475 INFO L74 IsIncluded]: Start isIncluded. First operand has 329 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), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) Second operand 329 states. [2022-04-08 15:13:23,475 INFO L87 Difference]: Start difference. First operand has 329 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), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) Second operand 329 states. [2022-04-08 15:13:23,479 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:13:23,479 INFO L93 Difference]: Finished difference Result 329 states and 385 transitions. [2022-04-08 15:13:23,479 INFO L276 IsEmpty]: Start isEmpty. Operand 329 states and 385 transitions. [2022-04-08 15:13:23,479 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:13:23,479 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:13:23,479 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:13:23,479 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:13:23,480 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 329 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), 38 states have return successors, (40), 36 states have call predecessors, (40), 32 states have call successors, (40) [2022-04-08 15:13:23,485 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 329 states to 329 states and 385 transitions. [2022-04-08 15:13:23,485 INFO L78 Accepts]: Start accepts. Automaton has 329 states and 385 transitions. Word has length 105 [2022-04-08 15:13:23,485 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:13:23,485 INFO L478 AbstractCegarLoop]: Abstraction has 329 states and 385 transitions. [2022-04-08 15:13:23,485 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 15.0) internal successors, (75), 4 states have internal predecessors, (75), 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 15:13:23,485 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 329 states and 385 transitions. [2022-04-08 15:13:24,387 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 385 edges. 385 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 15:13:24,387 INFO L276 IsEmpty]: Start isEmpty. Operand 329 states and 385 transitions. [2022-04-08 15:13:24,388 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 110 [2022-04-08 15:13:24,388 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:13:24,388 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 15:13:24,423 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 15:13:24,589 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable28 [2022-04-08 15:13:24,591 INFO L403 AbstractCegarLoop]: === Iteration 30 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:13:24,591 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:13:24,591 INFO L85 PathProgramCache]: Analyzing trace with hash 131837236, now seen corresponding path program 1 times [2022-04-08 15:13:24,591 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:13:24,591 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [829758408] [2022-04-08 15:13:24,593 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 15:13:24,593 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 15:13:24,593 INFO L85 PathProgramCache]: Analyzing trace with hash 131837236, now seen corresponding path program 2 times [2022-04-08 15:13:24,593 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:13:24,594 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [49935280] [2022-04-08 15:13:24,594 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:13:24,594 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:13:24,686 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:24,768 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:13:24,769 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:24,774 INFO L290 TraceCheckUtils]: 0: Hoare triple {72152#(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; {72076#true} is VALID [2022-04-08 15:13:24,774 INFO L290 TraceCheckUtils]: 1: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-08 15:13:24,774 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {72076#true} {72076#true} #1270#return; {72076#true} is VALID [2022-04-08 15:13:24,799 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:13:24,801 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:24,811 INFO L290 TraceCheckUtils]: 0: Hoare triple {72153#(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; {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 15:13:24,812 INFO L290 TraceCheckUtils]: 1: Hoare triple {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} assume true; {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 15:13:24,812 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} {72076#true} #1216#return; {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 15:13:24,819 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:13:24,828 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:24,835 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:13:24,836 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:24,844 INFO L290 TraceCheckUtils]: 0: Hoare triple {72076#true} ~cond := #in~cond; {72076#true} is VALID [2022-04-08 15:13:24,844 INFO L290 TraceCheckUtils]: 1: Hoare triple {72076#true} assume !(0 == ~cond); {72076#true} is VALID [2022-04-08 15:13:24,844 INFO L290 TraceCheckUtils]: 2: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-08 15:13:24,844 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {72076#true} {72076#true} #1254#return; {72076#true} is VALID [2022-04-08 15:13:24,844 INFO L290 TraceCheckUtils]: 0: Hoare triple {72154#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {72076#true} is VALID [2022-04-08 15:13:24,844 INFO L272 TraceCheckUtils]: 1: Hoare triple {72076#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {72076#true} is VALID [2022-04-08 15:13:24,844 INFO L290 TraceCheckUtils]: 2: Hoare triple {72076#true} ~cond := #in~cond; {72076#true} is VALID [2022-04-08 15:13:24,844 INFO L290 TraceCheckUtils]: 3: Hoare triple {72076#true} assume !(0 == ~cond); {72076#true} is VALID [2022-04-08 15:13:24,844 INFO L290 TraceCheckUtils]: 4: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-08 15:13:24,844 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {72076#true} {72076#true} #1254#return; {72076#true} is VALID [2022-04-08 15:13:24,845 INFO L290 TraceCheckUtils]: 6: Hoare triple {72076#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {72076#true} is VALID [2022-04-08 15:13:24,845 INFO L290 TraceCheckUtils]: 7: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-08 15:13:24,845 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {72076#true} {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} #1218#return; {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 15:13:24,855 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:13:24,871 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:24,899 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:13:24,903 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:24,908 INFO L290 TraceCheckUtils]: 0: Hoare triple {72159#(and (= |old(#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; {72076#true} is VALID [2022-04-08 15:13:24,908 INFO L290 TraceCheckUtils]: 1: Hoare triple {72076#true} assume 0 == ~__BLAST_NONDET~5; {72076#true} is VALID [2022-04-08 15:13:24,908 INFO L290 TraceCheckUtils]: 2: Hoare triple {72076#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {72076#true} is VALID [2022-04-08 15:13:24,908 INFO L290 TraceCheckUtils]: 3: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-08 15:13:24,908 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {72076#true} {72076#true} #1176#return; {72076#true} is VALID [2022-04-08 15:13:24,908 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 15:13:24,910 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:24,914 INFO L290 TraceCheckUtils]: 0: Hoare triple {72154#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {72076#true} is VALID [2022-04-08 15:13:24,914 INFO L290 TraceCheckUtils]: 1: Hoare triple {72076#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {72076#true} is VALID [2022-04-08 15:13:24,914 INFO L290 TraceCheckUtils]: 2: Hoare triple {72076#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {72076#true} is VALID [2022-04-08 15:13:24,914 INFO L290 TraceCheckUtils]: 3: Hoare triple {72076#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {72076#true} is VALID [2022-04-08 15:13:24,915 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {72076#true} {72076#true} #1178#return; {72076#true} is VALID [2022-04-08 15:13:24,915 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-08 15:13:24,916 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:24,920 INFO L290 TraceCheckUtils]: 0: Hoare triple {72076#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; {72076#true} is VALID [2022-04-08 15:13:24,920 INFO L290 TraceCheckUtils]: 1: Hoare triple {72076#true} assume 0 == ~__BLAST_NONDET~2; {72076#true} is VALID [2022-04-08 15:13:24,920 INFO L290 TraceCheckUtils]: 2: Hoare triple {72076#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {72076#true} is VALID [2022-04-08 15:13:24,920 INFO L290 TraceCheckUtils]: 3: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-08 15:13:24,920 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {72076#true} {72076#true} #1180#return; {72076#true} is VALID [2022-04-08 15:13:24,920 INFO L290 TraceCheckUtils]: 0: Hoare triple {72159#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {72076#true} is VALID [2022-04-08 15:13:24,921 INFO L272 TraceCheckUtils]: 1: Hoare triple {72076#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {72159#(and (= |old(#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 15:13:24,921 INFO L290 TraceCheckUtils]: 2: Hoare triple {72159#(and (= |old(#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; {72076#true} is VALID [2022-04-08 15:13:24,921 INFO L290 TraceCheckUtils]: 3: Hoare triple {72076#true} assume 0 == ~__BLAST_NONDET~5; {72076#true} is VALID [2022-04-08 15:13:24,921 INFO L290 TraceCheckUtils]: 4: Hoare triple {72076#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {72076#true} is VALID [2022-04-08 15:13:24,921 INFO L290 TraceCheckUtils]: 5: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-08 15:13:24,922 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {72076#true} {72076#true} #1176#return; {72076#true} is VALID [2022-04-08 15:13:24,922 INFO L290 TraceCheckUtils]: 7: Hoare triple {72076#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {72076#true} is VALID [2022-04-08 15:13:24,922 INFO L290 TraceCheckUtils]: 8: Hoare triple {72076#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {72076#true} is VALID [2022-04-08 15:13:24,922 INFO L272 TraceCheckUtils]: 9: Hoare triple {72076#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {72154#(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 15:13:24,922 INFO L290 TraceCheckUtils]: 10: Hoare triple {72154#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {72076#true} is VALID [2022-04-08 15:13:24,922 INFO L290 TraceCheckUtils]: 11: Hoare triple {72076#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {72076#true} is VALID [2022-04-08 15:13:24,922 INFO L290 TraceCheckUtils]: 12: Hoare triple {72076#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {72076#true} is VALID [2022-04-08 15:13:24,922 INFO L290 TraceCheckUtils]: 13: Hoare triple {72076#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {72076#true} is VALID [2022-04-08 15:13:24,922 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {72076#true} {72076#true} #1178#return; {72076#true} is VALID [2022-04-08 15:13:24,922 INFO L290 TraceCheckUtils]: 15: Hoare triple {72076#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {72076#true} is VALID [2022-04-08 15:13:24,923 INFO L272 TraceCheckUtils]: 16: Hoare triple {72076#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {72076#true} is VALID [2022-04-08 15:13:24,923 INFO L290 TraceCheckUtils]: 17: Hoare triple {72076#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; {72076#true} is VALID [2022-04-08 15:13:24,923 INFO L290 TraceCheckUtils]: 18: Hoare triple {72076#true} assume 0 == ~__BLAST_NONDET~2; {72076#true} is VALID [2022-04-08 15:13:24,923 INFO L290 TraceCheckUtils]: 19: Hoare triple {72076#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {72076#true} is VALID [2022-04-08 15:13:24,923 INFO L290 TraceCheckUtils]: 20: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-08 15:13:24,923 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {72076#true} {72076#true} #1180#return; {72076#true} is VALID [2022-04-08 15:13:24,923 INFO L290 TraceCheckUtils]: 22: Hoare triple {72076#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {72076#true} is VALID [2022-04-08 15:13:24,923 INFO L290 TraceCheckUtils]: 23: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-08 15:13:24,923 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {72076#true} {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} #1220#return; {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 15:13:24,935 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-08 15:13:24,936 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:24,941 INFO L290 TraceCheckUtils]: 0: Hoare triple {72175#(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; {72076#true} is VALID [2022-04-08 15:13:24,941 INFO L290 TraceCheckUtils]: 1: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-08 15:13:24,941 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {72076#true} {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} #1222#return; {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 15:13:24,941 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-08 15:13:24,950 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:24,956 INFO L290 TraceCheckUtils]: 0: Hoare triple {72154#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {72076#true} is VALID [2022-04-08 15:13:24,956 INFO L290 TraceCheckUtils]: 1: Hoare triple {72076#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {72076#true} is VALID [2022-04-08 15:13:24,956 INFO L290 TraceCheckUtils]: 2: Hoare triple {72076#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {72076#true} is VALID [2022-04-08 15:13:24,956 INFO L290 TraceCheckUtils]: 3: Hoare triple {72076#true} assume #t~loopctr221 % 18446744073709551616 < size % 18446744073709551616;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 8);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 8);#t~loopctr221 := 8 + #t~loopctr221; {72076#true} is VALID [2022-04-08 15:13:24,957 INFO L290 TraceCheckUtils]: 4: Hoare triple {72076#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {72076#true} is VALID [2022-04-08 15:13:24,957 INFO L290 TraceCheckUtils]: 5: Hoare triple {72076#true} assume #res.base == dest.base && #res.offset == dest.offset; {72076#true} is VALID [2022-04-08 15:13:24,957 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {72076#true} {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} #1186#return; {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 15:13:24,965 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 75 [2022-04-08 15:13:24,970 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:25,006 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 15:13:25,008 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:25,015 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:13:25,017 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:25,020 INFO L290 TraceCheckUtils]: 0: Hoare triple {72190#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {72076#true} is VALID [2022-04-08 15:13:25,021 INFO L290 TraceCheckUtils]: 1: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-08 15:13:25,021 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {72076#true} {72076#true} #1174#return; {72076#true} is VALID [2022-04-08 15:13:25,021 INFO L290 TraceCheckUtils]: 0: Hoare triple {72190#(= ~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; {72076#true} is VALID [2022-04-08 15:13:25,021 INFO L272 TraceCheckUtils]: 1: Hoare triple {72076#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {72190#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:13:25,021 INFO L290 TraceCheckUtils]: 2: Hoare triple {72190#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {72076#true} is VALID [2022-04-08 15:13:25,021 INFO L290 TraceCheckUtils]: 3: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-08 15:13:25,021 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {72076#true} {72076#true} #1174#return; {72076#true} is VALID [2022-04-08 15:13:25,022 INFO L290 TraceCheckUtils]: 5: Hoare triple {72076#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {72076#true} is VALID [2022-04-08 15:13:25,022 INFO L290 TraceCheckUtils]: 6: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-08 15:13:25,022 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {72076#true} {72076#true} #1210#return; {72076#true} is VALID [2022-04-08 15:13:25,030 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 15:13:25,031 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:25,044 INFO L290 TraceCheckUtils]: 0: Hoare triple {72194#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {72195#(= ~MPR1~0 ~s~0)} is VALID [2022-04-08 15:13:25,055 INFO L290 TraceCheckUtils]: 1: Hoare triple {72195#(= ~MPR1~0 ~s~0)} assume true; {72195#(= ~MPR1~0 ~s~0)} is VALID [2022-04-08 15:13:25,056 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {72195#(= ~MPR1~0 ~s~0)} {72076#true} #1212#return; {72188#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~s~0))} is VALID [2022-04-08 15:13:25,056 INFO L290 TraceCheckUtils]: 0: Hoare triple {72176#(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; {72076#true} is VALID [2022-04-08 15:13:25,056 INFO L290 TraceCheckUtils]: 1: Hoare triple {72076#true} assume 0 != ~compRegistered~0; {72076#true} is VALID [2022-04-08 15:13:25,057 INFO L272 TraceCheckUtils]: 2: Hoare triple {72076#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {72190#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:13:25,057 INFO L290 TraceCheckUtils]: 3: Hoare triple {72190#(= ~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; {72076#true} is VALID [2022-04-08 15:13:25,057 INFO L272 TraceCheckUtils]: 4: Hoare triple {72076#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {72190#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:13:25,057 INFO L290 TraceCheckUtils]: 5: Hoare triple {72190#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {72076#true} is VALID [2022-04-08 15:13:25,058 INFO L290 TraceCheckUtils]: 6: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-08 15:13:25,058 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {72076#true} {72076#true} #1174#return; {72076#true} is VALID [2022-04-08 15:13:25,058 INFO L290 TraceCheckUtils]: 8: Hoare triple {72076#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {72076#true} is VALID [2022-04-08 15:13:25,058 INFO L290 TraceCheckUtils]: 9: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-08 15:13:25,058 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {72076#true} {72076#true} #1210#return; {72076#true} is VALID [2022-04-08 15:13:25,058 INFO L290 TraceCheckUtils]: 11: Hoare triple {72076#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {72076#true} is VALID [2022-04-08 15:13:25,058 INFO L290 TraceCheckUtils]: 12: Hoare triple {72076#true} assume -1073741802 == ~compRetStatus~0; {72076#true} is VALID [2022-04-08 15:13:25,058 INFO L272 TraceCheckUtils]: 13: Hoare triple {72076#true} call stubMoreProcessingRequired(); {72194#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:13:25,058 INFO L290 TraceCheckUtils]: 14: Hoare triple {72194#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {72195#(= ~MPR1~0 ~s~0)} is VALID [2022-04-08 15:13:25,059 INFO L290 TraceCheckUtils]: 15: Hoare triple {72195#(= ~MPR1~0 ~s~0)} assume true; {72195#(= ~MPR1~0 ~s~0)} is VALID [2022-04-08 15:13:25,059 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {72195#(= ~MPR1~0 ~s~0)} {72076#true} #1212#return; {72188#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~s~0))} is VALID [2022-04-08 15:13:25,060 INFO L290 TraceCheckUtils]: 17: Hoare triple {72188#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~s~0))} assume 0 == ~__BLAST_NONDET~11; {72188#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~s~0))} is VALID [2022-04-08 15:13:25,060 INFO L290 TraceCheckUtils]: 18: Hoare triple {72188#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~s~0))} ~returnVal2~0 := 0; {72188#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~s~0))} is VALID [2022-04-08 15:13:25,061 INFO L290 TraceCheckUtils]: 19: Hoare triple {72188#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~s~0))} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {72189#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~NP~0))} is VALID [2022-04-08 15:13:25,061 INFO L290 TraceCheckUtils]: 20: Hoare triple {72189#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~NP~0))} #res := ~returnVal2~0; {72189#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~NP~0))} is VALID [2022-04-08 15:13:25,061 INFO L290 TraceCheckUtils]: 21: Hoare triple {72189#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~NP~0))} assume true; {72189#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~NP~0))} is VALID [2022-04-08 15:13:25,062 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {72189#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~NP~0))} {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} #1192#return; {72077#false} is VALID [2022-04-08 15:13:25,063 INFO L272 TraceCheckUtils]: 0: Hoare triple {72076#true} call ULTIMATE.init(); {72152#(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 15:13:25,063 INFO L290 TraceCheckUtils]: 1: Hoare triple {72152#(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; {72076#true} is VALID [2022-04-08 15:13:25,063 INFO L290 TraceCheckUtils]: 2: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-08 15:13:25,063 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {72076#true} {72076#true} #1270#return; {72076#true} is VALID [2022-04-08 15:13:25,064 INFO L272 TraceCheckUtils]: 4: Hoare triple {72076#true} call #t~ret213 := main(); {72076#true} is VALID [2022-04-08 15:13:25,064 INFO L290 TraceCheckUtils]: 5: Hoare triple {72076#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {72076#true} is VALID [2022-04-08 15:13:25,064 INFO L272 TraceCheckUtils]: 6: Hoare triple {72076#true} call _BLAST_init(); {72153#(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 15:13:25,065 INFO L290 TraceCheckUtils]: 7: Hoare triple {72153#(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; {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 15:13:25,065 INFO L290 TraceCheckUtils]: 8: Hoare triple {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} assume true; {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 15:13:25,066 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} {72076#true} #1216#return; {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 15:13:25,067 INFO L272 TraceCheckUtils]: 10: Hoare triple {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {72154#(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 15:13:25,067 INFO L290 TraceCheckUtils]: 11: Hoare triple {72154#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {72076#true} is VALID [2022-04-08 15:13:25,067 INFO L272 TraceCheckUtils]: 12: Hoare triple {72076#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {72076#true} is VALID [2022-04-08 15:13:25,067 INFO L290 TraceCheckUtils]: 13: Hoare triple {72076#true} ~cond := #in~cond; {72076#true} is VALID [2022-04-08 15:13:25,067 INFO L290 TraceCheckUtils]: 14: Hoare triple {72076#true} assume !(0 == ~cond); {72076#true} is VALID [2022-04-08 15:13:25,068 INFO L290 TraceCheckUtils]: 15: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-08 15:13:25,068 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {72076#true} {72076#true} #1254#return; {72076#true} is VALID [2022-04-08 15:13:25,068 INFO L290 TraceCheckUtils]: 17: Hoare triple {72076#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {72076#true} is VALID [2022-04-08 15:13:25,068 INFO L290 TraceCheckUtils]: 18: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-08 15:13:25,068 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {72076#true} {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} #1218#return; {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 15:13:25,069 INFO L290 TraceCheckUtils]: 20: Hoare triple {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 15:13:25,069 INFO L290 TraceCheckUtils]: 21: Hoare triple {72084#(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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 15:13:25,070 INFO L290 TraceCheckUtils]: 22: Hoare triple {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 15:13:25,071 INFO L272 TraceCheckUtils]: 23: Hoare triple {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {72159#(and (= |old(#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 15:13:25,071 INFO L290 TraceCheckUtils]: 24: Hoare triple {72159#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {72076#true} is VALID [2022-04-08 15:13:25,072 INFO L272 TraceCheckUtils]: 25: Hoare triple {72076#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {72159#(and (= |old(#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 15:13:25,072 INFO L290 TraceCheckUtils]: 26: Hoare triple {72159#(and (= |old(#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; {72076#true} is VALID [2022-04-08 15:13:25,072 INFO L290 TraceCheckUtils]: 27: Hoare triple {72076#true} assume 0 == ~__BLAST_NONDET~5; {72076#true} is VALID [2022-04-08 15:13:25,072 INFO L290 TraceCheckUtils]: 28: Hoare triple {72076#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {72076#true} is VALID [2022-04-08 15:13:25,072 INFO L290 TraceCheckUtils]: 29: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-08 15:13:25,072 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {72076#true} {72076#true} #1176#return; {72076#true} is VALID [2022-04-08 15:13:25,072 INFO L290 TraceCheckUtils]: 31: Hoare triple {72076#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {72076#true} is VALID [2022-04-08 15:13:25,072 INFO L290 TraceCheckUtils]: 32: Hoare triple {72076#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {72076#true} is VALID [2022-04-08 15:13:25,073 INFO L272 TraceCheckUtils]: 33: Hoare triple {72076#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {72154#(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 15:13:25,073 INFO L290 TraceCheckUtils]: 34: Hoare triple {72154#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {72076#true} is VALID [2022-04-08 15:13:25,073 INFO L290 TraceCheckUtils]: 35: Hoare triple {72076#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {72076#true} is VALID [2022-04-08 15:13:25,073 INFO L290 TraceCheckUtils]: 36: Hoare triple {72076#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {72076#true} is VALID [2022-04-08 15:13:25,073 INFO L290 TraceCheckUtils]: 37: Hoare triple {72076#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {72076#true} is VALID [2022-04-08 15:13:25,073 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {72076#true} {72076#true} #1178#return; {72076#true} is VALID [2022-04-08 15:13:25,073 INFO L290 TraceCheckUtils]: 39: Hoare triple {72076#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {72076#true} is VALID [2022-04-08 15:13:25,073 INFO L272 TraceCheckUtils]: 40: Hoare triple {72076#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {72076#true} is VALID [2022-04-08 15:13:25,073 INFO L290 TraceCheckUtils]: 41: Hoare triple {72076#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; {72076#true} is VALID [2022-04-08 15:13:25,073 INFO L290 TraceCheckUtils]: 42: Hoare triple {72076#true} assume 0 == ~__BLAST_NONDET~2; {72076#true} is VALID [2022-04-08 15:13:25,073 INFO L290 TraceCheckUtils]: 43: Hoare triple {72076#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {72076#true} is VALID [2022-04-08 15:13:25,073 INFO L290 TraceCheckUtils]: 44: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-08 15:13:25,073 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {72076#true} {72076#true} #1180#return; {72076#true} is VALID [2022-04-08 15:13:25,074 INFO L290 TraceCheckUtils]: 46: Hoare triple {72076#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {72076#true} is VALID [2022-04-08 15:13:25,074 INFO L290 TraceCheckUtils]: 47: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-08 15:13:25,074 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {72076#true} {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} #1220#return; {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 15:13:25,075 INFO L290 TraceCheckUtils]: 49: Hoare triple {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 15:13:25,075 INFO L272 TraceCheckUtils]: 50: Hoare triple {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} call stub_driver_init(); {72175#(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 15:13:25,075 INFO L290 TraceCheckUtils]: 51: Hoare triple {72175#(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; {72076#true} is VALID [2022-04-08 15:13:25,075 INFO L290 TraceCheckUtils]: 52: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-08 15:13:25,076 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {72076#true} {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} #1222#return; {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 15:13:25,076 INFO L290 TraceCheckUtils]: 54: Hoare triple {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} assume !!(~status~5 >= 0); {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 15:13:25,076 INFO L290 TraceCheckUtils]: 55: Hoare triple {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} assume !(0 == ~__BLAST_NONDET~0); {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 15:13:25,077 INFO L290 TraceCheckUtils]: 56: Hoare triple {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} assume !(1 == ~__BLAST_NONDET~0); {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 15:13:25,077 INFO L290 TraceCheckUtils]: 57: Hoare triple {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} assume !(2 == ~__BLAST_NONDET~0); {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 15:13:25,077 INFO L290 TraceCheckUtils]: 58: Hoare triple {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} assume 3 == ~__BLAST_NONDET~0; {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 15:13:25,078 INFO L272 TraceCheckUtils]: 59: Hoare triple {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 15:13:25,078 INFO L290 TraceCheckUtils]: 60: Hoare triple {72084#(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(28);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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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); {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 15:13:25,079 INFO L290 TraceCheckUtils]: 61: Hoare triple {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} assume 0 == #t~mem81 % 256;havoc #t~mem81; {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 15:13:25,079 INFO L290 TraceCheckUtils]: 62: Hoare triple {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 180 + ~Irp.offset, 8);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 68;havoc #t~mem103.base, #t~mem103.offset; {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 15:13:25,080 INFO L272 TraceCheckUtils]: 63: Hoare triple {72084#(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, 52); {72154#(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 15:13:25,080 INFO L290 TraceCheckUtils]: 64: Hoare triple {72154#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {72076#true} is VALID [2022-04-08 15:13:25,080 INFO L290 TraceCheckUtils]: 65: Hoare triple {72076#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {72076#true} is VALID [2022-04-08 15:13:25,080 INFO L290 TraceCheckUtils]: 66: Hoare triple {72076#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {72076#true} is VALID [2022-04-08 15:13:25,080 INFO L290 TraceCheckUtils]: 67: Hoare triple {72076#true} assume #t~loopctr221 % 18446744073709551616 < size % 18446744073709551616;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 8);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 8);#t~loopctr221 := 8 + #t~loopctr221; {72076#true} is VALID [2022-04-08 15:13:25,080 INFO L290 TraceCheckUtils]: 68: Hoare triple {72076#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {72076#true} is VALID [2022-04-08 15:13:25,080 INFO L290 TraceCheckUtils]: 69: Hoare triple {72076#true} assume #res.base == dest.base && #res.offset == dest.offset; {72076#true} is VALID [2022-04-08 15:13:25,081 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {72076#true} {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} #1186#return; {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 15:13:25,081 INFO L290 TraceCheckUtils]: 71: Hoare triple {72084#(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); {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 15:13:25,082 INFO L290 TraceCheckUtils]: 72: Hoare triple {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} assume !(~s~0 != ~NP~0); {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 15:13:25,082 INFO L290 TraceCheckUtils]: 73: Hoare triple {72084#(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; {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 15:13:25,083 INFO L290 TraceCheckUtils]: 74: Hoare triple {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 68;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 52 + ~irpSp___0~0.offset, 8);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 60 + ~irpSp___0~0.offset, 8);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, 16 + ~devExt~3.offset, 8); {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} is VALID [2022-04-08 15:13:25,084 INFO L272 TraceCheckUtils]: 75: Hoare triple {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {72176#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:13:25,084 INFO L290 TraceCheckUtils]: 76: Hoare triple {72176#(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; {72076#true} is VALID [2022-04-08 15:13:25,084 INFO L290 TraceCheckUtils]: 77: Hoare triple {72076#true} assume 0 != ~compRegistered~0; {72076#true} is VALID [2022-04-08 15:13:25,085 INFO L272 TraceCheckUtils]: 78: Hoare triple {72076#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {72190#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:13:25,085 INFO L290 TraceCheckUtils]: 79: Hoare triple {72190#(= ~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; {72076#true} is VALID [2022-04-08 15:13:25,085 INFO L272 TraceCheckUtils]: 80: Hoare triple {72076#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {72190#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:13:25,085 INFO L290 TraceCheckUtils]: 81: Hoare triple {72190#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {72076#true} is VALID [2022-04-08 15:13:25,085 INFO L290 TraceCheckUtils]: 82: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-08 15:13:25,085 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {72076#true} {72076#true} #1174#return; {72076#true} is VALID [2022-04-08 15:13:25,086 INFO L290 TraceCheckUtils]: 84: Hoare triple {72076#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {72076#true} is VALID [2022-04-08 15:13:25,086 INFO L290 TraceCheckUtils]: 85: Hoare triple {72076#true} assume true; {72076#true} is VALID [2022-04-08 15:13:25,086 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {72076#true} {72076#true} #1210#return; {72076#true} is VALID [2022-04-08 15:13:25,086 INFO L290 TraceCheckUtils]: 87: Hoare triple {72076#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {72076#true} is VALID [2022-04-08 15:13:25,086 INFO L290 TraceCheckUtils]: 88: Hoare triple {72076#true} assume -1073741802 == ~compRetStatus~0; {72076#true} is VALID [2022-04-08 15:13:25,086 INFO L272 TraceCheckUtils]: 89: Hoare triple {72076#true} call stubMoreProcessingRequired(); {72194#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:13:25,086 INFO L290 TraceCheckUtils]: 90: Hoare triple {72194#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {72195#(= ~MPR1~0 ~s~0)} is VALID [2022-04-08 15:13:25,087 INFO L290 TraceCheckUtils]: 91: Hoare triple {72195#(= ~MPR1~0 ~s~0)} assume true; {72195#(= ~MPR1~0 ~s~0)} is VALID [2022-04-08 15:13:25,087 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {72195#(= ~MPR1~0 ~s~0)} {72076#true} #1212#return; {72188#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~s~0))} is VALID [2022-04-08 15:13:25,087 INFO L290 TraceCheckUtils]: 93: Hoare triple {72188#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~s~0))} assume 0 == ~__BLAST_NONDET~11; {72188#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~s~0))} is VALID [2022-04-08 15:13:25,088 INFO L290 TraceCheckUtils]: 94: Hoare triple {72188#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~s~0))} ~returnVal2~0 := 0; {72188#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~s~0))} is VALID [2022-04-08 15:13:25,088 INFO L290 TraceCheckUtils]: 95: Hoare triple {72188#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~s~0))} assume ~s~0 == ~NP~0;~s~0 := ~IPC~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {72189#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~NP~0))} is VALID [2022-04-08 15:13:25,088 INFO L290 TraceCheckUtils]: 96: Hoare triple {72189#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~NP~0))} #res := ~returnVal2~0; {72189#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~NP~0))} is VALID [2022-04-08 15:13:25,088 INFO L290 TraceCheckUtils]: 97: Hoare triple {72189#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~NP~0))} assume true; {72189#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~NP~0))} is VALID [2022-04-08 15:13:25,089 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {72189#(or (= (+ (- 1) ~MPR1~0) 0) (= ~MPR1~0 ~NP~0))} {72084#(and (<= 5 ~MPR1~0) (= ~NP~0 1))} #1192#return; {72077#false} is VALID [2022-04-08 15:13:25,089 INFO L290 TraceCheckUtils]: 99: Hoare triple {72077#false} assume -9223372036854775808 <= #t~ret109 && #t~ret109 <= 9223372036854775807;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {72077#false} is VALID [2022-04-08 15:13:25,089 INFO L290 TraceCheckUtils]: 100: Hoare triple {72077#false} assume !(259 == ~status~3); {72077#false} is VALID [2022-04-08 15:13:25,089 INFO L290 TraceCheckUtils]: 101: Hoare triple {72077#false} assume ~status~3 >= 0; {72077#false} is VALID [2022-04-08 15:13:25,089 INFO L290 TraceCheckUtils]: 102: Hoare triple {72077#false} assume !(~myStatus~0 >= 0); {72077#false} is VALID [2022-04-08 15:13:25,089 INFO L290 TraceCheckUtils]: 103: Hoare triple {72077#false} call write~int(~status~3, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~3 % 4294967296 <= 2147483647 then ~status~3 % 4294967296 else ~status~3 % 4294967296 - 4294967296);call write~int(0, ~Irp.base, 52 + ~Irp.offset, 8); {72077#false} is VALID [2022-04-08 15:13:25,090 INFO L272 TraceCheckUtils]: 104: Hoare triple {72077#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {72077#false} is VALID [2022-04-08 15:13:25,090 INFO L290 TraceCheckUtils]: 105: Hoare triple {72077#false} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {72077#false} is VALID [2022-04-08 15:13:25,090 INFO L290 TraceCheckUtils]: 106: Hoare triple {72077#false} assume !(~s~0 == ~NP~0); {72077#false} is VALID [2022-04-08 15:13:25,090 INFO L272 TraceCheckUtils]: 107: Hoare triple {72077#false} call errorFn(); {72077#false} is VALID [2022-04-08 15:13:25,090 INFO L290 TraceCheckUtils]: 108: Hoare triple {72077#false} assume !false; {72077#false} is VALID [2022-04-08 15:13:25,090 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-04-08 15:13:25,090 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:13:25,090 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [49935280] [2022-04-08 15:13:25,090 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [49935280] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:13:25,090 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:13:25,090 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 15:13:25,090 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:13:25,091 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [829758408] [2022-04-08 15:13:25,091 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [829758408] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:13:25,091 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:13:25,091 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 15:13:25,091 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1967673071] [2022-04-08 15:13:25,091 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:13:25,091 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.5) internal successors, (77), 6 states have internal predecessors, (77), 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 109 [2022-04-08 15:13:25,091 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:13:25,091 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), 6 states have internal predecessors, (77), 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 15:13:25,171 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 15:13:25,172 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 15:13:25,172 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:13:25,172 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 15:13:25,172 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-08 15:13:25,172 INFO L87 Difference]: Start difference. First operand 329 states and 385 transitions. Second operand has 14 states, 14 states have (on average 5.5) internal successors, (77), 6 states have internal predecessors, (77), 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 15:13:27,375 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 15:13:33,048 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:13:33,049 INFO L93 Difference]: Finished difference Result 453 states and 540 transitions. [2022-04-08 15:13:33,049 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-08 15:13:33,049 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.5) internal successors, (77), 6 states have internal predecessors, (77), 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 109 [2022-04-08 15:13:33,049 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:13:33,049 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.5) internal successors, (77), 6 states have internal predecessors, (77), 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 15:13:33,050 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 238 transitions. [2022-04-08 15:13:33,051 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.5) internal successors, (77), 6 states have internal predecessors, (77), 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 15:13:33,052 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 238 transitions. [2022-04-08 15:13:33,052 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 238 transitions. [2022-04-08 15:13:33,300 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 238 edges. 238 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 15:13:33,306 INFO L225 Difference]: With dead ends: 453 [2022-04-08 15:13:33,306 INFO L226 Difference]: Without dead ends: 357 [2022-04-08 15:13:33,306 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 50 GetRequests, 24 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 101 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=164, Invalid=538, Unknown=0, NotChecked=0, Total=702 [2022-04-08 15:13:33,307 INFO L913 BasicCegarLoop]: 132 mSDtfsCounter, 309 mSDsluCounter, 224 mSDsCounter, 0 mSdLazyCounter, 622 mSolverCounterSat, 151 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 312 SdHoareTripleChecker+Valid, 356 SdHoareTripleChecker+Invalid, 774 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 151 IncrementalHoareTripleChecker+Valid, 622 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.0s IncrementalHoareTripleChecker+Time [2022-04-08 15:13:33,307 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [312 Valid, 356 Invalid, 774 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [151 Valid, 622 Invalid, 1 Unknown, 0 Unchecked, 4.0s Time] [2022-04-08 15:13:33,307 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 357 states. [2022-04-08 15:13:33,886 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 357 to 317. [2022-04-08 15:13:33,886 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:13:33,887 INFO L82 GeneralOperation]: Start isEquivalent. First operand 357 states. Second operand has 317 states, 244 states have (on average 1.209016393442623) internal successors, (295), 248 states have internal predecessors, (295), 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 15:13:33,887 INFO L74 IsIncluded]: Start isIncluded. First operand 357 states. Second operand has 317 states, 244 states have (on average 1.209016393442623) internal successors, (295), 248 states have internal predecessors, (295), 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 15:13:33,887 INFO L87 Difference]: Start difference. First operand 357 states. Second operand has 317 states, 244 states have (on average 1.209016393442623) internal successors, (295), 248 states have internal predecessors, (295), 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 15:13:33,892 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:13:33,892 INFO L93 Difference]: Finished difference Result 357 states and 417 transitions. [2022-04-08 15:13:33,892 INFO L276 IsEmpty]: Start isEmpty. Operand 357 states and 417 transitions. [2022-04-08 15:13:33,892 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:13:33,892 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:13:33,893 INFO L74 IsIncluded]: Start isIncluded. First operand has 317 states, 244 states have (on average 1.209016393442623) internal successors, (295), 248 states have internal predecessors, (295), 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 357 states. [2022-04-08 15:13:33,893 INFO L87 Difference]: Start difference. First operand has 317 states, 244 states have (on average 1.209016393442623) internal successors, (295), 248 states have internal predecessors, (295), 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 357 states. [2022-04-08 15:13:33,898 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:13:33,898 INFO L93 Difference]: Finished difference Result 357 states and 417 transitions. [2022-04-08 15:13:33,898 INFO L276 IsEmpty]: Start isEmpty. Operand 357 states and 417 transitions. [2022-04-08 15:13:33,899 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:13:33,899 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:13:33,899 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:13:33,899 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:13:33,899 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 317 states, 244 states have (on average 1.209016393442623) internal successors, (295), 248 states have internal predecessors, (295), 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 15:13:33,904 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 317 states to 317 states and 369 transitions. [2022-04-08 15:13:33,904 INFO L78 Accepts]: Start accepts. Automaton has 317 states and 369 transitions. Word has length 109 [2022-04-08 15:13:33,904 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:13:33,904 INFO L478 AbstractCegarLoop]: Abstraction has 317 states and 369 transitions. [2022-04-08 15:13:33,905 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 5.5) internal successors, (77), 6 states have internal predecessors, (77), 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 15:13:33,905 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 317 states and 369 transitions. [2022-04-08 15:13:34,797 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 369 edges. 369 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 15:13:34,798 INFO L276 IsEmpty]: Start isEmpty. Operand 317 states and 369 transitions. [2022-04-08 15:13:34,798 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 112 [2022-04-08 15:13:34,798 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:13:34,798 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] [2022-04-08 15:13:34,799 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable29 [2022-04-08 15:13:34,799 INFO L403 AbstractCegarLoop]: === Iteration 31 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:13:34,799 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:13:34,799 INFO L85 PathProgramCache]: Analyzing trace with hash 189907132, now seen corresponding path program 1 times [2022-04-08 15:13:34,799 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:13:34,799 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1657246970] [2022-04-08 15:13:34,801 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 15:13:34,801 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 15:13:34,801 INFO L85 PathProgramCache]: Analyzing trace with hash 189907132, now seen corresponding path program 2 times [2022-04-08 15:13:34,801 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:13:34,801 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [324653778] [2022-04-08 15:13:34,801 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:13:34,801 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:13:34,893 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:34,994 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:13:34,996 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:35,000 INFO L290 TraceCheckUtils]: 0: Hoare triple {74561#(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; {74482#true} is VALID [2022-04-08 15:13:35,001 INFO L290 TraceCheckUtils]: 1: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-08 15:13:35,001 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {74482#true} {74482#true} #1270#return; {74482#true} is VALID [2022-04-08 15:13:35,022 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:13:35,023 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:35,027 INFO L290 TraceCheckUtils]: 0: Hoare triple {74562#(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; {74482#true} is VALID [2022-04-08 15:13:35,027 INFO L290 TraceCheckUtils]: 1: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-08 15:13:35,027 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {74482#true} {74482#true} #1216#return; {74482#true} is VALID [2022-04-08 15:13:35,034 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:13:35,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:35,045 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:13:35,046 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:35,049 INFO L290 TraceCheckUtils]: 0: Hoare triple {74482#true} ~cond := #in~cond; {74482#true} is VALID [2022-04-08 15:13:35,049 INFO L290 TraceCheckUtils]: 1: Hoare triple {74482#true} assume !(0 == ~cond); {74482#true} is VALID [2022-04-08 15:13:35,049 INFO L290 TraceCheckUtils]: 2: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-08 15:13:35,050 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {74482#true} {74482#true} #1254#return; {74482#true} is VALID [2022-04-08 15:13:35,050 INFO L290 TraceCheckUtils]: 0: Hoare triple {74563#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {74482#true} is VALID [2022-04-08 15:13:35,050 INFO L272 TraceCheckUtils]: 1: Hoare triple {74482#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {74482#true} is VALID [2022-04-08 15:13:35,050 INFO L290 TraceCheckUtils]: 2: Hoare triple {74482#true} ~cond := #in~cond; {74482#true} is VALID [2022-04-08 15:13:35,050 INFO L290 TraceCheckUtils]: 3: Hoare triple {74482#true} assume !(0 == ~cond); {74482#true} is VALID [2022-04-08 15:13:35,050 INFO L290 TraceCheckUtils]: 4: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-08 15:13:35,050 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {74482#true} {74482#true} #1254#return; {74482#true} is VALID [2022-04-08 15:13:35,050 INFO L290 TraceCheckUtils]: 6: Hoare triple {74482#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {74482#true} is VALID [2022-04-08 15:13:35,050 INFO L290 TraceCheckUtils]: 7: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-08 15:13:35,050 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {74482#true} {74482#true} #1218#return; {74482#true} is VALID [2022-04-08 15:13:35,060 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:13:35,073 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:35,083 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:13:35,086 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:35,092 INFO L290 TraceCheckUtils]: 0: Hoare triple {74568#(and (= |old(#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; {74482#true} is VALID [2022-04-08 15:13:35,092 INFO L290 TraceCheckUtils]: 1: Hoare triple {74482#true} assume 0 == ~__BLAST_NONDET~5; {74482#true} is VALID [2022-04-08 15:13:35,092 INFO L290 TraceCheckUtils]: 2: Hoare triple {74482#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {74482#true} is VALID [2022-04-08 15:13:35,092 INFO L290 TraceCheckUtils]: 3: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-08 15:13:35,092 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {74482#true} {74482#true} #1176#return; {74482#true} is VALID [2022-04-08 15:13:35,092 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 15:13:35,094 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:35,108 INFO L290 TraceCheckUtils]: 0: Hoare triple {74563#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {74482#true} is VALID [2022-04-08 15:13:35,108 INFO L290 TraceCheckUtils]: 1: Hoare triple {74482#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {74482#true} is VALID [2022-04-08 15:13:35,108 INFO L290 TraceCheckUtils]: 2: Hoare triple {74482#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {74482#true} is VALID [2022-04-08 15:13:35,108 INFO L290 TraceCheckUtils]: 3: Hoare triple {74482#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {74482#true} is VALID [2022-04-08 15:13:35,108 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {74482#true} {74482#true} #1178#return; {74482#true} is VALID [2022-04-08 15:13:35,108 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-08 15:13:35,109 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:35,114 INFO L290 TraceCheckUtils]: 0: Hoare triple {74482#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; {74482#true} is VALID [2022-04-08 15:13:35,114 INFO L290 TraceCheckUtils]: 1: Hoare triple {74482#true} assume 0 == ~__BLAST_NONDET~2; {74482#true} is VALID [2022-04-08 15:13:35,114 INFO L290 TraceCheckUtils]: 2: Hoare triple {74482#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {74482#true} is VALID [2022-04-08 15:13:35,114 INFO L290 TraceCheckUtils]: 3: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-08 15:13:35,114 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {74482#true} {74482#true} #1180#return; {74482#true} is VALID [2022-04-08 15:13:35,114 INFO L290 TraceCheckUtils]: 0: Hoare triple {74568#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {74482#true} is VALID [2022-04-08 15:13:35,115 INFO L272 TraceCheckUtils]: 1: Hoare triple {74482#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {74568#(and (= |old(#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 15:13:35,115 INFO L290 TraceCheckUtils]: 2: Hoare triple {74568#(and (= |old(#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; {74482#true} is VALID [2022-04-08 15:13:35,115 INFO L290 TraceCheckUtils]: 3: Hoare triple {74482#true} assume 0 == ~__BLAST_NONDET~5; {74482#true} is VALID [2022-04-08 15:13:35,115 INFO L290 TraceCheckUtils]: 4: Hoare triple {74482#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {74482#true} is VALID [2022-04-08 15:13:35,116 INFO L290 TraceCheckUtils]: 5: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-08 15:13:35,116 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {74482#true} {74482#true} #1176#return; {74482#true} is VALID [2022-04-08 15:13:35,116 INFO L290 TraceCheckUtils]: 7: Hoare triple {74482#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {74482#true} is VALID [2022-04-08 15:13:35,116 INFO L290 TraceCheckUtils]: 8: Hoare triple {74482#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {74482#true} is VALID [2022-04-08 15:13:35,116 INFO L272 TraceCheckUtils]: 9: Hoare triple {74482#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {74563#(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 15:13:35,116 INFO L290 TraceCheckUtils]: 10: Hoare triple {74563#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {74482#true} is VALID [2022-04-08 15:13:35,116 INFO L290 TraceCheckUtils]: 11: Hoare triple {74482#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {74482#true} is VALID [2022-04-08 15:13:35,116 INFO L290 TraceCheckUtils]: 12: Hoare triple {74482#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {74482#true} is VALID [2022-04-08 15:13:35,117 INFO L290 TraceCheckUtils]: 13: Hoare triple {74482#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {74482#true} is VALID [2022-04-08 15:13:35,117 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {74482#true} {74482#true} #1178#return; {74482#true} is VALID [2022-04-08 15:13:35,117 INFO L290 TraceCheckUtils]: 15: Hoare triple {74482#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {74482#true} is VALID [2022-04-08 15:13:35,117 INFO L272 TraceCheckUtils]: 16: Hoare triple {74482#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {74482#true} is VALID [2022-04-08 15:13:35,117 INFO L290 TraceCheckUtils]: 17: Hoare triple {74482#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; {74482#true} is VALID [2022-04-08 15:13:35,117 INFO L290 TraceCheckUtils]: 18: Hoare triple {74482#true} assume 0 == ~__BLAST_NONDET~2; {74482#true} is VALID [2022-04-08 15:13:35,117 INFO L290 TraceCheckUtils]: 19: Hoare triple {74482#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {74482#true} is VALID [2022-04-08 15:13:35,117 INFO L290 TraceCheckUtils]: 20: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-08 15:13:35,117 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {74482#true} {74482#true} #1180#return; {74482#true} is VALID [2022-04-08 15:13:35,117 INFO L290 TraceCheckUtils]: 22: Hoare triple {74482#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {74482#true} is VALID [2022-04-08 15:13:35,117 INFO L290 TraceCheckUtils]: 23: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-08 15:13:35,117 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {74482#true} {74482#true} #1220#return; {74482#true} is VALID [2022-04-08 15:13:35,129 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-08 15:13:35,130 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:35,134 INFO L290 TraceCheckUtils]: 0: Hoare triple {74584#(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; {74482#true} is VALID [2022-04-08 15:13:35,134 INFO L290 TraceCheckUtils]: 1: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-08 15:13:35,135 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {74482#true} {74482#true} #1222#return; {74482#true} is VALID [2022-04-08 15:13:35,135 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-08 15:13:35,140 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:35,146 INFO L290 TraceCheckUtils]: 0: Hoare triple {74563#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {74482#true} is VALID [2022-04-08 15:13:35,146 INFO L290 TraceCheckUtils]: 1: Hoare triple {74482#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {74482#true} is VALID [2022-04-08 15:13:35,146 INFO L290 TraceCheckUtils]: 2: Hoare triple {74482#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {74482#true} is VALID [2022-04-08 15:13:35,146 INFO L290 TraceCheckUtils]: 3: Hoare triple {74482#true} assume #t~loopctr221 % 18446744073709551616 < size % 18446744073709551616;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 8);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 8);#t~loopctr221 := 8 + #t~loopctr221; {74482#true} is VALID [2022-04-08 15:13:35,146 INFO L290 TraceCheckUtils]: 4: Hoare triple {74482#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {74482#true} is VALID [2022-04-08 15:13:35,146 INFO L290 TraceCheckUtils]: 5: Hoare triple {74482#true} assume #res.base == dest.base && #res.offset == dest.offset; {74482#true} is VALID [2022-04-08 15:13:35,146 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {74482#true} {74482#true} #1186#return; {74482#true} is VALID [2022-04-08 15:13:35,154 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 75 [2022-04-08 15:13:35,158 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:35,170 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 15:13:35,171 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:35,176 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:13:35,177 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:35,181 INFO L290 TraceCheckUtils]: 0: Hoare triple {74597#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {74482#true} is VALID [2022-04-08 15:13:35,181 INFO L290 TraceCheckUtils]: 1: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-08 15:13:35,181 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {74482#true} {74482#true} #1174#return; {74482#true} is VALID [2022-04-08 15:13:35,181 INFO L290 TraceCheckUtils]: 0: Hoare triple {74597#(= ~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; {74482#true} is VALID [2022-04-08 15:13:35,182 INFO L272 TraceCheckUtils]: 1: Hoare triple {74482#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {74597#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:13:35,182 INFO L290 TraceCheckUtils]: 2: Hoare triple {74597#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {74482#true} is VALID [2022-04-08 15:13:35,182 INFO L290 TraceCheckUtils]: 3: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-08 15:13:35,182 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {74482#true} {74482#true} #1174#return; {74482#true} is VALID [2022-04-08 15:13:35,182 INFO L290 TraceCheckUtils]: 5: Hoare triple {74482#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {74482#true} is VALID [2022-04-08 15:13:35,182 INFO L290 TraceCheckUtils]: 6: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-08 15:13:35,182 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {74482#true} {74482#true} #1210#return; {74482#true} is VALID [2022-04-08 15:13:35,188 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 15:13:35,189 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:35,193 INFO L290 TraceCheckUtils]: 0: Hoare triple {74601#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {74482#true} is VALID [2022-04-08 15:13:35,193 INFO L290 TraceCheckUtils]: 1: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-08 15:13:35,193 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {74482#true} {74482#true} #1212#return; {74482#true} is VALID [2022-04-08 15:13:35,193 INFO L290 TraceCheckUtils]: 0: Hoare triple {74585#(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; {74482#true} is VALID [2022-04-08 15:13:35,193 INFO L290 TraceCheckUtils]: 1: Hoare triple {74482#true} assume 0 != ~compRegistered~0; {74482#true} is VALID [2022-04-08 15:13:35,194 INFO L272 TraceCheckUtils]: 2: Hoare triple {74482#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {74597#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:13:35,194 INFO L290 TraceCheckUtils]: 3: Hoare triple {74597#(= ~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; {74482#true} is VALID [2022-04-08 15:13:35,195 INFO L272 TraceCheckUtils]: 4: Hoare triple {74482#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {74597#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:13:35,195 INFO L290 TraceCheckUtils]: 5: Hoare triple {74597#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {74482#true} is VALID [2022-04-08 15:13:35,195 INFO L290 TraceCheckUtils]: 6: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-08 15:13:35,195 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {74482#true} {74482#true} #1174#return; {74482#true} is VALID [2022-04-08 15:13:35,195 INFO L290 TraceCheckUtils]: 8: Hoare triple {74482#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {74482#true} is VALID [2022-04-08 15:13:35,195 INFO L290 TraceCheckUtils]: 9: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-08 15:13:35,195 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {74482#true} {74482#true} #1210#return; {74482#true} is VALID [2022-04-08 15:13:35,195 INFO L290 TraceCheckUtils]: 11: Hoare triple {74482#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {74482#true} is VALID [2022-04-08 15:13:35,195 INFO L290 TraceCheckUtils]: 12: Hoare triple {74482#true} assume -1073741802 == ~compRetStatus~0; {74482#true} is VALID [2022-04-08 15:13:35,195 INFO L272 TraceCheckUtils]: 13: Hoare triple {74482#true} call stubMoreProcessingRequired(); {74601#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:13:35,196 INFO L290 TraceCheckUtils]: 14: Hoare triple {74601#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {74482#true} is VALID [2022-04-08 15:13:35,196 INFO L290 TraceCheckUtils]: 15: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-08 15:13:35,196 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {74482#true} {74482#true} #1212#return; {74482#true} is VALID [2022-04-08 15:13:35,196 INFO L290 TraceCheckUtils]: 17: Hoare triple {74482#true} assume !(0 == ~__BLAST_NONDET~11); {74482#true} is VALID [2022-04-08 15:13:35,196 INFO L290 TraceCheckUtils]: 18: Hoare triple {74482#true} assume 1 == ~__BLAST_NONDET~11; {74482#true} is VALID [2022-04-08 15:13:35,196 INFO L290 TraceCheckUtils]: 19: Hoare triple {74482#true} ~returnVal2~0 := -1073741823; {74482#true} is VALID [2022-04-08 15:13:35,196 INFO L290 TraceCheckUtils]: 20: Hoare triple {74482#true} assume !(~s~0 == ~NP~0); {74482#true} is VALID [2022-04-08 15:13:35,196 INFO L290 TraceCheckUtils]: 21: Hoare triple {74482#true} assume ~s~0 == ~MPR1~0; {74482#true} is VALID [2022-04-08 15:13:35,196 INFO L290 TraceCheckUtils]: 22: Hoare triple {74482#true} assume !(259 == ~returnVal2~0);~s~0 := ~NP~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {74482#true} is VALID [2022-04-08 15:13:35,196 INFO L290 TraceCheckUtils]: 23: Hoare triple {74482#true} #res := ~returnVal2~0; {74482#true} is VALID [2022-04-08 15:13:35,196 INFO L290 TraceCheckUtils]: 24: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-08 15:13:35,196 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {74482#true} {74482#true} #1192#return; {74482#true} is VALID [2022-04-08 15:13:35,201 INFO L272 TraceCheckUtils]: 0: Hoare triple {74482#true} call ULTIMATE.init(); {74561#(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 15:13:35,201 INFO L290 TraceCheckUtils]: 1: Hoare triple {74561#(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; {74482#true} is VALID [2022-04-08 15:13:35,202 INFO L290 TraceCheckUtils]: 2: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-08 15:13:35,202 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {74482#true} {74482#true} #1270#return; {74482#true} is VALID [2022-04-08 15:13:35,202 INFO L272 TraceCheckUtils]: 4: Hoare triple {74482#true} call #t~ret213 := main(); {74482#true} is VALID [2022-04-08 15:13:35,202 INFO L290 TraceCheckUtils]: 5: Hoare triple {74482#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {74482#true} is VALID [2022-04-08 15:13:35,203 INFO L272 TraceCheckUtils]: 6: Hoare triple {74482#true} call _BLAST_init(); {74562#(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 15:13:35,203 INFO L290 TraceCheckUtils]: 7: Hoare triple {74562#(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; {74482#true} is VALID [2022-04-08 15:13:35,203 INFO L290 TraceCheckUtils]: 8: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-08 15:13:35,203 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {74482#true} {74482#true} #1216#return; {74482#true} is VALID [2022-04-08 15:13:35,204 INFO L272 TraceCheckUtils]: 10: Hoare triple {74482#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {74563#(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 15:13:35,204 INFO L290 TraceCheckUtils]: 11: Hoare triple {74563#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {74482#true} is VALID [2022-04-08 15:13:35,204 INFO L272 TraceCheckUtils]: 12: Hoare triple {74482#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {74482#true} is VALID [2022-04-08 15:13:35,204 INFO L290 TraceCheckUtils]: 13: Hoare triple {74482#true} ~cond := #in~cond; {74482#true} is VALID [2022-04-08 15:13:35,204 INFO L290 TraceCheckUtils]: 14: Hoare triple {74482#true} assume !(0 == ~cond); {74482#true} is VALID [2022-04-08 15:13:35,204 INFO L290 TraceCheckUtils]: 15: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-08 15:13:35,204 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {74482#true} {74482#true} #1254#return; {74482#true} is VALID [2022-04-08 15:13:35,204 INFO L290 TraceCheckUtils]: 17: Hoare triple {74482#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {74482#true} is VALID [2022-04-08 15:13:35,204 INFO L290 TraceCheckUtils]: 18: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-08 15:13:35,204 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {74482#true} {74482#true} #1218#return; {74482#true} is VALID [2022-04-08 15:13:35,204 INFO L290 TraceCheckUtils]: 20: Hoare triple {74482#true} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {74482#true} is VALID [2022-04-08 15:13:35,204 INFO L290 TraceCheckUtils]: 21: Hoare triple {74482#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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {74482#true} is VALID [2022-04-08 15:13:35,204 INFO L290 TraceCheckUtils]: 22: Hoare triple {74482#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {74482#true} is VALID [2022-04-08 15:13:35,205 INFO L272 TraceCheckUtils]: 23: Hoare triple {74482#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {74568#(and (= |old(#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 15:13:35,205 INFO L290 TraceCheckUtils]: 24: Hoare triple {74568#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {74482#true} is VALID [2022-04-08 15:13:35,206 INFO L272 TraceCheckUtils]: 25: Hoare triple {74482#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {74568#(and (= |old(#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 15:13:35,206 INFO L290 TraceCheckUtils]: 26: Hoare triple {74568#(and (= |old(#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; {74482#true} is VALID [2022-04-08 15:13:35,206 INFO L290 TraceCheckUtils]: 27: Hoare triple {74482#true} assume 0 == ~__BLAST_NONDET~5; {74482#true} is VALID [2022-04-08 15:13:35,206 INFO L290 TraceCheckUtils]: 28: Hoare triple {74482#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {74482#true} is VALID [2022-04-08 15:13:35,206 INFO L290 TraceCheckUtils]: 29: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-08 15:13:35,206 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {74482#true} {74482#true} #1176#return; {74482#true} is VALID [2022-04-08 15:13:35,206 INFO L290 TraceCheckUtils]: 31: Hoare triple {74482#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {74482#true} is VALID [2022-04-08 15:13:35,206 INFO L290 TraceCheckUtils]: 32: Hoare triple {74482#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {74482#true} is VALID [2022-04-08 15:13:35,207 INFO L272 TraceCheckUtils]: 33: Hoare triple {74482#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {74563#(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 15:13:35,207 INFO L290 TraceCheckUtils]: 34: Hoare triple {74563#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {74482#true} is VALID [2022-04-08 15:13:35,207 INFO L290 TraceCheckUtils]: 35: Hoare triple {74482#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {74482#true} is VALID [2022-04-08 15:13:35,207 INFO L290 TraceCheckUtils]: 36: Hoare triple {74482#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {74482#true} is VALID [2022-04-08 15:13:35,207 INFO L290 TraceCheckUtils]: 37: Hoare triple {74482#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {74482#true} is VALID [2022-04-08 15:13:35,207 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {74482#true} {74482#true} #1178#return; {74482#true} is VALID [2022-04-08 15:13:35,207 INFO L290 TraceCheckUtils]: 39: Hoare triple {74482#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {74482#true} is VALID [2022-04-08 15:13:35,207 INFO L272 TraceCheckUtils]: 40: Hoare triple {74482#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {74482#true} is VALID [2022-04-08 15:13:35,208 INFO L290 TraceCheckUtils]: 41: Hoare triple {74482#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; {74482#true} is VALID [2022-04-08 15:13:35,208 INFO L290 TraceCheckUtils]: 42: Hoare triple {74482#true} assume 0 == ~__BLAST_NONDET~2; {74482#true} is VALID [2022-04-08 15:13:35,208 INFO L290 TraceCheckUtils]: 43: Hoare triple {74482#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {74482#true} is VALID [2022-04-08 15:13:35,208 INFO L290 TraceCheckUtils]: 44: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-08 15:13:35,208 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {74482#true} {74482#true} #1180#return; {74482#true} is VALID [2022-04-08 15:13:35,208 INFO L290 TraceCheckUtils]: 46: Hoare triple {74482#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {74482#true} is VALID [2022-04-08 15:13:35,208 INFO L290 TraceCheckUtils]: 47: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-08 15:13:35,208 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {74482#true} {74482#true} #1220#return; {74482#true} is VALID [2022-04-08 15:13:35,208 INFO L290 TraceCheckUtils]: 49: Hoare triple {74482#true} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {74482#true} is VALID [2022-04-08 15:13:35,209 INFO L272 TraceCheckUtils]: 50: Hoare triple {74482#true} call stub_driver_init(); {74584#(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 15:13:35,209 INFO L290 TraceCheckUtils]: 51: Hoare triple {74584#(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; {74482#true} is VALID [2022-04-08 15:13:35,209 INFO L290 TraceCheckUtils]: 52: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-08 15:13:35,209 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {74482#true} {74482#true} #1222#return; {74482#true} is VALID [2022-04-08 15:13:35,209 INFO L290 TraceCheckUtils]: 54: Hoare triple {74482#true} assume !!(~status~5 >= 0); {74482#true} is VALID [2022-04-08 15:13:35,209 INFO L290 TraceCheckUtils]: 55: Hoare triple {74482#true} assume !(0 == ~__BLAST_NONDET~0); {74482#true} is VALID [2022-04-08 15:13:35,209 INFO L290 TraceCheckUtils]: 56: Hoare triple {74482#true} assume !(1 == ~__BLAST_NONDET~0); {74482#true} is VALID [2022-04-08 15:13:35,209 INFO L290 TraceCheckUtils]: 57: Hoare triple {74482#true} assume !(2 == ~__BLAST_NONDET~0); {74482#true} is VALID [2022-04-08 15:13:35,209 INFO L290 TraceCheckUtils]: 58: Hoare triple {74482#true} assume 3 == ~__BLAST_NONDET~0; {74482#true} is VALID [2022-04-08 15:13:35,209 INFO L272 TraceCheckUtils]: 59: Hoare triple {74482#true} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {74482#true} is VALID [2022-04-08 15:13:35,209 INFO L290 TraceCheckUtils]: 60: Hoare triple {74482#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(28);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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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); {74482#true} is VALID [2022-04-08 15:13:35,209 INFO L290 TraceCheckUtils]: 61: Hoare triple {74482#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {74482#true} is VALID [2022-04-08 15:13:35,209 INFO L290 TraceCheckUtils]: 62: Hoare triple {74482#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 180 + ~Irp.offset, 8);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 68;havoc #t~mem103.base, #t~mem103.offset; {74482#true} is VALID [2022-04-08 15:13:35,210 INFO L272 TraceCheckUtils]: 63: Hoare triple {74482#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, 52); {74563#(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 15:13:35,210 INFO L290 TraceCheckUtils]: 64: Hoare triple {74563#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {74482#true} is VALID [2022-04-08 15:13:35,210 INFO L290 TraceCheckUtils]: 65: Hoare triple {74482#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {74482#true} is VALID [2022-04-08 15:13:35,210 INFO L290 TraceCheckUtils]: 66: Hoare triple {74482#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {74482#true} is VALID [2022-04-08 15:13:35,210 INFO L290 TraceCheckUtils]: 67: Hoare triple {74482#true} assume #t~loopctr221 % 18446744073709551616 < size % 18446744073709551616;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 8);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 8);#t~loopctr221 := 8 + #t~loopctr221; {74482#true} is VALID [2022-04-08 15:13:35,210 INFO L290 TraceCheckUtils]: 68: Hoare triple {74482#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {74482#true} is VALID [2022-04-08 15:13:35,210 INFO L290 TraceCheckUtils]: 69: Hoare triple {74482#true} assume #res.base == dest.base && #res.offset == dest.offset; {74482#true} is VALID [2022-04-08 15:13:35,210 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {74482#true} {74482#true} #1186#return; {74482#true} is VALID [2022-04-08 15:13:35,210 INFO L290 TraceCheckUtils]: 71: Hoare triple {74482#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {74482#true} is VALID [2022-04-08 15:13:35,210 INFO L290 TraceCheckUtils]: 72: Hoare triple {74482#true} assume !(~s~0 != ~NP~0); {74482#true} is VALID [2022-04-08 15:13:35,210 INFO L290 TraceCheckUtils]: 73: Hoare triple {74482#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {74482#true} is VALID [2022-04-08 15:13:35,211 INFO L290 TraceCheckUtils]: 74: Hoare triple {74482#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 68;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 52 + ~irpSp___0~0.offset, 8);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 60 + ~irpSp___0~0.offset, 8);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, 16 + ~devExt~3.offset, 8); {74482#true} is VALID [2022-04-08 15:13:35,211 INFO L272 TraceCheckUtils]: 75: Hoare triple {74482#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {74585#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:13:35,211 INFO L290 TraceCheckUtils]: 76: Hoare triple {74585#(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; {74482#true} is VALID [2022-04-08 15:13:35,211 INFO L290 TraceCheckUtils]: 77: Hoare triple {74482#true} assume 0 != ~compRegistered~0; {74482#true} is VALID [2022-04-08 15:13:35,212 INFO L272 TraceCheckUtils]: 78: Hoare triple {74482#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {74597#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:13:35,212 INFO L290 TraceCheckUtils]: 79: Hoare triple {74597#(= ~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; {74482#true} is VALID [2022-04-08 15:13:35,213 INFO L272 TraceCheckUtils]: 80: Hoare triple {74482#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {74597#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:13:35,213 INFO L290 TraceCheckUtils]: 81: Hoare triple {74597#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {74482#true} is VALID [2022-04-08 15:13:35,213 INFO L290 TraceCheckUtils]: 82: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-08 15:13:35,213 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {74482#true} {74482#true} #1174#return; {74482#true} is VALID [2022-04-08 15:13:35,213 INFO L290 TraceCheckUtils]: 84: Hoare triple {74482#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {74482#true} is VALID [2022-04-08 15:13:35,213 INFO L290 TraceCheckUtils]: 85: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-08 15:13:35,213 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {74482#true} {74482#true} #1210#return; {74482#true} is VALID [2022-04-08 15:13:35,213 INFO L290 TraceCheckUtils]: 87: Hoare triple {74482#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {74482#true} is VALID [2022-04-08 15:13:35,213 INFO L290 TraceCheckUtils]: 88: Hoare triple {74482#true} assume -1073741802 == ~compRetStatus~0; {74482#true} is VALID [2022-04-08 15:13:35,213 INFO L272 TraceCheckUtils]: 89: Hoare triple {74482#true} call stubMoreProcessingRequired(); {74601#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:13:35,213 INFO L290 TraceCheckUtils]: 90: Hoare triple {74601#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {74482#true} is VALID [2022-04-08 15:13:35,213 INFO L290 TraceCheckUtils]: 91: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-08 15:13:35,213 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {74482#true} {74482#true} #1212#return; {74482#true} is VALID [2022-04-08 15:13:35,214 INFO L290 TraceCheckUtils]: 93: Hoare triple {74482#true} assume !(0 == ~__BLAST_NONDET~11); {74482#true} is VALID [2022-04-08 15:13:35,214 INFO L290 TraceCheckUtils]: 94: Hoare triple {74482#true} assume 1 == ~__BLAST_NONDET~11; {74482#true} is VALID [2022-04-08 15:13:35,214 INFO L290 TraceCheckUtils]: 95: Hoare triple {74482#true} ~returnVal2~0 := -1073741823; {74482#true} is VALID [2022-04-08 15:13:35,214 INFO L290 TraceCheckUtils]: 96: Hoare triple {74482#true} assume !(~s~0 == ~NP~0); {74482#true} is VALID [2022-04-08 15:13:35,214 INFO L290 TraceCheckUtils]: 97: Hoare triple {74482#true} assume ~s~0 == ~MPR1~0; {74482#true} is VALID [2022-04-08 15:13:35,214 INFO L290 TraceCheckUtils]: 98: Hoare triple {74482#true} assume !(259 == ~returnVal2~0);~s~0 := ~NP~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {74482#true} is VALID [2022-04-08 15:13:35,214 INFO L290 TraceCheckUtils]: 99: Hoare triple {74482#true} #res := ~returnVal2~0; {74482#true} is VALID [2022-04-08 15:13:35,214 INFO L290 TraceCheckUtils]: 100: Hoare triple {74482#true} assume true; {74482#true} is VALID [2022-04-08 15:13:35,214 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {74482#true} {74482#true} #1192#return; {74482#true} is VALID [2022-04-08 15:13:35,214 INFO L290 TraceCheckUtils]: 102: Hoare triple {74482#true} assume -9223372036854775808 <= #t~ret109 && #t~ret109 <= 9223372036854775807;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {74482#true} is VALID [2022-04-08 15:13:35,214 INFO L290 TraceCheckUtils]: 103: Hoare triple {74482#true} assume 259 == ~status~3; {74482#true} is VALID [2022-04-08 15:13:35,214 INFO L272 TraceCheckUtils]: 104: Hoare triple {74482#true} call #t~ret110 := KeWaitForSingleObject(~#event~1.base, ~#event~1.offset, 0, 0, 0, 0, 0); {74482#true} is VALID [2022-04-08 15:13:35,214 INFO L290 TraceCheckUtils]: 105: Hoare triple {74482#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; {74482#true} is VALID [2022-04-08 15:13:35,215 INFO L290 TraceCheckUtils]: 106: Hoare triple {74482#true} assume !(~s~0 == ~MPR3~0); {74560#(not (= ~MPR3~0 ~s~0))} is VALID [2022-04-08 15:13:35,215 INFO L290 TraceCheckUtils]: 107: Hoare triple {74560#(not (= ~MPR3~0 ~s~0))} assume !(1 == ~customIrp~0); {74560#(not (= ~MPR3~0 ~s~0))} is VALID [2022-04-08 15:13:35,215 INFO L290 TraceCheckUtils]: 108: Hoare triple {74560#(not (= ~MPR3~0 ~s~0))} assume ~s~0 == ~MPR3~0; {74483#false} is VALID [2022-04-08 15:13:35,215 INFO L272 TraceCheckUtils]: 109: Hoare triple {74483#false} call errorFn(); {74483#false} is VALID [2022-04-08 15:13:35,215 INFO L290 TraceCheckUtils]: 110: Hoare triple {74483#false} assume !false; {74483#false} is VALID [2022-04-08 15:13:35,215 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-04-08 15:13:35,216 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:13:35,216 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [324653778] [2022-04-08 15:13:35,216 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [324653778] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:13:35,216 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:13:35,216 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 15:13:35,216 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:13:35,216 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1657246970] [2022-04-08 15:13:35,216 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1657246970] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:13:35,216 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:13:35,216 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 15:13:35,216 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [988270124] [2022-04-08 15:13:35,216 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:13:35,217 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 7.181818181818182) internal successors, (79), 3 states have internal predecessors, (79), 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 111 [2022-04-08 15:13:35,217 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:13:35,217 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 7.181818181818182) internal successors, (79), 3 states have internal predecessors, (79), 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 15:13:35,293 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 15:13:35,293 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 15:13:35,293 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:13:35,294 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 15:13:35,294 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=76, Unknown=0, NotChecked=0, Total=110 [2022-04-08 15:13:35,294 INFO L87 Difference]: Start difference. First operand 317 states and 369 transitions. Second operand has 11 states, 11 states have (on average 7.181818181818182) internal successors, (79), 3 states have internal predecessors, (79), 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 15:13:37,413 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 15:13:42,049 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:13:42,049 INFO L93 Difference]: Finished difference Result 389 states and 464 transitions. [2022-04-08 15:13:42,049 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 15:13:42,049 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 7.181818181818182) internal successors, (79), 3 states have internal predecessors, (79), 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 111 [2022-04-08 15:13:42,050 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:13:42,050 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 7.181818181818182) internal successors, (79), 3 states have internal predecessors, (79), 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 15:13:42,051 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 202 transitions. [2022-04-08 15:13:42,051 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 7.181818181818182) internal successors, (79), 3 states have internal predecessors, (79), 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 15:13:42,064 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 202 transitions. [2022-04-08 15:13:42,064 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 202 transitions. [2022-04-08 15:13:42,283 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 202 edges. 202 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 15:13:42,291 INFO L225 Difference]: With dead ends: 389 [2022-04-08 15:13:42,291 INFO L226 Difference]: Without dead ends: 386 [2022-04-08 15:13:42,291 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 15:13:42,291 INFO L913 BasicCegarLoop]: 150 mSDtfsCounter, 219 mSDsluCounter, 232 mSDsCounter, 0 mSdLazyCounter, 472 mSolverCounterSat, 113 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 222 SdHoareTripleChecker+Valid, 382 SdHoareTripleChecker+Invalid, 586 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 113 IncrementalHoareTripleChecker+Valid, 472 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.4s IncrementalHoareTripleChecker+Time [2022-04-08 15:13:42,291 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [222 Valid, 382 Invalid, 586 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [113 Valid, 472 Invalid, 1 Unknown, 0 Unchecked, 3.4s Time] [2022-04-08 15:13:42,292 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 386 states. [2022-04-08 15:13:42,887 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 386 to 325. [2022-04-08 15:13:42,887 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:13:42,888 INFO L82 GeneralOperation]: Start isEquivalent. First operand 386 states. Second operand has 325 states, 252 states have (on average 1.2182539682539681) internal successors, (307), 256 states have internal predecessors, (307), 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 15:13:42,888 INFO L74 IsIncluded]: Start isIncluded. First operand 386 states. Second operand has 325 states, 252 states have (on average 1.2182539682539681) internal successors, (307), 256 states have internal predecessors, (307), 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 15:13:42,888 INFO L87 Difference]: Start difference. First operand 386 states. Second operand has 325 states, 252 states have (on average 1.2182539682539681) internal successors, (307), 256 states have internal predecessors, (307), 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 15:13:42,894 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:13:42,894 INFO L93 Difference]: Finished difference Result 386 states and 458 transitions. [2022-04-08 15:13:42,894 INFO L276 IsEmpty]: Start isEmpty. Operand 386 states and 458 transitions. [2022-04-08 15:13:42,894 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:13:42,894 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:13:42,894 INFO L74 IsIncluded]: Start isIncluded. First operand has 325 states, 252 states have (on average 1.2182539682539681) internal successors, (307), 256 states have internal predecessors, (307), 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 386 states. [2022-04-08 15:13:42,895 INFO L87 Difference]: Start difference. First operand has 325 states, 252 states have (on average 1.2182539682539681) internal successors, (307), 256 states have internal predecessors, (307), 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 386 states. [2022-04-08 15:13:42,900 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:13:42,900 INFO L93 Difference]: Finished difference Result 386 states and 458 transitions. [2022-04-08 15:13:42,900 INFO L276 IsEmpty]: Start isEmpty. Operand 386 states and 458 transitions. [2022-04-08 15:13:42,900 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:13:42,900 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:13:42,901 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:13:42,901 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:13:42,901 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 325 states, 252 states have (on average 1.2182539682539681) internal successors, (307), 256 states have internal predecessors, (307), 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 15:13:42,919 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 325 states to 325 states and 381 transitions. [2022-04-08 15:13:42,919 INFO L78 Accepts]: Start accepts. Automaton has 325 states and 381 transitions. Word has length 111 [2022-04-08 15:13:42,919 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:13:42,919 INFO L478 AbstractCegarLoop]: Abstraction has 325 states and 381 transitions. [2022-04-08 15:13:42,920 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 7.181818181818182) internal successors, (79), 3 states have internal predecessors, (79), 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 15:13:42,920 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 325 states and 381 transitions. [2022-04-08 15:13:43,852 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 15:13:43,852 INFO L276 IsEmpty]: Start isEmpty. Operand 325 states and 381 transitions. [2022-04-08 15:13:43,853 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 112 [2022-04-08 15:13:43,853 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:13:43,853 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] [2022-04-08 15:13:43,853 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable30 [2022-04-08 15:13:43,853 INFO L403 AbstractCegarLoop]: === Iteration 32 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:13:43,853 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:13:43,853 INFO L85 PathProgramCache]: Analyzing trace with hash -998022627, now seen corresponding path program 1 times [2022-04-08 15:13:43,854 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:13:43,854 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [218090250] [2022-04-08 15:13:43,856 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 15:13:43,856 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 15:13:43,856 INFO L85 PathProgramCache]: Analyzing trace with hash -998022627, now seen corresponding path program 2 times [2022-04-08 15:13:43,856 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:13:43,856 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [732611559] [2022-04-08 15:13:43,856 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:13:43,856 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:13:43,934 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:43,994 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:13:43,995 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:44,000 INFO L290 TraceCheckUtils]: 0: Hoare triple {76899#(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; {76821#true} is VALID [2022-04-08 15:13:44,000 INFO L290 TraceCheckUtils]: 1: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-08 15:13:44,000 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {76821#true} {76821#true} #1270#return; {76821#true} is VALID [2022-04-08 15:13:44,021 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:13:44,022 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:44,026 INFO L290 TraceCheckUtils]: 0: Hoare triple {76900#(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; {76821#true} is VALID [2022-04-08 15:13:44,026 INFO L290 TraceCheckUtils]: 1: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-08 15:13:44,026 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {76821#true} {76821#true} #1216#return; {76821#true} is VALID [2022-04-08 15:13:44,032 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:13:44,038 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:44,044 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:13:44,044 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:44,048 INFO L290 TraceCheckUtils]: 0: Hoare triple {76821#true} ~cond := #in~cond; {76821#true} is VALID [2022-04-08 15:13:44,048 INFO L290 TraceCheckUtils]: 1: Hoare triple {76821#true} assume !(0 == ~cond); {76821#true} is VALID [2022-04-08 15:13:44,048 INFO L290 TraceCheckUtils]: 2: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-08 15:13:44,048 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {76821#true} {76821#true} #1254#return; {76821#true} is VALID [2022-04-08 15:13:44,048 INFO L290 TraceCheckUtils]: 0: Hoare triple {76901#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {76821#true} is VALID [2022-04-08 15:13:44,048 INFO L272 TraceCheckUtils]: 1: Hoare triple {76821#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {76821#true} is VALID [2022-04-08 15:13:44,048 INFO L290 TraceCheckUtils]: 2: Hoare triple {76821#true} ~cond := #in~cond; {76821#true} is VALID [2022-04-08 15:13:44,049 INFO L290 TraceCheckUtils]: 3: Hoare triple {76821#true} assume !(0 == ~cond); {76821#true} is VALID [2022-04-08 15:13:44,049 INFO L290 TraceCheckUtils]: 4: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-08 15:13:44,049 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {76821#true} {76821#true} #1254#return; {76821#true} is VALID [2022-04-08 15:13:44,049 INFO L290 TraceCheckUtils]: 6: Hoare triple {76821#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {76821#true} is VALID [2022-04-08 15:13:44,049 INFO L290 TraceCheckUtils]: 7: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-08 15:13:44,049 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {76821#true} {76821#true} #1218#return; {76821#true} is VALID [2022-04-08 15:13:44,057 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:13:44,069 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:44,077 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:13:44,080 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:44,085 INFO L290 TraceCheckUtils]: 0: Hoare triple {76906#(and (= |old(#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; {76821#true} is VALID [2022-04-08 15:13:44,086 INFO L290 TraceCheckUtils]: 1: Hoare triple {76821#true} assume 0 == ~__BLAST_NONDET~5; {76821#true} is VALID [2022-04-08 15:13:44,086 INFO L290 TraceCheckUtils]: 2: Hoare triple {76821#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {76821#true} is VALID [2022-04-08 15:13:44,086 INFO L290 TraceCheckUtils]: 3: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-08 15:13:44,086 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {76821#true} {76821#true} #1176#return; {76821#true} is VALID [2022-04-08 15:13:44,086 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 15:13:44,087 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:44,093 INFO L290 TraceCheckUtils]: 0: Hoare triple {76901#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {76821#true} is VALID [2022-04-08 15:13:44,093 INFO L290 TraceCheckUtils]: 1: Hoare triple {76821#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {76821#true} is VALID [2022-04-08 15:13:44,093 INFO L290 TraceCheckUtils]: 2: Hoare triple {76821#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {76821#true} is VALID [2022-04-08 15:13:44,093 INFO L290 TraceCheckUtils]: 3: Hoare triple {76821#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {76821#true} is VALID [2022-04-08 15:13:44,093 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {76821#true} {76821#true} #1178#return; {76821#true} is VALID [2022-04-08 15:13:44,093 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-08 15:13:44,094 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:44,099 INFO L290 TraceCheckUtils]: 0: Hoare triple {76821#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; {76821#true} is VALID [2022-04-08 15:13:44,099 INFO L290 TraceCheckUtils]: 1: Hoare triple {76821#true} assume 0 == ~__BLAST_NONDET~2; {76821#true} is VALID [2022-04-08 15:13:44,099 INFO L290 TraceCheckUtils]: 2: Hoare triple {76821#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {76821#true} is VALID [2022-04-08 15:13:44,099 INFO L290 TraceCheckUtils]: 3: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-08 15:13:44,099 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {76821#true} {76821#true} #1180#return; {76821#true} is VALID [2022-04-08 15:13:44,099 INFO L290 TraceCheckUtils]: 0: Hoare triple {76906#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {76821#true} is VALID [2022-04-08 15:13:44,100 INFO L272 TraceCheckUtils]: 1: Hoare triple {76821#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {76906#(and (= |old(#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 15:13:44,100 INFO L290 TraceCheckUtils]: 2: Hoare triple {76906#(and (= |old(#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; {76821#true} is VALID [2022-04-08 15:13:44,100 INFO L290 TraceCheckUtils]: 3: Hoare triple {76821#true} assume 0 == ~__BLAST_NONDET~5; {76821#true} is VALID [2022-04-08 15:13:44,100 INFO L290 TraceCheckUtils]: 4: Hoare triple {76821#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {76821#true} is VALID [2022-04-08 15:13:44,100 INFO L290 TraceCheckUtils]: 5: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-08 15:13:44,100 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {76821#true} {76821#true} #1176#return; {76821#true} is VALID [2022-04-08 15:13:44,100 INFO L290 TraceCheckUtils]: 7: Hoare triple {76821#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {76821#true} is VALID [2022-04-08 15:13:44,101 INFO L290 TraceCheckUtils]: 8: Hoare triple {76821#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {76821#true} is VALID [2022-04-08 15:13:44,101 INFO L272 TraceCheckUtils]: 9: Hoare triple {76821#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {76901#(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 15:13:44,101 INFO L290 TraceCheckUtils]: 10: Hoare triple {76901#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {76821#true} is VALID [2022-04-08 15:13:44,101 INFO L290 TraceCheckUtils]: 11: Hoare triple {76821#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {76821#true} is VALID [2022-04-08 15:13:44,101 INFO L290 TraceCheckUtils]: 12: Hoare triple {76821#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {76821#true} is VALID [2022-04-08 15:13:44,101 INFO L290 TraceCheckUtils]: 13: Hoare triple {76821#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {76821#true} is VALID [2022-04-08 15:13:44,101 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {76821#true} {76821#true} #1178#return; {76821#true} is VALID [2022-04-08 15:13:44,101 INFO L290 TraceCheckUtils]: 15: Hoare triple {76821#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {76821#true} is VALID [2022-04-08 15:13:44,102 INFO L272 TraceCheckUtils]: 16: Hoare triple {76821#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {76821#true} is VALID [2022-04-08 15:13:44,102 INFO L290 TraceCheckUtils]: 17: Hoare triple {76821#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; {76821#true} is VALID [2022-04-08 15:13:44,102 INFO L290 TraceCheckUtils]: 18: Hoare triple {76821#true} assume 0 == ~__BLAST_NONDET~2; {76821#true} is VALID [2022-04-08 15:13:44,102 INFO L290 TraceCheckUtils]: 19: Hoare triple {76821#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {76821#true} is VALID [2022-04-08 15:13:44,102 INFO L290 TraceCheckUtils]: 20: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-08 15:13:44,102 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {76821#true} {76821#true} #1180#return; {76821#true} is VALID [2022-04-08 15:13:44,102 INFO L290 TraceCheckUtils]: 22: Hoare triple {76821#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {76821#true} is VALID [2022-04-08 15:13:44,102 INFO L290 TraceCheckUtils]: 23: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-08 15:13:44,102 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {76821#true} {76821#true} #1220#return; {76821#true} is VALID [2022-04-08 15:13:44,114 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-08 15:13:44,115 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:44,119 INFO L290 TraceCheckUtils]: 0: Hoare triple {76922#(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; {76821#true} is VALID [2022-04-08 15:13:44,119 INFO L290 TraceCheckUtils]: 1: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-08 15:13:44,119 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {76821#true} {76821#true} #1222#return; {76821#true} is VALID [2022-04-08 15:13:44,120 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-08 15:13:44,124 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:44,132 INFO L290 TraceCheckUtils]: 0: Hoare triple {76901#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {76821#true} is VALID [2022-04-08 15:13:44,133 INFO L290 TraceCheckUtils]: 1: Hoare triple {76821#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {76821#true} is VALID [2022-04-08 15:13:44,133 INFO L290 TraceCheckUtils]: 2: Hoare triple {76821#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {76821#true} is VALID [2022-04-08 15:13:44,133 INFO L290 TraceCheckUtils]: 3: Hoare triple {76821#true} assume #t~loopctr221 % 18446744073709551616 < size % 18446744073709551616;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 8);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 8);#t~loopctr221 := 8 + #t~loopctr221; {76821#true} is VALID [2022-04-08 15:13:44,133 INFO L290 TraceCheckUtils]: 4: Hoare triple {76821#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {76821#true} is VALID [2022-04-08 15:13:44,133 INFO L290 TraceCheckUtils]: 5: Hoare triple {76821#true} assume #res.base == dest.base && #res.offset == dest.offset; {76821#true} is VALID [2022-04-08 15:13:44,133 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {76821#true} {76821#true} #1186#return; {76821#true} is VALID [2022-04-08 15:13:44,141 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 75 [2022-04-08 15:13:44,147 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:44,168 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 15:13:44,170 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:44,174 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:13:44,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:44,179 INFO L290 TraceCheckUtils]: 0: Hoare triple {76936#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {76821#true} is VALID [2022-04-08 15:13:44,179 INFO L290 TraceCheckUtils]: 1: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-08 15:13:44,179 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {76821#true} {76821#true} #1174#return; {76821#true} is VALID [2022-04-08 15:13:44,179 INFO L290 TraceCheckUtils]: 0: Hoare triple {76936#(= ~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; {76821#true} is VALID [2022-04-08 15:13:44,180 INFO L272 TraceCheckUtils]: 1: Hoare triple {76821#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {76936#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:13:44,180 INFO L290 TraceCheckUtils]: 2: Hoare triple {76936#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {76821#true} is VALID [2022-04-08 15:13:44,180 INFO L290 TraceCheckUtils]: 3: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-08 15:13:44,180 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {76821#true} {76821#true} #1174#return; {76821#true} is VALID [2022-04-08 15:13:44,180 INFO L290 TraceCheckUtils]: 5: Hoare triple {76821#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {76821#true} is VALID [2022-04-08 15:13:44,180 INFO L290 TraceCheckUtils]: 6: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-08 15:13:44,180 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {76821#true} {76821#true} #1210#return; {76821#true} is VALID [2022-04-08 15:13:44,187 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 15:13:44,188 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:44,212 INFO L290 TraceCheckUtils]: 0: Hoare triple {76940#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {76821#true} is VALID [2022-04-08 15:13:44,212 INFO L290 TraceCheckUtils]: 1: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-08 15:13:44,212 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {76821#true} {76821#true} #1212#return; {76821#true} is VALID [2022-04-08 15:13:44,212 INFO L290 TraceCheckUtils]: 0: Hoare triple {76923#(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; {76821#true} is VALID [2022-04-08 15:13:44,213 INFO L290 TraceCheckUtils]: 1: Hoare triple {76821#true} assume 0 != ~compRegistered~0; {76821#true} is VALID [2022-04-08 15:13:44,213 INFO L272 TraceCheckUtils]: 2: Hoare triple {76821#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {76936#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:13:44,213 INFO L290 TraceCheckUtils]: 3: Hoare triple {76936#(= ~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; {76821#true} is VALID [2022-04-08 15:13:44,214 INFO L272 TraceCheckUtils]: 4: Hoare triple {76821#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {76936#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:13:44,214 INFO L290 TraceCheckUtils]: 5: Hoare triple {76936#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {76821#true} is VALID [2022-04-08 15:13:44,214 INFO L290 TraceCheckUtils]: 6: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-08 15:13:44,214 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {76821#true} {76821#true} #1174#return; {76821#true} is VALID [2022-04-08 15:13:44,214 INFO L290 TraceCheckUtils]: 8: Hoare triple {76821#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {76821#true} is VALID [2022-04-08 15:13:44,214 INFO L290 TraceCheckUtils]: 9: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-08 15:13:44,214 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {76821#true} {76821#true} #1210#return; {76821#true} is VALID [2022-04-08 15:13:44,214 INFO L290 TraceCheckUtils]: 11: Hoare triple {76821#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {76821#true} is VALID [2022-04-08 15:13:44,214 INFO L290 TraceCheckUtils]: 12: Hoare triple {76821#true} assume -1073741802 == ~compRetStatus~0; {76821#true} is VALID [2022-04-08 15:13:44,215 INFO L272 TraceCheckUtils]: 13: Hoare triple {76821#true} call stubMoreProcessingRequired(); {76940#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:13:44,215 INFO L290 TraceCheckUtils]: 14: Hoare triple {76940#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {76821#true} is VALID [2022-04-08 15:13:44,215 INFO L290 TraceCheckUtils]: 15: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-08 15:13:44,215 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {76821#true} {76821#true} #1212#return; {76821#true} is VALID [2022-04-08 15:13:44,215 INFO L290 TraceCheckUtils]: 17: Hoare triple {76821#true} assume !(0 == ~__BLAST_NONDET~11); {76821#true} is VALID [2022-04-08 15:13:44,215 INFO L290 TraceCheckUtils]: 18: Hoare triple {76821#true} assume 1 == ~__BLAST_NONDET~11; {76821#true} is VALID [2022-04-08 15:13:44,215 INFO L290 TraceCheckUtils]: 19: Hoare triple {76821#true} ~returnVal2~0 := -1073741823; {76935#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 15:13:44,216 INFO L290 TraceCheckUtils]: 20: Hoare triple {76935#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} assume !(~s~0 == ~NP~0); {76935#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 15:13:44,216 INFO L290 TraceCheckUtils]: 21: Hoare triple {76935#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} assume ~s~0 == ~MPR1~0; {76935#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 15:13:44,216 INFO L290 TraceCheckUtils]: 22: Hoare triple {76935#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {76822#false} is VALID [2022-04-08 15:13:44,216 INFO L290 TraceCheckUtils]: 23: Hoare triple {76822#false} #res := ~returnVal2~0; {76822#false} is VALID [2022-04-08 15:13:44,216 INFO L290 TraceCheckUtils]: 24: Hoare triple {76822#false} assume true; {76822#false} is VALID [2022-04-08 15:13:44,217 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {76822#false} {76821#true} #1192#return; {76822#false} is VALID [2022-04-08 15:13:44,218 INFO L272 TraceCheckUtils]: 0: Hoare triple {76821#true} call ULTIMATE.init(); {76899#(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 15:13:44,219 INFO L290 TraceCheckUtils]: 1: Hoare triple {76899#(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; {76821#true} is VALID [2022-04-08 15:13:44,219 INFO L290 TraceCheckUtils]: 2: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-08 15:13:44,219 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {76821#true} {76821#true} #1270#return; {76821#true} is VALID [2022-04-08 15:13:44,219 INFO L272 TraceCheckUtils]: 4: Hoare triple {76821#true} call #t~ret213 := main(); {76821#true} is VALID [2022-04-08 15:13:44,219 INFO L290 TraceCheckUtils]: 5: Hoare triple {76821#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {76821#true} is VALID [2022-04-08 15:13:44,220 INFO L272 TraceCheckUtils]: 6: Hoare triple {76821#true} call _BLAST_init(); {76900#(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 15:13:44,220 INFO L290 TraceCheckUtils]: 7: Hoare triple {76900#(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; {76821#true} is VALID [2022-04-08 15:13:44,220 INFO L290 TraceCheckUtils]: 8: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-08 15:13:44,220 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {76821#true} {76821#true} #1216#return; {76821#true} is VALID [2022-04-08 15:13:44,221 INFO L272 TraceCheckUtils]: 10: Hoare triple {76821#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {76901#(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 15:13:44,221 INFO L290 TraceCheckUtils]: 11: Hoare triple {76901#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {76821#true} is VALID [2022-04-08 15:13:44,221 INFO L272 TraceCheckUtils]: 12: Hoare triple {76821#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {76821#true} is VALID [2022-04-08 15:13:44,221 INFO L290 TraceCheckUtils]: 13: Hoare triple {76821#true} ~cond := #in~cond; {76821#true} is VALID [2022-04-08 15:13:44,221 INFO L290 TraceCheckUtils]: 14: Hoare triple {76821#true} assume !(0 == ~cond); {76821#true} is VALID [2022-04-08 15:13:44,221 INFO L290 TraceCheckUtils]: 15: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-08 15:13:44,221 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {76821#true} {76821#true} #1254#return; {76821#true} is VALID [2022-04-08 15:13:44,221 INFO L290 TraceCheckUtils]: 17: Hoare triple {76821#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {76821#true} is VALID [2022-04-08 15:13:44,221 INFO L290 TraceCheckUtils]: 18: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-08 15:13:44,221 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {76821#true} {76821#true} #1218#return; {76821#true} is VALID [2022-04-08 15:13:44,221 INFO L290 TraceCheckUtils]: 20: Hoare triple {76821#true} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {76821#true} is VALID [2022-04-08 15:13:44,221 INFO L290 TraceCheckUtils]: 21: Hoare triple {76821#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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {76821#true} is VALID [2022-04-08 15:13:44,221 INFO L290 TraceCheckUtils]: 22: Hoare triple {76821#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {76821#true} is VALID [2022-04-08 15:13:44,222 INFO L272 TraceCheckUtils]: 23: Hoare triple {76821#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {76906#(and (= |old(#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 15:13:44,222 INFO L290 TraceCheckUtils]: 24: Hoare triple {76906#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {76821#true} is VALID [2022-04-08 15:13:44,237 INFO L272 TraceCheckUtils]: 25: Hoare triple {76821#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {76906#(and (= |old(#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 15:13:44,237 INFO L290 TraceCheckUtils]: 26: Hoare triple {76906#(and (= |old(#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; {76821#true} is VALID [2022-04-08 15:13:44,237 INFO L290 TraceCheckUtils]: 27: Hoare triple {76821#true} assume 0 == ~__BLAST_NONDET~5; {76821#true} is VALID [2022-04-08 15:13:44,237 INFO L290 TraceCheckUtils]: 28: Hoare triple {76821#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {76821#true} is VALID [2022-04-08 15:13:44,237 INFO L290 TraceCheckUtils]: 29: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-08 15:13:44,237 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {76821#true} {76821#true} #1176#return; {76821#true} is VALID [2022-04-08 15:13:44,237 INFO L290 TraceCheckUtils]: 31: Hoare triple {76821#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {76821#true} is VALID [2022-04-08 15:13:44,237 INFO L290 TraceCheckUtils]: 32: Hoare triple {76821#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {76821#true} is VALID [2022-04-08 15:13:44,238 INFO L272 TraceCheckUtils]: 33: Hoare triple {76821#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {76901#(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 15:13:44,238 INFO L290 TraceCheckUtils]: 34: Hoare triple {76901#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {76821#true} is VALID [2022-04-08 15:13:44,238 INFO L290 TraceCheckUtils]: 35: Hoare triple {76821#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {76821#true} is VALID [2022-04-08 15:13:44,238 INFO L290 TraceCheckUtils]: 36: Hoare triple {76821#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {76821#true} is VALID [2022-04-08 15:13:44,238 INFO L290 TraceCheckUtils]: 37: Hoare triple {76821#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {76821#true} is VALID [2022-04-08 15:13:44,238 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {76821#true} {76821#true} #1178#return; {76821#true} is VALID [2022-04-08 15:13:44,238 INFO L290 TraceCheckUtils]: 39: Hoare triple {76821#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {76821#true} is VALID [2022-04-08 15:13:44,239 INFO L272 TraceCheckUtils]: 40: Hoare triple {76821#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {76821#true} is VALID [2022-04-08 15:13:44,239 INFO L290 TraceCheckUtils]: 41: Hoare triple {76821#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; {76821#true} is VALID [2022-04-08 15:13:44,239 INFO L290 TraceCheckUtils]: 42: Hoare triple {76821#true} assume 0 == ~__BLAST_NONDET~2; {76821#true} is VALID [2022-04-08 15:13:44,239 INFO L290 TraceCheckUtils]: 43: Hoare triple {76821#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {76821#true} is VALID [2022-04-08 15:13:44,239 INFO L290 TraceCheckUtils]: 44: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-08 15:13:44,239 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {76821#true} {76821#true} #1180#return; {76821#true} is VALID [2022-04-08 15:13:44,239 INFO L290 TraceCheckUtils]: 46: Hoare triple {76821#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {76821#true} is VALID [2022-04-08 15:13:44,239 INFO L290 TraceCheckUtils]: 47: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-08 15:13:44,239 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {76821#true} {76821#true} #1220#return; {76821#true} is VALID [2022-04-08 15:13:44,239 INFO L290 TraceCheckUtils]: 49: Hoare triple {76821#true} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {76821#true} is VALID [2022-04-08 15:13:44,240 INFO L272 TraceCheckUtils]: 50: Hoare triple {76821#true} call stub_driver_init(); {76922#(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 15:13:44,240 INFO L290 TraceCheckUtils]: 51: Hoare triple {76922#(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; {76821#true} is VALID [2022-04-08 15:13:44,240 INFO L290 TraceCheckUtils]: 52: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-08 15:13:44,240 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {76821#true} {76821#true} #1222#return; {76821#true} is VALID [2022-04-08 15:13:44,240 INFO L290 TraceCheckUtils]: 54: Hoare triple {76821#true} assume !!(~status~5 >= 0); {76821#true} is VALID [2022-04-08 15:13:44,240 INFO L290 TraceCheckUtils]: 55: Hoare triple {76821#true} assume !(0 == ~__BLAST_NONDET~0); {76821#true} is VALID [2022-04-08 15:13:44,240 INFO L290 TraceCheckUtils]: 56: Hoare triple {76821#true} assume !(1 == ~__BLAST_NONDET~0); {76821#true} is VALID [2022-04-08 15:13:44,240 INFO L290 TraceCheckUtils]: 57: Hoare triple {76821#true} assume !(2 == ~__BLAST_NONDET~0); {76821#true} is VALID [2022-04-08 15:13:44,240 INFO L290 TraceCheckUtils]: 58: Hoare triple {76821#true} assume 3 == ~__BLAST_NONDET~0; {76821#true} is VALID [2022-04-08 15:13:44,240 INFO L272 TraceCheckUtils]: 59: Hoare triple {76821#true} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {76821#true} is VALID [2022-04-08 15:13:44,240 INFO L290 TraceCheckUtils]: 60: Hoare triple {76821#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(28);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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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); {76821#true} is VALID [2022-04-08 15:13:44,240 INFO L290 TraceCheckUtils]: 61: Hoare triple {76821#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {76821#true} is VALID [2022-04-08 15:13:44,240 INFO L290 TraceCheckUtils]: 62: Hoare triple {76821#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 180 + ~Irp.offset, 8);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 68;havoc #t~mem103.base, #t~mem103.offset; {76821#true} is VALID [2022-04-08 15:13:44,241 INFO L272 TraceCheckUtils]: 63: Hoare triple {76821#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, 52); {76901#(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 15:13:44,241 INFO L290 TraceCheckUtils]: 64: Hoare triple {76901#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {76821#true} is VALID [2022-04-08 15:13:44,241 INFO L290 TraceCheckUtils]: 65: Hoare triple {76821#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {76821#true} is VALID [2022-04-08 15:13:44,241 INFO L290 TraceCheckUtils]: 66: Hoare triple {76821#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {76821#true} is VALID [2022-04-08 15:13:44,241 INFO L290 TraceCheckUtils]: 67: Hoare triple {76821#true} assume #t~loopctr221 % 18446744073709551616 < size % 18446744073709551616;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 8);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 8);#t~loopctr221 := 8 + #t~loopctr221; {76821#true} is VALID [2022-04-08 15:13:44,242 INFO L290 TraceCheckUtils]: 68: Hoare triple {76821#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {76821#true} is VALID [2022-04-08 15:13:44,242 INFO L290 TraceCheckUtils]: 69: Hoare triple {76821#true} assume #res.base == dest.base && #res.offset == dest.offset; {76821#true} is VALID [2022-04-08 15:13:44,242 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {76821#true} {76821#true} #1186#return; {76821#true} is VALID [2022-04-08 15:13:44,242 INFO L290 TraceCheckUtils]: 71: Hoare triple {76821#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {76821#true} is VALID [2022-04-08 15:13:44,242 INFO L290 TraceCheckUtils]: 72: Hoare triple {76821#true} assume !(~s~0 != ~NP~0); {76821#true} is VALID [2022-04-08 15:13:44,242 INFO L290 TraceCheckUtils]: 73: Hoare triple {76821#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {76821#true} is VALID [2022-04-08 15:13:44,242 INFO L290 TraceCheckUtils]: 74: Hoare triple {76821#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 68;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 52 + ~irpSp___0~0.offset, 8);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 60 + ~irpSp___0~0.offset, 8);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, 16 + ~devExt~3.offset, 8); {76821#true} is VALID [2022-04-08 15:13:44,243 INFO L272 TraceCheckUtils]: 75: Hoare triple {76821#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {76923#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:13:44,243 INFO L290 TraceCheckUtils]: 76: Hoare triple {76923#(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; {76821#true} is VALID [2022-04-08 15:13:44,243 INFO L290 TraceCheckUtils]: 77: Hoare triple {76821#true} assume 0 != ~compRegistered~0; {76821#true} is VALID [2022-04-08 15:13:44,244 INFO L272 TraceCheckUtils]: 78: Hoare triple {76821#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {76936#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:13:44,244 INFO L290 TraceCheckUtils]: 79: Hoare triple {76936#(= ~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; {76821#true} is VALID [2022-04-08 15:13:44,244 INFO L272 TraceCheckUtils]: 80: Hoare triple {76821#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {76936#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:13:44,244 INFO L290 TraceCheckUtils]: 81: Hoare triple {76936#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {76821#true} is VALID [2022-04-08 15:13:44,244 INFO L290 TraceCheckUtils]: 82: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-08 15:13:44,244 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {76821#true} {76821#true} #1174#return; {76821#true} is VALID [2022-04-08 15:13:44,245 INFO L290 TraceCheckUtils]: 84: Hoare triple {76821#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {76821#true} is VALID [2022-04-08 15:13:44,245 INFO L290 TraceCheckUtils]: 85: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-08 15:13:44,245 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {76821#true} {76821#true} #1210#return; {76821#true} is VALID [2022-04-08 15:13:44,245 INFO L290 TraceCheckUtils]: 87: Hoare triple {76821#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {76821#true} is VALID [2022-04-08 15:13:44,245 INFO L290 TraceCheckUtils]: 88: Hoare triple {76821#true} assume -1073741802 == ~compRetStatus~0; {76821#true} is VALID [2022-04-08 15:13:44,245 INFO L272 TraceCheckUtils]: 89: Hoare triple {76821#true} call stubMoreProcessingRequired(); {76940#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:13:44,245 INFO L290 TraceCheckUtils]: 90: Hoare triple {76940#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {76821#true} is VALID [2022-04-08 15:13:44,245 INFO L290 TraceCheckUtils]: 91: Hoare triple {76821#true} assume true; {76821#true} is VALID [2022-04-08 15:13:44,245 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {76821#true} {76821#true} #1212#return; {76821#true} is VALID [2022-04-08 15:13:44,245 INFO L290 TraceCheckUtils]: 93: Hoare triple {76821#true} assume !(0 == ~__BLAST_NONDET~11); {76821#true} is VALID [2022-04-08 15:13:44,245 INFO L290 TraceCheckUtils]: 94: Hoare triple {76821#true} assume 1 == ~__BLAST_NONDET~11; {76821#true} is VALID [2022-04-08 15:13:44,246 INFO L290 TraceCheckUtils]: 95: Hoare triple {76821#true} ~returnVal2~0 := -1073741823; {76935#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 15:13:44,246 INFO L290 TraceCheckUtils]: 96: Hoare triple {76935#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} assume !(~s~0 == ~NP~0); {76935#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 15:13:44,246 INFO L290 TraceCheckUtils]: 97: Hoare triple {76935#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} assume ~s~0 == ~MPR1~0; {76935#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 15:13:44,247 INFO L290 TraceCheckUtils]: 98: Hoare triple {76935#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {76822#false} is VALID [2022-04-08 15:13:44,247 INFO L290 TraceCheckUtils]: 99: Hoare triple {76822#false} #res := ~returnVal2~0; {76822#false} is VALID [2022-04-08 15:13:44,247 INFO L290 TraceCheckUtils]: 100: Hoare triple {76822#false} assume true; {76822#false} is VALID [2022-04-08 15:13:44,247 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {76822#false} {76821#true} #1192#return; {76822#false} is VALID [2022-04-08 15:13:44,247 INFO L290 TraceCheckUtils]: 102: Hoare triple {76822#false} assume -9223372036854775808 <= #t~ret109 && #t~ret109 <= 9223372036854775807;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {76822#false} is VALID [2022-04-08 15:13:44,247 INFO L290 TraceCheckUtils]: 103: Hoare triple {76822#false} assume !(259 == ~status~3); {76822#false} is VALID [2022-04-08 15:13:44,247 INFO L290 TraceCheckUtils]: 104: Hoare triple {76822#false} assume !(~status~3 >= 0); {76822#false} is VALID [2022-04-08 15:13:44,247 INFO L290 TraceCheckUtils]: 105: Hoare triple {76822#false} call write~int(~status~3, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~3 % 4294967296 <= 2147483647 then ~status~3 % 4294967296 else ~status~3 % 4294967296 - 4294967296);call write~int(0, ~Irp.base, 52 + ~Irp.offset, 8); {76822#false} is VALID [2022-04-08 15:13:44,247 INFO L272 TraceCheckUtils]: 106: Hoare triple {76822#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {76822#false} is VALID [2022-04-08 15:13:44,247 INFO L290 TraceCheckUtils]: 107: Hoare triple {76822#false} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {76822#false} is VALID [2022-04-08 15:13:44,247 INFO L290 TraceCheckUtils]: 108: Hoare triple {76822#false} assume !(~s~0 == ~NP~0); {76822#false} is VALID [2022-04-08 15:13:44,247 INFO L272 TraceCheckUtils]: 109: Hoare triple {76822#false} call errorFn(); {76822#false} is VALID [2022-04-08 15:13:44,247 INFO L290 TraceCheckUtils]: 110: Hoare triple {76822#false} assume !false; {76822#false} is VALID [2022-04-08 15:13:44,248 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-04-08 15:13:44,248 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:13:44,248 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [732611559] [2022-04-08 15:13:44,248 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [732611559] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:13:44,248 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:13:44,248 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 15:13:44,248 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:13:44,248 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [218090250] [2022-04-08 15:13:44,248 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [218090250] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:13:44,248 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:13:44,248 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 15:13:44,248 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [857264649] [2022-04-08 15:13:44,249 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:13:44,250 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 7.181818181818182) internal successors, (79), 3 states have internal predecessors, (79), 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 111 [2022-04-08 15:13:44,250 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:13:44,250 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 7.181818181818182) internal successors, (79), 3 states have internal predecessors, (79), 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 15:13:44,336 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 15:13:44,336 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 15:13:44,336 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:13:44,336 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 15:13:44,337 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=76, Unknown=0, NotChecked=0, Total=110 [2022-04-08 15:13:44,337 INFO L87 Difference]: Start difference. First operand 325 states and 381 transitions. Second operand has 11 states, 11 states have (on average 7.181818181818182) internal successors, (79), 3 states have internal predecessors, (79), 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 15:13:46,451 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 15:13:52,229 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:13:52,229 INFO L93 Difference]: Finished difference Result 465 states and 556 transitions. [2022-04-08 15:13:52,229 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 15:13:52,229 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 7.181818181818182) internal successors, (79), 3 states have internal predecessors, (79), 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 111 [2022-04-08 15:13:52,229 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:13:52,229 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 7.181818181818182) internal successors, (79), 3 states have internal predecessors, (79), 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 15:13:52,231 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 244 transitions. [2022-04-08 15:13:52,231 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 7.181818181818182) internal successors, (79), 3 states have internal predecessors, (79), 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 15:13:52,232 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 244 transitions. [2022-04-08 15:13:52,232 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 244 transitions. [2022-04-08 15:13:52,468 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 15:13:52,474 INFO L225 Difference]: With dead ends: 465 [2022-04-08 15:13:52,474 INFO L226 Difference]: Without dead ends: 377 [2022-04-08 15:13:52,475 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 15:13:52,475 INFO L913 BasicCegarLoop]: 144 mSDtfsCounter, 192 mSDsluCounter, 230 mSDsCounter, 0 mSdLazyCounter, 565 mSolverCounterSat, 103 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 194 SdHoareTripleChecker+Valid, 374 SdHoareTripleChecker+Invalid, 669 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 103 IncrementalHoareTripleChecker+Valid, 565 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.5s IncrementalHoareTripleChecker+Time [2022-04-08 15:13:52,475 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [194 Valid, 374 Invalid, 669 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [103 Valid, 565 Invalid, 1 Unknown, 0 Unchecked, 4.5s Time] [2022-04-08 15:13:52,475 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 377 states. [2022-04-08 15:13:53,081 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 377 to 331. [2022-04-08 15:13:53,082 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:13:53,082 INFO L82 GeneralOperation]: Start isEquivalent. First operand 377 states. Second operand has 331 states, 258 states have (on average 1.2131782945736433) internal successors, (313), 262 states have internal predecessors, (313), 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 15:13:53,082 INFO L74 IsIncluded]: Start isIncluded. First operand 377 states. Second operand has 331 states, 258 states have (on average 1.2131782945736433) internal successors, (313), 262 states have internal predecessors, (313), 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 15:13:53,083 INFO L87 Difference]: Start difference. First operand 377 states. Second operand has 331 states, 258 states have (on average 1.2131782945736433) internal successors, (313), 262 states have internal predecessors, (313), 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 15:13:53,087 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:13:53,087 INFO L93 Difference]: Finished difference Result 377 states and 441 transitions. [2022-04-08 15:13:53,087 INFO L276 IsEmpty]: Start isEmpty. Operand 377 states and 441 transitions. [2022-04-08 15:13:53,088 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:13:53,088 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:13:53,088 INFO L74 IsIncluded]: Start isIncluded. First operand has 331 states, 258 states have (on average 1.2131782945736433) internal successors, (313), 262 states have internal predecessors, (313), 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 377 states. [2022-04-08 15:13:53,088 INFO L87 Difference]: Start difference. First operand has 331 states, 258 states have (on average 1.2131782945736433) internal successors, (313), 262 states have internal predecessors, (313), 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 377 states. [2022-04-08 15:13:53,093 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:13:53,093 INFO L93 Difference]: Finished difference Result 377 states and 441 transitions. [2022-04-08 15:13:53,093 INFO L276 IsEmpty]: Start isEmpty. Operand 377 states and 441 transitions. [2022-04-08 15:13:53,093 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:13:53,093 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:13:53,093 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:13:53,093 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:13:53,094 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 331 states, 258 states have (on average 1.2131782945736433) internal successors, (313), 262 states have internal predecessors, (313), 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 15:13:53,099 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 331 states to 331 states and 387 transitions. [2022-04-08 15:13:53,099 INFO L78 Accepts]: Start accepts. Automaton has 331 states and 387 transitions. Word has length 111 [2022-04-08 15:13:53,099 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:13:53,099 INFO L478 AbstractCegarLoop]: Abstraction has 331 states and 387 transitions. [2022-04-08 15:13:53,099 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 7.181818181818182) internal successors, (79), 3 states have internal predecessors, (79), 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 15:13:53,099 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 331 states and 387 transitions. [2022-04-08 15:13:54,028 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 387 edges. 387 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 15:13:54,029 INFO L276 IsEmpty]: Start isEmpty. Operand 331 states and 387 transitions. [2022-04-08 15:13:54,029 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 112 [2022-04-08 15:13:54,029 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:13:54,029 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] [2022-04-08 15:13:54,029 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable31 [2022-04-08 15:13:54,029 INFO L403 AbstractCegarLoop]: === Iteration 33 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:13:54,030 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:13:54,030 INFO L85 PathProgramCache]: Analyzing trace with hash 687528413, now seen corresponding path program 1 times [2022-04-08 15:13:54,030 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:13:54,030 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1606383313] [2022-04-08 15:13:54,031 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 15:13:54,032 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 15:13:54,032 INFO L85 PathProgramCache]: Analyzing trace with hash 687528413, now seen corresponding path program 2 times [2022-04-08 15:13:54,032 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:13:54,032 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [925337448] [2022-04-08 15:13:54,032 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:13:54,032 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:13:54,131 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:54,201 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:13:54,203 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:54,208 INFO L290 TraceCheckUtils]: 0: Hoare triple {79381#(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; {79301#true} is VALID [2022-04-08 15:13:54,208 INFO L290 TraceCheckUtils]: 1: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-08 15:13:54,208 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {79301#true} {79301#true} #1270#return; {79301#true} is VALID [2022-04-08 15:13:54,231 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:13:54,232 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:54,236 INFO L290 TraceCheckUtils]: 0: Hoare triple {79382#(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; {79301#true} is VALID [2022-04-08 15:13:54,236 INFO L290 TraceCheckUtils]: 1: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-08 15:13:54,236 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {79301#true} {79301#true} #1216#return; {79301#true} is VALID [2022-04-08 15:13:54,247 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:13:54,253 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:54,259 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:13:54,259 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:54,263 INFO L290 TraceCheckUtils]: 0: Hoare triple {79301#true} ~cond := #in~cond; {79301#true} is VALID [2022-04-08 15:13:54,263 INFO L290 TraceCheckUtils]: 1: Hoare triple {79301#true} assume !(0 == ~cond); {79301#true} is VALID [2022-04-08 15:13:54,263 INFO L290 TraceCheckUtils]: 2: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-08 15:13:54,263 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {79301#true} {79301#true} #1254#return; {79301#true} is VALID [2022-04-08 15:13:54,263 INFO L290 TraceCheckUtils]: 0: Hoare triple {79383#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {79301#true} is VALID [2022-04-08 15:13:54,263 INFO L272 TraceCheckUtils]: 1: Hoare triple {79301#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {79301#true} is VALID [2022-04-08 15:13:54,263 INFO L290 TraceCheckUtils]: 2: Hoare triple {79301#true} ~cond := #in~cond; {79301#true} is VALID [2022-04-08 15:13:54,263 INFO L290 TraceCheckUtils]: 3: Hoare triple {79301#true} assume !(0 == ~cond); {79301#true} is VALID [2022-04-08 15:13:54,263 INFO L290 TraceCheckUtils]: 4: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-08 15:13:54,263 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {79301#true} {79301#true} #1254#return; {79301#true} is VALID [2022-04-08 15:13:54,263 INFO L290 TraceCheckUtils]: 6: Hoare triple {79301#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {79301#true} is VALID [2022-04-08 15:13:54,264 INFO L290 TraceCheckUtils]: 7: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-08 15:13:54,264 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {79301#true} {79301#true} #1218#return; {79301#true} is VALID [2022-04-08 15:13:54,273 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:13:54,285 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:54,293 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:13:54,296 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:54,301 INFO L290 TraceCheckUtils]: 0: Hoare triple {79388#(and (= |old(#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; {79301#true} is VALID [2022-04-08 15:13:54,301 INFO L290 TraceCheckUtils]: 1: Hoare triple {79301#true} assume 0 == ~__BLAST_NONDET~5; {79301#true} is VALID [2022-04-08 15:13:54,301 INFO L290 TraceCheckUtils]: 2: Hoare triple {79301#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {79301#true} is VALID [2022-04-08 15:13:54,301 INFO L290 TraceCheckUtils]: 3: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-08 15:13:54,301 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {79301#true} {79301#true} #1176#return; {79301#true} is VALID [2022-04-08 15:13:54,301 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 15:13:54,303 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:54,308 INFO L290 TraceCheckUtils]: 0: Hoare triple {79383#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {79301#true} is VALID [2022-04-08 15:13:54,308 INFO L290 TraceCheckUtils]: 1: Hoare triple {79301#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {79301#true} is VALID [2022-04-08 15:13:54,308 INFO L290 TraceCheckUtils]: 2: Hoare triple {79301#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {79301#true} is VALID [2022-04-08 15:13:54,308 INFO L290 TraceCheckUtils]: 3: Hoare triple {79301#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {79301#true} is VALID [2022-04-08 15:13:54,308 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {79301#true} {79301#true} #1178#return; {79301#true} is VALID [2022-04-08 15:13:54,308 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-08 15:13:54,309 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:54,314 INFO L290 TraceCheckUtils]: 0: Hoare triple {79301#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; {79301#true} is VALID [2022-04-08 15:13:54,314 INFO L290 TraceCheckUtils]: 1: Hoare triple {79301#true} assume 0 == ~__BLAST_NONDET~2; {79301#true} is VALID [2022-04-08 15:13:54,314 INFO L290 TraceCheckUtils]: 2: Hoare triple {79301#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {79301#true} is VALID [2022-04-08 15:13:54,314 INFO L290 TraceCheckUtils]: 3: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-08 15:13:54,314 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {79301#true} {79301#true} #1180#return; {79301#true} is VALID [2022-04-08 15:13:54,314 INFO L290 TraceCheckUtils]: 0: Hoare triple {79388#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {79301#true} is VALID [2022-04-08 15:13:54,315 INFO L272 TraceCheckUtils]: 1: Hoare triple {79301#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {79388#(and (= |old(#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 15:13:54,315 INFO L290 TraceCheckUtils]: 2: Hoare triple {79388#(and (= |old(#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; {79301#true} is VALID [2022-04-08 15:13:54,315 INFO L290 TraceCheckUtils]: 3: Hoare triple {79301#true} assume 0 == ~__BLAST_NONDET~5; {79301#true} is VALID [2022-04-08 15:13:54,315 INFO L290 TraceCheckUtils]: 4: Hoare triple {79301#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {79301#true} is VALID [2022-04-08 15:13:54,315 INFO L290 TraceCheckUtils]: 5: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-08 15:13:54,315 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {79301#true} {79301#true} #1176#return; {79301#true} is VALID [2022-04-08 15:13:54,315 INFO L290 TraceCheckUtils]: 7: Hoare triple {79301#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {79301#true} is VALID [2022-04-08 15:13:54,316 INFO L290 TraceCheckUtils]: 8: Hoare triple {79301#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {79301#true} is VALID [2022-04-08 15:13:54,316 INFO L272 TraceCheckUtils]: 9: Hoare triple {79301#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {79383#(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 15:13:54,316 INFO L290 TraceCheckUtils]: 10: Hoare triple {79383#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {79301#true} is VALID [2022-04-08 15:13:54,316 INFO L290 TraceCheckUtils]: 11: Hoare triple {79301#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {79301#true} is VALID [2022-04-08 15:13:54,316 INFO L290 TraceCheckUtils]: 12: Hoare triple {79301#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {79301#true} is VALID [2022-04-08 15:13:54,316 INFO L290 TraceCheckUtils]: 13: Hoare triple {79301#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {79301#true} is VALID [2022-04-08 15:13:54,316 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {79301#true} {79301#true} #1178#return; {79301#true} is VALID [2022-04-08 15:13:54,316 INFO L290 TraceCheckUtils]: 15: Hoare triple {79301#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {79301#true} is VALID [2022-04-08 15:13:54,317 INFO L272 TraceCheckUtils]: 16: Hoare triple {79301#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {79301#true} is VALID [2022-04-08 15:13:54,317 INFO L290 TraceCheckUtils]: 17: Hoare triple {79301#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; {79301#true} is VALID [2022-04-08 15:13:54,317 INFO L290 TraceCheckUtils]: 18: Hoare triple {79301#true} assume 0 == ~__BLAST_NONDET~2; {79301#true} is VALID [2022-04-08 15:13:54,317 INFO L290 TraceCheckUtils]: 19: Hoare triple {79301#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {79301#true} is VALID [2022-04-08 15:13:54,317 INFO L290 TraceCheckUtils]: 20: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-08 15:13:54,317 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {79301#true} {79301#true} #1180#return; {79301#true} is VALID [2022-04-08 15:13:54,317 INFO L290 TraceCheckUtils]: 22: Hoare triple {79301#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {79301#true} is VALID [2022-04-08 15:13:54,317 INFO L290 TraceCheckUtils]: 23: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-08 15:13:54,317 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {79301#true} {79301#true} #1220#return; {79301#true} is VALID [2022-04-08 15:13:54,331 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-08 15:13:54,332 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:54,336 INFO L290 TraceCheckUtils]: 0: Hoare triple {79404#(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; {79301#true} is VALID [2022-04-08 15:13:54,336 INFO L290 TraceCheckUtils]: 1: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-08 15:13:54,336 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {79301#true} {79301#true} #1222#return; {79301#true} is VALID [2022-04-08 15:13:54,336 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-08 15:13:54,340 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:54,347 INFO L290 TraceCheckUtils]: 0: Hoare triple {79383#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {79301#true} is VALID [2022-04-08 15:13:54,348 INFO L290 TraceCheckUtils]: 1: Hoare triple {79301#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {79301#true} is VALID [2022-04-08 15:13:54,348 INFO L290 TraceCheckUtils]: 2: Hoare triple {79301#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {79301#true} is VALID [2022-04-08 15:13:54,348 INFO L290 TraceCheckUtils]: 3: Hoare triple {79301#true} assume #t~loopctr221 % 18446744073709551616 < size % 18446744073709551616;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 8);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 8);#t~loopctr221 := 8 + #t~loopctr221; {79301#true} is VALID [2022-04-08 15:13:54,348 INFO L290 TraceCheckUtils]: 4: Hoare triple {79301#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {79301#true} is VALID [2022-04-08 15:13:54,348 INFO L290 TraceCheckUtils]: 5: Hoare triple {79301#true} assume #res.base == dest.base && #res.offset == dest.offset; {79301#true} is VALID [2022-04-08 15:13:54,348 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {79301#true} {79301#true} #1186#return; {79301#true} is VALID [2022-04-08 15:13:54,357 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 75 [2022-04-08 15:13:54,380 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:54,414 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 15:13:54,416 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:54,420 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:13:54,421 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:54,425 INFO L290 TraceCheckUtils]: 0: Hoare triple {79419#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {79301#true} is VALID [2022-04-08 15:13:54,425 INFO L290 TraceCheckUtils]: 1: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-08 15:13:54,425 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {79301#true} {79301#true} #1174#return; {79301#true} is VALID [2022-04-08 15:13:54,425 INFO L290 TraceCheckUtils]: 0: Hoare triple {79419#(= ~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; {79301#true} is VALID [2022-04-08 15:13:54,426 INFO L272 TraceCheckUtils]: 1: Hoare triple {79301#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {79419#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:13:54,426 INFO L290 TraceCheckUtils]: 2: Hoare triple {79419#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {79301#true} is VALID [2022-04-08 15:13:54,426 INFO L290 TraceCheckUtils]: 3: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-08 15:13:54,426 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {79301#true} {79301#true} #1174#return; {79301#true} is VALID [2022-04-08 15:13:54,426 INFO L290 TraceCheckUtils]: 5: Hoare triple {79301#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {79301#true} is VALID [2022-04-08 15:13:54,426 INFO L290 TraceCheckUtils]: 6: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-08 15:13:54,426 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {79301#true} {79301#true} #1210#return; {79301#true} is VALID [2022-04-08 15:13:54,435 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 15:13:54,435 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:13:54,439 INFO L290 TraceCheckUtils]: 0: Hoare triple {79423#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {79301#true} is VALID [2022-04-08 15:13:54,439 INFO L290 TraceCheckUtils]: 1: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-08 15:13:54,439 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {79301#true} {79301#true} #1212#return; {79301#true} is VALID [2022-04-08 15:13:54,440 INFO L290 TraceCheckUtils]: 0: Hoare triple {79405#(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; {79301#true} is VALID [2022-04-08 15:13:54,440 INFO L290 TraceCheckUtils]: 1: Hoare triple {79301#true} assume 0 != ~compRegistered~0; {79301#true} is VALID [2022-04-08 15:13:54,440 INFO L272 TraceCheckUtils]: 2: Hoare triple {79301#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {79419#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:13:54,441 INFO L290 TraceCheckUtils]: 3: Hoare triple {79419#(= ~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; {79301#true} is VALID [2022-04-08 15:13:54,441 INFO L272 TraceCheckUtils]: 4: Hoare triple {79301#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {79419#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:13:54,441 INFO L290 TraceCheckUtils]: 5: Hoare triple {79419#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {79301#true} is VALID [2022-04-08 15:13:54,441 INFO L290 TraceCheckUtils]: 6: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-08 15:13:54,441 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {79301#true} {79301#true} #1174#return; {79301#true} is VALID [2022-04-08 15:13:54,441 INFO L290 TraceCheckUtils]: 8: Hoare triple {79301#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {79301#true} is VALID [2022-04-08 15:13:54,441 INFO L290 TraceCheckUtils]: 9: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-08 15:13:54,441 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {79301#true} {79301#true} #1210#return; {79301#true} is VALID [2022-04-08 15:13:54,441 INFO L290 TraceCheckUtils]: 11: Hoare triple {79301#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {79301#true} is VALID [2022-04-08 15:13:54,442 INFO L290 TraceCheckUtils]: 12: Hoare triple {79301#true} assume -1073741802 == ~compRetStatus~0; {79301#true} is VALID [2022-04-08 15:13:54,442 INFO L272 TraceCheckUtils]: 13: Hoare triple {79301#true} call stubMoreProcessingRequired(); {79423#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:13:54,442 INFO L290 TraceCheckUtils]: 14: Hoare triple {79423#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {79301#true} is VALID [2022-04-08 15:13:54,442 INFO L290 TraceCheckUtils]: 15: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-08 15:13:54,442 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {79301#true} {79301#true} #1212#return; {79301#true} is VALID [2022-04-08 15:13:54,442 INFO L290 TraceCheckUtils]: 17: Hoare triple {79301#true} assume !(0 == ~__BLAST_NONDET~11); {79301#true} is VALID [2022-04-08 15:13:54,442 INFO L290 TraceCheckUtils]: 18: Hoare triple {79301#true} assume !(1 == ~__BLAST_NONDET~11); {79301#true} is VALID [2022-04-08 15:13:54,442 INFO L290 TraceCheckUtils]: 19: Hoare triple {79301#true} ~returnVal2~0 := 259; {79417#(<= 259 IofCallDriver_~returnVal2~0)} is VALID [2022-04-08 15:13:54,443 INFO L290 TraceCheckUtils]: 20: Hoare triple {79417#(<= 259 IofCallDriver_~returnVal2~0)} assume !(~s~0 == ~NP~0); {79417#(<= 259 IofCallDriver_~returnVal2~0)} is VALID [2022-04-08 15:13:54,443 INFO L290 TraceCheckUtils]: 21: Hoare triple {79417#(<= 259 IofCallDriver_~returnVal2~0)} assume ~s~0 == ~MPR1~0; {79417#(<= 259 IofCallDriver_~returnVal2~0)} is VALID [2022-04-08 15:13:54,443 INFO L290 TraceCheckUtils]: 22: Hoare triple {79417#(<= 259 IofCallDriver_~returnVal2~0)} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {79417#(<= 259 IofCallDriver_~returnVal2~0)} is VALID [2022-04-08 15:13:54,443 INFO L290 TraceCheckUtils]: 23: Hoare triple {79417#(<= 259 IofCallDriver_~returnVal2~0)} #res := ~returnVal2~0; {79418#(<= 259 |IofCallDriver_#res|)} is VALID [2022-04-08 15:13:54,444 INFO L290 TraceCheckUtils]: 24: Hoare triple {79418#(<= 259 |IofCallDriver_#res|)} assume true; {79418#(<= 259 |IofCallDriver_#res|)} is VALID [2022-04-08 15:13:54,444 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {79418#(<= 259 |IofCallDriver_#res|)} {79301#true} #1192#return; {79379#(<= 259 |KbFilter_PnP_#t~ret109|)} is VALID [2022-04-08 15:13:54,446 INFO L272 TraceCheckUtils]: 0: Hoare triple {79301#true} call ULTIMATE.init(); {79381#(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 15:13:54,446 INFO L290 TraceCheckUtils]: 1: Hoare triple {79381#(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; {79301#true} is VALID [2022-04-08 15:13:54,446 INFO L290 TraceCheckUtils]: 2: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-08 15:13:54,446 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {79301#true} {79301#true} #1270#return; {79301#true} is VALID [2022-04-08 15:13:54,446 INFO L272 TraceCheckUtils]: 4: Hoare triple {79301#true} call #t~ret213 := main(); {79301#true} is VALID [2022-04-08 15:13:54,446 INFO L290 TraceCheckUtils]: 5: Hoare triple {79301#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {79301#true} is VALID [2022-04-08 15:13:54,447 INFO L272 TraceCheckUtils]: 6: Hoare triple {79301#true} call _BLAST_init(); {79382#(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 15:13:54,447 INFO L290 TraceCheckUtils]: 7: Hoare triple {79382#(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; {79301#true} is VALID [2022-04-08 15:13:54,447 INFO L290 TraceCheckUtils]: 8: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-08 15:13:54,447 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {79301#true} {79301#true} #1216#return; {79301#true} is VALID [2022-04-08 15:13:54,448 INFO L272 TraceCheckUtils]: 10: Hoare triple {79301#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {79383#(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 15:13:54,448 INFO L290 TraceCheckUtils]: 11: Hoare triple {79383#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {79301#true} is VALID [2022-04-08 15:13:54,448 INFO L272 TraceCheckUtils]: 12: Hoare triple {79301#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {79301#true} is VALID [2022-04-08 15:13:54,448 INFO L290 TraceCheckUtils]: 13: Hoare triple {79301#true} ~cond := #in~cond; {79301#true} is VALID [2022-04-08 15:13:54,448 INFO L290 TraceCheckUtils]: 14: Hoare triple {79301#true} assume !(0 == ~cond); {79301#true} is VALID [2022-04-08 15:13:54,448 INFO L290 TraceCheckUtils]: 15: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-08 15:13:54,448 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {79301#true} {79301#true} #1254#return; {79301#true} is VALID [2022-04-08 15:13:54,448 INFO L290 TraceCheckUtils]: 17: Hoare triple {79301#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {79301#true} is VALID [2022-04-08 15:13:54,448 INFO L290 TraceCheckUtils]: 18: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-08 15:13:54,448 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {79301#true} {79301#true} #1218#return; {79301#true} is VALID [2022-04-08 15:13:54,448 INFO L290 TraceCheckUtils]: 20: Hoare triple {79301#true} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {79301#true} is VALID [2022-04-08 15:13:54,448 INFO L290 TraceCheckUtils]: 21: Hoare triple {79301#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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {79301#true} is VALID [2022-04-08 15:13:54,448 INFO L290 TraceCheckUtils]: 22: Hoare triple {79301#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {79301#true} is VALID [2022-04-08 15:13:54,449 INFO L272 TraceCheckUtils]: 23: Hoare triple {79301#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {79388#(and (= |old(#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 15:13:54,449 INFO L290 TraceCheckUtils]: 24: Hoare triple {79388#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {79301#true} is VALID [2022-04-08 15:13:54,450 INFO L272 TraceCheckUtils]: 25: Hoare triple {79301#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {79388#(and (= |old(#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 15:13:54,450 INFO L290 TraceCheckUtils]: 26: Hoare triple {79388#(and (= |old(#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; {79301#true} is VALID [2022-04-08 15:13:54,450 INFO L290 TraceCheckUtils]: 27: Hoare triple {79301#true} assume 0 == ~__BLAST_NONDET~5; {79301#true} is VALID [2022-04-08 15:13:54,450 INFO L290 TraceCheckUtils]: 28: Hoare triple {79301#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {79301#true} is VALID [2022-04-08 15:13:54,450 INFO L290 TraceCheckUtils]: 29: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-08 15:13:54,450 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {79301#true} {79301#true} #1176#return; {79301#true} is VALID [2022-04-08 15:13:54,451 INFO L290 TraceCheckUtils]: 31: Hoare triple {79301#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {79301#true} is VALID [2022-04-08 15:13:54,451 INFO L290 TraceCheckUtils]: 32: Hoare triple {79301#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {79301#true} is VALID [2022-04-08 15:13:54,451 INFO L272 TraceCheckUtils]: 33: Hoare triple {79301#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {79383#(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 15:13:54,451 INFO L290 TraceCheckUtils]: 34: Hoare triple {79383#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {79301#true} is VALID [2022-04-08 15:13:54,451 INFO L290 TraceCheckUtils]: 35: Hoare triple {79301#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {79301#true} is VALID [2022-04-08 15:13:54,451 INFO L290 TraceCheckUtils]: 36: Hoare triple {79301#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {79301#true} is VALID [2022-04-08 15:13:54,451 INFO L290 TraceCheckUtils]: 37: Hoare triple {79301#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {79301#true} is VALID [2022-04-08 15:13:54,451 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {79301#true} {79301#true} #1178#return; {79301#true} is VALID [2022-04-08 15:13:54,452 INFO L290 TraceCheckUtils]: 39: Hoare triple {79301#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {79301#true} is VALID [2022-04-08 15:13:54,452 INFO L272 TraceCheckUtils]: 40: Hoare triple {79301#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {79301#true} is VALID [2022-04-08 15:13:54,452 INFO L290 TraceCheckUtils]: 41: Hoare triple {79301#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; {79301#true} is VALID [2022-04-08 15:13:54,452 INFO L290 TraceCheckUtils]: 42: Hoare triple {79301#true} assume 0 == ~__BLAST_NONDET~2; {79301#true} is VALID [2022-04-08 15:13:54,452 INFO L290 TraceCheckUtils]: 43: Hoare triple {79301#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {79301#true} is VALID [2022-04-08 15:13:54,452 INFO L290 TraceCheckUtils]: 44: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-08 15:13:54,452 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {79301#true} {79301#true} #1180#return; {79301#true} is VALID [2022-04-08 15:13:54,452 INFO L290 TraceCheckUtils]: 46: Hoare triple {79301#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {79301#true} is VALID [2022-04-08 15:13:54,452 INFO L290 TraceCheckUtils]: 47: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-08 15:13:54,452 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {79301#true} {79301#true} #1220#return; {79301#true} is VALID [2022-04-08 15:13:54,452 INFO L290 TraceCheckUtils]: 49: Hoare triple {79301#true} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {79301#true} is VALID [2022-04-08 15:13:54,453 INFO L272 TraceCheckUtils]: 50: Hoare triple {79301#true} call stub_driver_init(); {79404#(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 15:13:54,453 INFO L290 TraceCheckUtils]: 51: Hoare triple {79404#(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; {79301#true} is VALID [2022-04-08 15:13:54,453 INFO L290 TraceCheckUtils]: 52: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-08 15:13:54,453 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {79301#true} {79301#true} #1222#return; {79301#true} is VALID [2022-04-08 15:13:54,453 INFO L290 TraceCheckUtils]: 54: Hoare triple {79301#true} assume !!(~status~5 >= 0); {79301#true} is VALID [2022-04-08 15:13:54,453 INFO L290 TraceCheckUtils]: 55: Hoare triple {79301#true} assume !(0 == ~__BLAST_NONDET~0); {79301#true} is VALID [2022-04-08 15:13:54,453 INFO L290 TraceCheckUtils]: 56: Hoare triple {79301#true} assume !(1 == ~__BLAST_NONDET~0); {79301#true} is VALID [2022-04-08 15:13:54,453 INFO L290 TraceCheckUtils]: 57: Hoare triple {79301#true} assume !(2 == ~__BLAST_NONDET~0); {79301#true} is VALID [2022-04-08 15:13:54,453 INFO L290 TraceCheckUtils]: 58: Hoare triple {79301#true} assume 3 == ~__BLAST_NONDET~0; {79301#true} is VALID [2022-04-08 15:13:54,453 INFO L272 TraceCheckUtils]: 59: Hoare triple {79301#true} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {79301#true} is VALID [2022-04-08 15:13:54,453 INFO L290 TraceCheckUtils]: 60: Hoare triple {79301#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(28);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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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); {79301#true} is VALID [2022-04-08 15:13:54,453 INFO L290 TraceCheckUtils]: 61: Hoare triple {79301#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {79301#true} is VALID [2022-04-08 15:13:54,453 INFO L290 TraceCheckUtils]: 62: Hoare triple {79301#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 180 + ~Irp.offset, 8);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 68;havoc #t~mem103.base, #t~mem103.offset; {79301#true} is VALID [2022-04-08 15:13:54,454 INFO L272 TraceCheckUtils]: 63: Hoare triple {79301#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, 52); {79383#(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 15:13:54,454 INFO L290 TraceCheckUtils]: 64: Hoare triple {79383#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {79301#true} is VALID [2022-04-08 15:13:54,454 INFO L290 TraceCheckUtils]: 65: Hoare triple {79301#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {79301#true} is VALID [2022-04-08 15:13:54,454 INFO L290 TraceCheckUtils]: 66: Hoare triple {79301#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {79301#true} is VALID [2022-04-08 15:13:54,454 INFO L290 TraceCheckUtils]: 67: Hoare triple {79301#true} assume #t~loopctr221 % 18446744073709551616 < size % 18446744073709551616;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 8);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 8);#t~loopctr221 := 8 + #t~loopctr221; {79301#true} is VALID [2022-04-08 15:13:54,454 INFO L290 TraceCheckUtils]: 68: Hoare triple {79301#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {79301#true} is VALID [2022-04-08 15:13:54,454 INFO L290 TraceCheckUtils]: 69: Hoare triple {79301#true} assume #res.base == dest.base && #res.offset == dest.offset; {79301#true} is VALID [2022-04-08 15:13:54,454 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {79301#true} {79301#true} #1186#return; {79301#true} is VALID [2022-04-08 15:13:54,454 INFO L290 TraceCheckUtils]: 71: Hoare triple {79301#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {79301#true} is VALID [2022-04-08 15:13:54,454 INFO L290 TraceCheckUtils]: 72: Hoare triple {79301#true} assume !(~s~0 != ~NP~0); {79301#true} is VALID [2022-04-08 15:13:54,455 INFO L290 TraceCheckUtils]: 73: Hoare triple {79301#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {79301#true} is VALID [2022-04-08 15:13:54,455 INFO L290 TraceCheckUtils]: 74: Hoare triple {79301#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 68;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 52 + ~irpSp___0~0.offset, 8);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 60 + ~irpSp___0~0.offset, 8);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, 16 + ~devExt~3.offset, 8); {79301#true} is VALID [2022-04-08 15:13:54,455 INFO L272 TraceCheckUtils]: 75: Hoare triple {79301#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {79405#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:13:54,455 INFO L290 TraceCheckUtils]: 76: Hoare triple {79405#(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; {79301#true} is VALID [2022-04-08 15:13:54,455 INFO L290 TraceCheckUtils]: 77: Hoare triple {79301#true} assume 0 != ~compRegistered~0; {79301#true} is VALID [2022-04-08 15:13:54,456 INFO L272 TraceCheckUtils]: 78: Hoare triple {79301#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {79419#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:13:54,456 INFO L290 TraceCheckUtils]: 79: Hoare triple {79419#(= ~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; {79301#true} is VALID [2022-04-08 15:13:54,457 INFO L272 TraceCheckUtils]: 80: Hoare triple {79301#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {79419#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:13:54,457 INFO L290 TraceCheckUtils]: 81: Hoare triple {79419#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {79301#true} is VALID [2022-04-08 15:13:54,457 INFO L290 TraceCheckUtils]: 82: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-08 15:13:54,457 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {79301#true} {79301#true} #1174#return; {79301#true} is VALID [2022-04-08 15:13:54,457 INFO L290 TraceCheckUtils]: 84: Hoare triple {79301#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {79301#true} is VALID [2022-04-08 15:13:54,457 INFO L290 TraceCheckUtils]: 85: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-08 15:13:54,457 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {79301#true} {79301#true} #1210#return; {79301#true} is VALID [2022-04-08 15:13:54,457 INFO L290 TraceCheckUtils]: 87: Hoare triple {79301#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {79301#true} is VALID [2022-04-08 15:13:54,457 INFO L290 TraceCheckUtils]: 88: Hoare triple {79301#true} assume -1073741802 == ~compRetStatus~0; {79301#true} is VALID [2022-04-08 15:13:54,457 INFO L272 TraceCheckUtils]: 89: Hoare triple {79301#true} call stubMoreProcessingRequired(); {79423#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:13:54,458 INFO L290 TraceCheckUtils]: 90: Hoare triple {79423#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {79301#true} is VALID [2022-04-08 15:13:54,458 INFO L290 TraceCheckUtils]: 91: Hoare triple {79301#true} assume true; {79301#true} is VALID [2022-04-08 15:13:54,458 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {79301#true} {79301#true} #1212#return; {79301#true} is VALID [2022-04-08 15:13:54,458 INFO L290 TraceCheckUtils]: 93: Hoare triple {79301#true} assume !(0 == ~__BLAST_NONDET~11); {79301#true} is VALID [2022-04-08 15:13:54,458 INFO L290 TraceCheckUtils]: 94: Hoare triple {79301#true} assume !(1 == ~__BLAST_NONDET~11); {79301#true} is VALID [2022-04-08 15:13:54,458 INFO L290 TraceCheckUtils]: 95: Hoare triple {79301#true} ~returnVal2~0 := 259; {79417#(<= 259 IofCallDriver_~returnVal2~0)} is VALID [2022-04-08 15:13:54,458 INFO L290 TraceCheckUtils]: 96: Hoare triple {79417#(<= 259 IofCallDriver_~returnVal2~0)} assume !(~s~0 == ~NP~0); {79417#(<= 259 IofCallDriver_~returnVal2~0)} is VALID [2022-04-08 15:13:54,458 INFO L290 TraceCheckUtils]: 97: Hoare triple {79417#(<= 259 IofCallDriver_~returnVal2~0)} assume ~s~0 == ~MPR1~0; {79417#(<= 259 IofCallDriver_~returnVal2~0)} is VALID [2022-04-08 15:13:54,459 INFO L290 TraceCheckUtils]: 98: Hoare triple {79417#(<= 259 IofCallDriver_~returnVal2~0)} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {79417#(<= 259 IofCallDriver_~returnVal2~0)} is VALID [2022-04-08 15:13:54,459 INFO L290 TraceCheckUtils]: 99: Hoare triple {79417#(<= 259 IofCallDriver_~returnVal2~0)} #res := ~returnVal2~0; {79418#(<= 259 |IofCallDriver_#res|)} is VALID [2022-04-08 15:13:54,459 INFO L290 TraceCheckUtils]: 100: Hoare triple {79418#(<= 259 |IofCallDriver_#res|)} assume true; {79418#(<= 259 |IofCallDriver_#res|)} is VALID [2022-04-08 15:13:54,460 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {79418#(<= 259 |IofCallDriver_#res|)} {79301#true} #1192#return; {79379#(<= 259 |KbFilter_PnP_#t~ret109|)} is VALID [2022-04-08 15:13:54,460 INFO L290 TraceCheckUtils]: 102: Hoare triple {79379#(<= 259 |KbFilter_PnP_#t~ret109|)} assume -9223372036854775808 <= #t~ret109 && #t~ret109 <= 9223372036854775807;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {79380#(<= 259 KbFilter_PnP_~status~3)} is VALID [2022-04-08 15:13:54,460 INFO L290 TraceCheckUtils]: 103: Hoare triple {79380#(<= 259 KbFilter_PnP_~status~3)} assume !(259 == ~status~3); {79380#(<= 259 KbFilter_PnP_~status~3)} is VALID [2022-04-08 15:13:54,461 INFO L290 TraceCheckUtils]: 104: Hoare triple {79380#(<= 259 KbFilter_PnP_~status~3)} assume !(~status~3 >= 0); {79302#false} is VALID [2022-04-08 15:13:54,461 INFO L290 TraceCheckUtils]: 105: Hoare triple {79302#false} call write~int(~status~3, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~3 % 4294967296 <= 2147483647 then ~status~3 % 4294967296 else ~status~3 % 4294967296 - 4294967296);call write~int(0, ~Irp.base, 52 + ~Irp.offset, 8); {79302#false} is VALID [2022-04-08 15:13:54,461 INFO L272 TraceCheckUtils]: 106: Hoare triple {79302#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {79302#false} is VALID [2022-04-08 15:13:54,461 INFO L290 TraceCheckUtils]: 107: Hoare triple {79302#false} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {79302#false} is VALID [2022-04-08 15:13:54,461 INFO L290 TraceCheckUtils]: 108: Hoare triple {79302#false} assume !(~s~0 == ~NP~0); {79302#false} is VALID [2022-04-08 15:13:54,461 INFO L272 TraceCheckUtils]: 109: Hoare triple {79302#false} call errorFn(); {79302#false} is VALID [2022-04-08 15:13:54,461 INFO L290 TraceCheckUtils]: 110: Hoare triple {79302#false} assume !false; {79302#false} is VALID [2022-04-08 15:13:54,461 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-04-08 15:13:54,462 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:13:54,462 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [925337448] [2022-04-08 15:13:54,462 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [925337448] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:13:54,462 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:13:54,462 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 15:13:54,462 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:13:54,462 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1606383313] [2022-04-08 15:13:54,462 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1606383313] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:13:54,462 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:13:54,462 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 15:13:54,462 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [968339593] [2022-04-08 15:13:54,462 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:13:54,462 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.642857142857143) internal successors, (79), 5 states have internal predecessors, (79), 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 111 [2022-04-08 15:13:54,463 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:13:54,463 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 5.642857142857143) internal successors, (79), 5 states have internal predecessors, (79), 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 15:13:54,540 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 15:13:54,541 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 15:13:54,541 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:13:54,541 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 15:13:54,541 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=142, Unknown=0, NotChecked=0, Total=182 [2022-04-08 15:13:54,541 INFO L87 Difference]: Start difference. First operand 331 states and 387 transitions. Second operand has 14 states, 14 states have (on average 5.642857142857143) internal successors, (79), 5 states have internal predecessors, (79), 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 15:13:56,670 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 15:14:02,438 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.68s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 15:14:06,800 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:14:06,800 INFO L93 Difference]: Finished difference Result 419 states and 493 transitions. [2022-04-08 15:14:06,800 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 15:14:06,801 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.642857142857143) internal successors, (79), 5 states have internal predecessors, (79), 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 111 [2022-04-08 15:14:06,801 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:14:06,801 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.642857142857143) internal successors, (79), 5 states have internal predecessors, (79), 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 15:14:06,802 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 228 transitions. [2022-04-08 15:14:06,802 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.642857142857143) internal successors, (79), 5 states have internal predecessors, (79), 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 15:14:06,803 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 228 transitions. [2022-04-08 15:14:06,803 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 228 transitions. [2022-04-08 15:14:07,049 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 15:14:07,058 INFO L225 Difference]: With dead ends: 419 [2022-04-08 15:14:07,058 INFO L226 Difference]: Without dead ends: 390 [2022-04-08 15:14:07,066 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 15:14:07,067 INFO L913 BasicCegarLoop]: 149 mSDtfsCounter, 199 mSDsluCounter, 383 mSDsCounter, 0 mSdLazyCounter, 964 mSolverCounterSat, 105 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 204 SdHoareTripleChecker+Valid, 532 SdHoareTripleChecker+Invalid, 1070 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 105 IncrementalHoareTripleChecker+Valid, 964 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.1s IncrementalHoareTripleChecker+Time [2022-04-08 15:14:07,067 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [204 Valid, 532 Invalid, 1070 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [105 Valid, 964 Invalid, 1 Unknown, 0 Unchecked, 6.1s Time] [2022-04-08 15:14:07,067 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 390 states. [2022-04-08 15:14:07,725 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 390 to 341. [2022-04-08 15:14:07,725 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:14:07,725 INFO L82 GeneralOperation]: Start isEquivalent. First operand 390 states. Second operand has 341 states, 266 states have (on average 1.2067669172932332) internal successors, (321), 270 states have internal predecessors, (321), 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 15:14:07,726 INFO L74 IsIncluded]: Start isIncluded. First operand 390 states. Second operand has 341 states, 266 states have (on average 1.2067669172932332) internal successors, (321), 270 states have internal predecessors, (321), 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 15:14:07,726 INFO L87 Difference]: Start difference. First operand 390 states. Second operand has 341 states, 266 states have (on average 1.2067669172932332) internal successors, (321), 270 states have internal predecessors, (321), 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 15:14:07,731 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:14:07,731 INFO L93 Difference]: Finished difference Result 390 states and 457 transitions. [2022-04-08 15:14:07,732 INFO L276 IsEmpty]: Start isEmpty. Operand 390 states and 457 transitions. [2022-04-08 15:14:07,732 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:14:07,732 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:14:07,732 INFO L74 IsIncluded]: Start isIncluded. First operand has 341 states, 266 states have (on average 1.2067669172932332) internal successors, (321), 270 states have internal predecessors, (321), 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 390 states. [2022-04-08 15:14:07,732 INFO L87 Difference]: Start difference. First operand has 341 states, 266 states have (on average 1.2067669172932332) internal successors, (321), 270 states have internal predecessors, (321), 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 390 states. [2022-04-08 15:14:07,738 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:14:07,738 INFO L93 Difference]: Finished difference Result 390 states and 457 transitions. [2022-04-08 15:14:07,738 INFO L276 IsEmpty]: Start isEmpty. Operand 390 states and 457 transitions. [2022-04-08 15:14:07,738 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:14:07,738 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:14:07,738 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:14:07,738 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:14:07,739 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 341 states, 266 states have (on average 1.2067669172932332) internal successors, (321), 270 states have internal predecessors, (321), 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 15:14:07,744 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 341 states to 341 states and 397 transitions. [2022-04-08 15:14:07,744 INFO L78 Accepts]: Start accepts. Automaton has 341 states and 397 transitions. Word has length 111 [2022-04-08 15:14:07,744 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:14:07,745 INFO L478 AbstractCegarLoop]: Abstraction has 341 states and 397 transitions. [2022-04-08 15:14:07,745 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 5.642857142857143) internal successors, (79), 5 states have internal predecessors, (79), 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 15:14:07,745 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 341 states and 397 transitions. [2022-04-08 15:14:08,696 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 397 edges. 397 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 15:14:08,696 INFO L276 IsEmpty]: Start isEmpty. Operand 341 states and 397 transitions. [2022-04-08 15:14:08,697 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 113 [2022-04-08 15:14:08,697 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:14:08,697 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] [2022-04-08 15:14:08,697 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable32 [2022-04-08 15:14:08,697 INFO L403 AbstractCegarLoop]: === Iteration 34 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:14:08,697 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:14:08,697 INFO L85 PathProgramCache]: Analyzing trace with hash 1354550086, now seen corresponding path program 1 times [2022-04-08 15:14:08,697 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:14:08,697 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [954655345] [2022-04-08 15:14:08,699 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 15:14:08,699 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 15:14:08,699 INFO L85 PathProgramCache]: Analyzing trace with hash 1354550086, now seen corresponding path program 2 times [2022-04-08 15:14:08,700 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:14:08,700 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [185568213] [2022-04-08 15:14:08,700 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:14:08,700 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:14:08,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:08,904 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:14:08,906 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:08,910 INFO L290 TraceCheckUtils]: 0: Hoare triple {81820#(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; {81740#true} is VALID [2022-04-08 15:14:08,910 INFO L290 TraceCheckUtils]: 1: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-08 15:14:08,910 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {81740#true} {81740#true} #1270#return; {81740#true} is VALID [2022-04-08 15:14:08,935 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:14:08,937 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:08,952 INFO L290 TraceCheckUtils]: 0: Hoare triple {81821#(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; {81822#(and (<= 6 ~MPR3~0) (= (+ (- 1) ~NP~0) 0))} is VALID [2022-04-08 15:14:08,953 INFO L290 TraceCheckUtils]: 1: Hoare triple {81822#(and (<= 6 ~MPR3~0) (= (+ (- 1) ~NP~0) 0))} assume true; {81822#(and (<= 6 ~MPR3~0) (= (+ (- 1) ~NP~0) 0))} is VALID [2022-04-08 15:14:08,953 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {81822#(and (<= 6 ~MPR3~0) (= (+ (- 1) ~NP~0) 0))} {81740#true} #1216#return; {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 15:14:08,962 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:14:08,970 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:08,977 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:14:08,978 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:08,982 INFO L290 TraceCheckUtils]: 0: Hoare triple {81740#true} ~cond := #in~cond; {81740#true} is VALID [2022-04-08 15:14:08,982 INFO L290 TraceCheckUtils]: 1: Hoare triple {81740#true} assume !(0 == ~cond); {81740#true} is VALID [2022-04-08 15:14:08,982 INFO L290 TraceCheckUtils]: 2: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-08 15:14:08,982 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {81740#true} {81740#true} #1254#return; {81740#true} is VALID [2022-04-08 15:14:08,982 INFO L290 TraceCheckUtils]: 0: Hoare triple {81823#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {81740#true} is VALID [2022-04-08 15:14:08,982 INFO L272 TraceCheckUtils]: 1: Hoare triple {81740#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {81740#true} is VALID [2022-04-08 15:14:08,982 INFO L290 TraceCheckUtils]: 2: Hoare triple {81740#true} ~cond := #in~cond; {81740#true} is VALID [2022-04-08 15:14:08,982 INFO L290 TraceCheckUtils]: 3: Hoare triple {81740#true} assume !(0 == ~cond); {81740#true} is VALID [2022-04-08 15:14:08,982 INFO L290 TraceCheckUtils]: 4: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-08 15:14:08,982 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {81740#true} {81740#true} #1254#return; {81740#true} is VALID [2022-04-08 15:14:08,983 INFO L290 TraceCheckUtils]: 6: Hoare triple {81740#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {81740#true} is VALID [2022-04-08 15:14:08,983 INFO L290 TraceCheckUtils]: 7: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-08 15:14:08,983 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {81740#true} {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} #1218#return; {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 15:14:08,993 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:14:09,009 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:09,019 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:14:09,022 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:09,028 INFO L290 TraceCheckUtils]: 0: Hoare triple {81828#(and (= |old(#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; {81740#true} is VALID [2022-04-08 15:14:09,028 INFO L290 TraceCheckUtils]: 1: Hoare triple {81740#true} assume 0 == ~__BLAST_NONDET~5; {81740#true} is VALID [2022-04-08 15:14:09,028 INFO L290 TraceCheckUtils]: 2: Hoare triple {81740#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {81740#true} is VALID [2022-04-08 15:14:09,028 INFO L290 TraceCheckUtils]: 3: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-08 15:14:09,028 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {81740#true} {81740#true} #1176#return; {81740#true} is VALID [2022-04-08 15:14:09,028 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 15:14:09,029 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:09,034 INFO L290 TraceCheckUtils]: 0: Hoare triple {81823#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {81740#true} is VALID [2022-04-08 15:14:09,034 INFO L290 TraceCheckUtils]: 1: Hoare triple {81740#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {81740#true} is VALID [2022-04-08 15:14:09,035 INFO L290 TraceCheckUtils]: 2: Hoare triple {81740#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {81740#true} is VALID [2022-04-08 15:14:09,035 INFO L290 TraceCheckUtils]: 3: Hoare triple {81740#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {81740#true} is VALID [2022-04-08 15:14:09,035 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {81740#true} {81740#true} #1178#return; {81740#true} is VALID [2022-04-08 15:14:09,035 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-08 15:14:09,036 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:09,040 INFO L290 TraceCheckUtils]: 0: Hoare triple {81740#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; {81740#true} is VALID [2022-04-08 15:14:09,040 INFO L290 TraceCheckUtils]: 1: Hoare triple {81740#true} assume 0 == ~__BLAST_NONDET~2; {81740#true} is VALID [2022-04-08 15:14:09,040 INFO L290 TraceCheckUtils]: 2: Hoare triple {81740#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {81740#true} is VALID [2022-04-08 15:14:09,040 INFO L290 TraceCheckUtils]: 3: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-08 15:14:09,040 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {81740#true} {81740#true} #1180#return; {81740#true} is VALID [2022-04-08 15:14:09,040 INFO L290 TraceCheckUtils]: 0: Hoare triple {81828#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {81740#true} is VALID [2022-04-08 15:14:09,041 INFO L272 TraceCheckUtils]: 1: Hoare triple {81740#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {81828#(and (= |old(#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 15:14:09,041 INFO L290 TraceCheckUtils]: 2: Hoare triple {81828#(and (= |old(#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; {81740#true} is VALID [2022-04-08 15:14:09,042 INFO L290 TraceCheckUtils]: 3: Hoare triple {81740#true} assume 0 == ~__BLAST_NONDET~5; {81740#true} is VALID [2022-04-08 15:14:09,042 INFO L290 TraceCheckUtils]: 4: Hoare triple {81740#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {81740#true} is VALID [2022-04-08 15:14:09,042 INFO L290 TraceCheckUtils]: 5: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-08 15:14:09,042 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {81740#true} {81740#true} #1176#return; {81740#true} is VALID [2022-04-08 15:14:09,042 INFO L290 TraceCheckUtils]: 7: Hoare triple {81740#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {81740#true} is VALID [2022-04-08 15:14:09,042 INFO L290 TraceCheckUtils]: 8: Hoare triple {81740#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {81740#true} is VALID [2022-04-08 15:14:09,042 INFO L272 TraceCheckUtils]: 9: Hoare triple {81740#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {81823#(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 15:14:09,042 INFO L290 TraceCheckUtils]: 10: Hoare triple {81823#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {81740#true} is VALID [2022-04-08 15:14:09,042 INFO L290 TraceCheckUtils]: 11: Hoare triple {81740#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {81740#true} is VALID [2022-04-08 15:14:09,043 INFO L290 TraceCheckUtils]: 12: Hoare triple {81740#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {81740#true} is VALID [2022-04-08 15:14:09,043 INFO L290 TraceCheckUtils]: 13: Hoare triple {81740#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {81740#true} is VALID [2022-04-08 15:14:09,043 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {81740#true} {81740#true} #1178#return; {81740#true} is VALID [2022-04-08 15:14:09,043 INFO L290 TraceCheckUtils]: 15: Hoare triple {81740#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {81740#true} is VALID [2022-04-08 15:14:09,043 INFO L272 TraceCheckUtils]: 16: Hoare triple {81740#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {81740#true} is VALID [2022-04-08 15:14:09,043 INFO L290 TraceCheckUtils]: 17: Hoare triple {81740#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; {81740#true} is VALID [2022-04-08 15:14:09,043 INFO L290 TraceCheckUtils]: 18: Hoare triple {81740#true} assume 0 == ~__BLAST_NONDET~2; {81740#true} is VALID [2022-04-08 15:14:09,043 INFO L290 TraceCheckUtils]: 19: Hoare triple {81740#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {81740#true} is VALID [2022-04-08 15:14:09,043 INFO L290 TraceCheckUtils]: 20: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-08 15:14:09,043 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {81740#true} {81740#true} #1180#return; {81740#true} is VALID [2022-04-08 15:14:09,043 INFO L290 TraceCheckUtils]: 22: Hoare triple {81740#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {81740#true} is VALID [2022-04-08 15:14:09,043 INFO L290 TraceCheckUtils]: 23: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-08 15:14:09,044 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {81740#true} {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} #1220#return; {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 15:14:09,057 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-08 15:14:09,058 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:09,065 INFO L290 TraceCheckUtils]: 0: Hoare triple {81844#(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; {81740#true} is VALID [2022-04-08 15:14:09,066 INFO L290 TraceCheckUtils]: 1: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-08 15:14:09,066 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {81740#true} {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} #1222#return; {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 15:14:09,066 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-08 15:14:09,074 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:09,081 INFO L290 TraceCheckUtils]: 0: Hoare triple {81823#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {81740#true} is VALID [2022-04-08 15:14:09,081 INFO L290 TraceCheckUtils]: 1: Hoare triple {81740#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {81740#true} is VALID [2022-04-08 15:14:09,082 INFO L290 TraceCheckUtils]: 2: Hoare triple {81740#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {81740#true} is VALID [2022-04-08 15:14:09,082 INFO L290 TraceCheckUtils]: 3: Hoare triple {81740#true} assume #t~loopctr221 % 18446744073709551616 < size % 18446744073709551616;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 8);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 8);#t~loopctr221 := 8 + #t~loopctr221; {81740#true} is VALID [2022-04-08 15:14:09,082 INFO L290 TraceCheckUtils]: 4: Hoare triple {81740#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {81740#true} is VALID [2022-04-08 15:14:09,082 INFO L290 TraceCheckUtils]: 5: Hoare triple {81740#true} assume #res.base == dest.base && #res.offset == dest.offset; {81740#true} is VALID [2022-04-08 15:14:09,082 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {81740#true} {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} #1186#return; {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 15:14:09,091 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 75 [2022-04-08 15:14:09,096 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:09,121 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 15:14:09,123 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:09,127 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:14:09,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:09,132 INFO L290 TraceCheckUtils]: 0: Hoare triple {81858#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {81740#true} is VALID [2022-04-08 15:14:09,133 INFO L290 TraceCheckUtils]: 1: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-08 15:14:09,133 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {81740#true} {81740#true} #1174#return; {81740#true} is VALID [2022-04-08 15:14:09,133 INFO L290 TraceCheckUtils]: 0: Hoare triple {81858#(= ~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; {81740#true} is VALID [2022-04-08 15:14:09,133 INFO L272 TraceCheckUtils]: 1: Hoare triple {81740#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {81858#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:14:09,133 INFO L290 TraceCheckUtils]: 2: Hoare triple {81858#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {81740#true} is VALID [2022-04-08 15:14:09,133 INFO L290 TraceCheckUtils]: 3: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-08 15:14:09,133 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {81740#true} {81740#true} #1174#return; {81740#true} is VALID [2022-04-08 15:14:09,133 INFO L290 TraceCheckUtils]: 5: Hoare triple {81740#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {81740#true} is VALID [2022-04-08 15:14:09,133 INFO L290 TraceCheckUtils]: 6: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-08 15:14:09,134 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {81740#true} {81740#true} #1210#return; {81740#true} is VALID [2022-04-08 15:14:09,142 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 15:14:09,142 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:09,146 INFO L290 TraceCheckUtils]: 0: Hoare triple {81862#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {81740#true} is VALID [2022-04-08 15:14:09,146 INFO L290 TraceCheckUtils]: 1: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-08 15:14:09,146 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {81740#true} {81740#true} #1212#return; {81740#true} is VALID [2022-04-08 15:14:09,146 INFO L290 TraceCheckUtils]: 0: Hoare triple {81845#(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; {81740#true} is VALID [2022-04-08 15:14:09,146 INFO L290 TraceCheckUtils]: 1: Hoare triple {81740#true} assume 0 != ~compRegistered~0; {81740#true} is VALID [2022-04-08 15:14:09,147 INFO L272 TraceCheckUtils]: 2: Hoare triple {81740#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {81858#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:14:09,147 INFO L290 TraceCheckUtils]: 3: Hoare triple {81858#(= ~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; {81740#true} is VALID [2022-04-08 15:14:09,147 INFO L272 TraceCheckUtils]: 4: Hoare triple {81740#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {81858#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:14:09,148 INFO L290 TraceCheckUtils]: 5: Hoare triple {81858#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {81740#true} is VALID [2022-04-08 15:14:09,148 INFO L290 TraceCheckUtils]: 6: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-08 15:14:09,148 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {81740#true} {81740#true} #1174#return; {81740#true} is VALID [2022-04-08 15:14:09,148 INFO L290 TraceCheckUtils]: 8: Hoare triple {81740#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {81740#true} is VALID [2022-04-08 15:14:09,148 INFO L290 TraceCheckUtils]: 9: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-08 15:14:09,148 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {81740#true} {81740#true} #1210#return; {81740#true} is VALID [2022-04-08 15:14:09,148 INFO L290 TraceCheckUtils]: 11: Hoare triple {81740#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {81740#true} is VALID [2022-04-08 15:14:09,148 INFO L290 TraceCheckUtils]: 12: Hoare triple {81740#true} assume -1073741802 == ~compRetStatus~0; {81740#true} is VALID [2022-04-08 15:14:09,148 INFO L272 TraceCheckUtils]: 13: Hoare triple {81740#true} call stubMoreProcessingRequired(); {81862#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:14:09,148 INFO L290 TraceCheckUtils]: 14: Hoare triple {81862#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {81740#true} is VALID [2022-04-08 15:14:09,148 INFO L290 TraceCheckUtils]: 15: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-08 15:14:09,148 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {81740#true} {81740#true} #1212#return; {81740#true} is VALID [2022-04-08 15:14:09,148 INFO L290 TraceCheckUtils]: 17: Hoare triple {81740#true} assume !(0 == ~__BLAST_NONDET~11); {81740#true} is VALID [2022-04-08 15:14:09,148 INFO L290 TraceCheckUtils]: 18: Hoare triple {81740#true} assume 1 == ~__BLAST_NONDET~11; {81740#true} is VALID [2022-04-08 15:14:09,149 INFO L290 TraceCheckUtils]: 19: Hoare triple {81740#true} ~returnVal2~0 := -1073741823; {81740#true} is VALID [2022-04-08 15:14:09,149 INFO L290 TraceCheckUtils]: 20: Hoare triple {81740#true} assume !(~s~0 == ~NP~0); {81740#true} is VALID [2022-04-08 15:14:09,149 INFO L290 TraceCheckUtils]: 21: Hoare triple {81740#true} assume ~s~0 == ~MPR1~0; {81740#true} is VALID [2022-04-08 15:14:09,149 INFO L290 TraceCheckUtils]: 22: Hoare triple {81740#true} assume !(259 == ~returnVal2~0);~s~0 := ~NP~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {81857#(or (= ~s~0 1) (= ~s~0 ~NP~0))} is VALID [2022-04-08 15:14:09,149 INFO L290 TraceCheckUtils]: 23: Hoare triple {81857#(or (= ~s~0 1) (= ~s~0 ~NP~0))} #res := ~returnVal2~0; {81857#(or (= ~s~0 1) (= ~s~0 ~NP~0))} is VALID [2022-04-08 15:14:09,150 INFO L290 TraceCheckUtils]: 24: Hoare triple {81857#(or (= ~s~0 1) (= ~s~0 ~NP~0))} assume true; {81857#(or (= ~s~0 1) (= ~s~0 ~NP~0))} is VALID [2022-04-08 15:14:09,150 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {81857#(or (= ~s~0 1) (= ~s~0 ~NP~0))} {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} #1192#return; {81819#(and (= ~s~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 15:14:09,152 INFO L272 TraceCheckUtils]: 0: Hoare triple {81740#true} call ULTIMATE.init(); {81820#(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 15:14:09,152 INFO L290 TraceCheckUtils]: 1: Hoare triple {81820#(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; {81740#true} is VALID [2022-04-08 15:14:09,152 INFO L290 TraceCheckUtils]: 2: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-08 15:14:09,152 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {81740#true} {81740#true} #1270#return; {81740#true} is VALID [2022-04-08 15:14:09,152 INFO L272 TraceCheckUtils]: 4: Hoare triple {81740#true} call #t~ret213 := main(); {81740#true} is VALID [2022-04-08 15:14:09,152 INFO L290 TraceCheckUtils]: 5: Hoare triple {81740#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {81740#true} is VALID [2022-04-08 15:14:09,153 INFO L272 TraceCheckUtils]: 6: Hoare triple {81740#true} call _BLAST_init(); {81821#(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 15:14:09,154 INFO L290 TraceCheckUtils]: 7: Hoare triple {81821#(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; {81822#(and (<= 6 ~MPR3~0) (= (+ (- 1) ~NP~0) 0))} is VALID [2022-04-08 15:14:09,154 INFO L290 TraceCheckUtils]: 8: Hoare triple {81822#(and (<= 6 ~MPR3~0) (= (+ (- 1) ~NP~0) 0))} assume true; {81822#(and (<= 6 ~MPR3~0) (= (+ (- 1) ~NP~0) 0))} is VALID [2022-04-08 15:14:09,154 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {81822#(and (<= 6 ~MPR3~0) (= (+ (- 1) ~NP~0) 0))} {81740#true} #1216#return; {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 15:14:09,155 INFO L272 TraceCheckUtils]: 10: Hoare triple {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {81823#(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 15:14:09,155 INFO L290 TraceCheckUtils]: 11: Hoare triple {81823#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {81740#true} is VALID [2022-04-08 15:14:09,155 INFO L272 TraceCheckUtils]: 12: Hoare triple {81740#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {81740#true} is VALID [2022-04-08 15:14:09,155 INFO L290 TraceCheckUtils]: 13: Hoare triple {81740#true} ~cond := #in~cond; {81740#true} is VALID [2022-04-08 15:14:09,155 INFO L290 TraceCheckUtils]: 14: Hoare triple {81740#true} assume !(0 == ~cond); {81740#true} is VALID [2022-04-08 15:14:09,156 INFO L290 TraceCheckUtils]: 15: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-08 15:14:09,156 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {81740#true} {81740#true} #1254#return; {81740#true} is VALID [2022-04-08 15:14:09,156 INFO L290 TraceCheckUtils]: 17: Hoare triple {81740#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {81740#true} is VALID [2022-04-08 15:14:09,156 INFO L290 TraceCheckUtils]: 18: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-08 15:14:09,156 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {81740#true} {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} #1218#return; {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 15:14:09,157 INFO L290 TraceCheckUtils]: 20: Hoare triple {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 15:14:09,157 INFO L290 TraceCheckUtils]: 21: Hoare triple {81748#(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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 15:14:09,158 INFO L290 TraceCheckUtils]: 22: Hoare triple {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 15:14:09,158 INFO L272 TraceCheckUtils]: 23: Hoare triple {81748#(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); {81828#(and (= |old(#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 15:14:09,159 INFO L290 TraceCheckUtils]: 24: Hoare triple {81828#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {81740#true} is VALID [2022-04-08 15:14:09,160 INFO L272 TraceCheckUtils]: 25: Hoare triple {81740#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {81828#(and (= |old(#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 15:14:09,160 INFO L290 TraceCheckUtils]: 26: Hoare triple {81828#(and (= |old(#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; {81740#true} is VALID [2022-04-08 15:14:09,160 INFO L290 TraceCheckUtils]: 27: Hoare triple {81740#true} assume 0 == ~__BLAST_NONDET~5; {81740#true} is VALID [2022-04-08 15:14:09,160 INFO L290 TraceCheckUtils]: 28: Hoare triple {81740#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {81740#true} is VALID [2022-04-08 15:14:09,160 INFO L290 TraceCheckUtils]: 29: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-08 15:14:09,160 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {81740#true} {81740#true} #1176#return; {81740#true} is VALID [2022-04-08 15:14:09,160 INFO L290 TraceCheckUtils]: 31: Hoare triple {81740#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {81740#true} is VALID [2022-04-08 15:14:09,160 INFO L290 TraceCheckUtils]: 32: Hoare triple {81740#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {81740#true} is VALID [2022-04-08 15:14:09,161 INFO L272 TraceCheckUtils]: 33: Hoare triple {81740#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {81823#(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 15:14:09,173 INFO L290 TraceCheckUtils]: 34: Hoare triple {81823#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {81740#true} is VALID [2022-04-08 15:14:09,173 INFO L290 TraceCheckUtils]: 35: Hoare triple {81740#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {81740#true} is VALID [2022-04-08 15:14:09,173 INFO L290 TraceCheckUtils]: 36: Hoare triple {81740#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {81740#true} is VALID [2022-04-08 15:14:09,173 INFO L290 TraceCheckUtils]: 37: Hoare triple {81740#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {81740#true} is VALID [2022-04-08 15:14:09,173 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {81740#true} {81740#true} #1178#return; {81740#true} is VALID [2022-04-08 15:14:09,173 INFO L290 TraceCheckUtils]: 39: Hoare triple {81740#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {81740#true} is VALID [2022-04-08 15:14:09,173 INFO L272 TraceCheckUtils]: 40: Hoare triple {81740#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {81740#true} is VALID [2022-04-08 15:14:09,173 INFO L290 TraceCheckUtils]: 41: Hoare triple {81740#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; {81740#true} is VALID [2022-04-08 15:14:09,173 INFO L290 TraceCheckUtils]: 42: Hoare triple {81740#true} assume 0 == ~__BLAST_NONDET~2; {81740#true} is VALID [2022-04-08 15:14:09,173 INFO L290 TraceCheckUtils]: 43: Hoare triple {81740#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {81740#true} is VALID [2022-04-08 15:14:09,173 INFO L290 TraceCheckUtils]: 44: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-08 15:14:09,173 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {81740#true} {81740#true} #1180#return; {81740#true} is VALID [2022-04-08 15:14:09,174 INFO L290 TraceCheckUtils]: 46: Hoare triple {81740#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {81740#true} is VALID [2022-04-08 15:14:09,174 INFO L290 TraceCheckUtils]: 47: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-08 15:14:09,175 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {81740#true} {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} #1220#return; {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 15:14:09,183 INFO L290 TraceCheckUtils]: 49: Hoare triple {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 15:14:09,184 INFO L272 TraceCheckUtils]: 50: Hoare triple {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} call stub_driver_init(); {81844#(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 15:14:09,184 INFO L290 TraceCheckUtils]: 51: Hoare triple {81844#(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; {81740#true} is VALID [2022-04-08 15:14:09,184 INFO L290 TraceCheckUtils]: 52: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-08 15:14:09,185 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {81740#true} {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} #1222#return; {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 15:14:09,185 INFO L290 TraceCheckUtils]: 54: Hoare triple {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} assume !!(~status~5 >= 0); {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 15:14:09,186 INFO L290 TraceCheckUtils]: 55: Hoare triple {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} assume !(0 == ~__BLAST_NONDET~0); {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 15:14:09,186 INFO L290 TraceCheckUtils]: 56: Hoare triple {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} assume !(1 == ~__BLAST_NONDET~0); {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 15:14:09,186 INFO L290 TraceCheckUtils]: 57: Hoare triple {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} assume !(2 == ~__BLAST_NONDET~0); {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 15:14:09,187 INFO L290 TraceCheckUtils]: 58: Hoare triple {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} assume 3 == ~__BLAST_NONDET~0; {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 15:14:09,187 INFO L272 TraceCheckUtils]: 59: Hoare triple {81748#(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); {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 15:14:09,188 INFO L290 TraceCheckUtils]: 60: Hoare triple {81748#(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(28);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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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); {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 15:14:09,188 INFO L290 TraceCheckUtils]: 61: Hoare triple {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} assume 0 == #t~mem81 % 256;havoc #t~mem81; {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 15:14:09,189 INFO L290 TraceCheckUtils]: 62: Hoare triple {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 180 + ~Irp.offset, 8);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 68;havoc #t~mem103.base, #t~mem103.offset; {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 15:14:09,190 INFO L272 TraceCheckUtils]: 63: Hoare triple {81748#(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, 52); {81823#(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 15:14:09,190 INFO L290 TraceCheckUtils]: 64: Hoare triple {81823#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {81740#true} is VALID [2022-04-08 15:14:09,190 INFO L290 TraceCheckUtils]: 65: Hoare triple {81740#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {81740#true} is VALID [2022-04-08 15:14:09,190 INFO L290 TraceCheckUtils]: 66: Hoare triple {81740#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {81740#true} is VALID [2022-04-08 15:14:09,190 INFO L290 TraceCheckUtils]: 67: Hoare triple {81740#true} assume #t~loopctr221 % 18446744073709551616 < size % 18446744073709551616;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 8);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 8);#t~loopctr221 := 8 + #t~loopctr221; {81740#true} is VALID [2022-04-08 15:14:09,190 INFO L290 TraceCheckUtils]: 68: Hoare triple {81740#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {81740#true} is VALID [2022-04-08 15:14:09,190 INFO L290 TraceCheckUtils]: 69: Hoare triple {81740#true} assume #res.base == dest.base && #res.offset == dest.offset; {81740#true} is VALID [2022-04-08 15:14:09,191 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {81740#true} {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} #1186#return; {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 15:14:09,191 INFO L290 TraceCheckUtils]: 71: Hoare triple {81748#(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); {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 15:14:09,192 INFO L290 TraceCheckUtils]: 72: Hoare triple {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} assume !(~s~0 != ~NP~0); {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 15:14:09,192 INFO L290 TraceCheckUtils]: 73: Hoare triple {81748#(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; {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 15:14:09,193 INFO L290 TraceCheckUtils]: 74: Hoare triple {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 68;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 52 + ~irpSp___0~0.offset, 8);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 60 + ~irpSp___0~0.offset, 8);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, 16 + ~devExt~3.offset, 8); {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 15:14:09,194 INFO L272 TraceCheckUtils]: 75: Hoare triple {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {81845#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:14:09,194 INFO L290 TraceCheckUtils]: 76: Hoare triple {81845#(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; {81740#true} is VALID [2022-04-08 15:14:09,194 INFO L290 TraceCheckUtils]: 77: Hoare triple {81740#true} assume 0 != ~compRegistered~0; {81740#true} is VALID [2022-04-08 15:14:09,195 INFO L272 TraceCheckUtils]: 78: Hoare triple {81740#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {81858#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:14:09,195 INFO L290 TraceCheckUtils]: 79: Hoare triple {81858#(= ~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; {81740#true} is VALID [2022-04-08 15:14:09,196 INFO L272 TraceCheckUtils]: 80: Hoare triple {81740#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {81858#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:14:09,196 INFO L290 TraceCheckUtils]: 81: Hoare triple {81858#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {81740#true} is VALID [2022-04-08 15:14:09,196 INFO L290 TraceCheckUtils]: 82: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-08 15:14:09,196 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {81740#true} {81740#true} #1174#return; {81740#true} is VALID [2022-04-08 15:14:09,196 INFO L290 TraceCheckUtils]: 84: Hoare triple {81740#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {81740#true} is VALID [2022-04-08 15:14:09,196 INFO L290 TraceCheckUtils]: 85: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-08 15:14:09,196 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {81740#true} {81740#true} #1210#return; {81740#true} is VALID [2022-04-08 15:14:09,196 INFO L290 TraceCheckUtils]: 87: Hoare triple {81740#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {81740#true} is VALID [2022-04-08 15:14:09,196 INFO L290 TraceCheckUtils]: 88: Hoare triple {81740#true} assume -1073741802 == ~compRetStatus~0; {81740#true} is VALID [2022-04-08 15:14:09,196 INFO L272 TraceCheckUtils]: 89: Hoare triple {81740#true} call stubMoreProcessingRequired(); {81862#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:14:09,197 INFO L290 TraceCheckUtils]: 90: Hoare triple {81862#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {81740#true} is VALID [2022-04-08 15:14:09,197 INFO L290 TraceCheckUtils]: 91: Hoare triple {81740#true} assume true; {81740#true} is VALID [2022-04-08 15:14:09,197 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {81740#true} {81740#true} #1212#return; {81740#true} is VALID [2022-04-08 15:14:09,197 INFO L290 TraceCheckUtils]: 93: Hoare triple {81740#true} assume !(0 == ~__BLAST_NONDET~11); {81740#true} is VALID [2022-04-08 15:14:09,197 INFO L290 TraceCheckUtils]: 94: Hoare triple {81740#true} assume 1 == ~__BLAST_NONDET~11; {81740#true} is VALID [2022-04-08 15:14:09,197 INFO L290 TraceCheckUtils]: 95: Hoare triple {81740#true} ~returnVal2~0 := -1073741823; {81740#true} is VALID [2022-04-08 15:14:09,197 INFO L290 TraceCheckUtils]: 96: Hoare triple {81740#true} assume !(~s~0 == ~NP~0); {81740#true} is VALID [2022-04-08 15:14:09,197 INFO L290 TraceCheckUtils]: 97: Hoare triple {81740#true} assume ~s~0 == ~MPR1~0; {81740#true} is VALID [2022-04-08 15:14:09,197 INFO L290 TraceCheckUtils]: 98: Hoare triple {81740#true} assume !(259 == ~returnVal2~0);~s~0 := ~NP~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {81857#(or (= ~s~0 1) (= ~s~0 ~NP~0))} is VALID [2022-04-08 15:14:09,198 INFO L290 TraceCheckUtils]: 99: Hoare triple {81857#(or (= ~s~0 1) (= ~s~0 ~NP~0))} #res := ~returnVal2~0; {81857#(or (= ~s~0 1) (= ~s~0 ~NP~0))} is VALID [2022-04-08 15:14:09,198 INFO L290 TraceCheckUtils]: 100: Hoare triple {81857#(or (= ~s~0 1) (= ~s~0 ~NP~0))} assume true; {81857#(or (= ~s~0 1) (= ~s~0 ~NP~0))} is VALID [2022-04-08 15:14:09,199 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {81857#(or (= ~s~0 1) (= ~s~0 ~NP~0))} {81748#(and (= ~NP~0 1) (not (= ~MPR3~0 1)))} #1192#return; {81819#(and (= ~s~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 15:14:09,199 INFO L290 TraceCheckUtils]: 102: Hoare triple {81819#(and (= ~s~0 1) (not (= ~MPR3~0 1)))} assume -9223372036854775808 <= #t~ret109 && #t~ret109 <= 9223372036854775807;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {81819#(and (= ~s~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 15:14:09,199 INFO L290 TraceCheckUtils]: 103: Hoare triple {81819#(and (= ~s~0 1) (not (= ~MPR3~0 1)))} assume 259 == ~status~3; {81819#(and (= ~s~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 15:14:09,200 INFO L272 TraceCheckUtils]: 104: Hoare triple {81819#(and (= ~s~0 1) (not (= ~MPR3~0 1)))} call #t~ret110 := KeWaitForSingleObject(~#event~1.base, ~#event~1.offset, 0, 0, 0, 0, 0); {81819#(and (= ~s~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 15:14:09,201 INFO L290 TraceCheckUtils]: 105: Hoare triple {81819#(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; {81819#(and (= ~s~0 1) (not (= ~MPR3~0 1)))} is VALID [2022-04-08 15:14:09,201 INFO L290 TraceCheckUtils]: 106: Hoare triple {81819#(and (= ~s~0 1) (not (= ~MPR3~0 1)))} assume ~s~0 == ~MPR3~0; {81741#false} is VALID [2022-04-08 15:14:09,201 INFO L290 TraceCheckUtils]: 107: Hoare triple {81741#false} assume !(1 == ~setEventCalled~0); {81741#false} is VALID [2022-04-08 15:14:09,201 INFO L290 TraceCheckUtils]: 108: Hoare triple {81741#false} assume !(1 == ~customIrp~0); {81741#false} is VALID [2022-04-08 15:14:09,201 INFO L290 TraceCheckUtils]: 109: Hoare triple {81741#false} assume ~s~0 == ~MPR3~0; {81741#false} is VALID [2022-04-08 15:14:09,201 INFO L272 TraceCheckUtils]: 110: Hoare triple {81741#false} call errorFn(); {81741#false} is VALID [2022-04-08 15:14:09,201 INFO L290 TraceCheckUtils]: 111: Hoare triple {81741#false} assume !false; {81741#false} is VALID [2022-04-08 15:14:09,202 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-04-08 15:14:09,202 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:14:09,202 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [185568213] [2022-04-08 15:14:09,202 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [185568213] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:14:09,202 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:14:09,202 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 15:14:09,202 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:14:09,202 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [954655345] [2022-04-08 15:14:09,202 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [954655345] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:14:09,202 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:14:09,202 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 15:14:09,202 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1556392693] [2022-04-08 15:14:09,202 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:14:09,203 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.714285714285714) internal successors, (80), 6 states have internal predecessors, (80), 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 112 [2022-04-08 15:14:09,203 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:14:09,203 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 5.714285714285714) internal successors, (80), 6 states have internal predecessors, (80), 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 15:14:09,295 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 15:14:09,295 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 15:14:09,295 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:14:09,295 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 15:14:09,295 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=140, Unknown=0, NotChecked=0, Total=182 [2022-04-08 15:14:09,295 INFO L87 Difference]: Start difference. First operand 341 states and 397 transitions. Second operand has 14 states, 14 states have (on average 5.714285714285714) internal successors, (80), 6 states have internal predecessors, (80), 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 15:14:11,497 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 15:14:17,248 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:14:17,248 INFO L93 Difference]: Finished difference Result 420 states and 488 transitions. [2022-04-08 15:14:17,248 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-04-08 15:14:17,248 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.714285714285714) internal successors, (80), 6 states have internal predecessors, (80), 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 112 [2022-04-08 15:14:17,249 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:14:17,249 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.714285714285714) internal successors, (80), 6 states have internal predecessors, (80), 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 15:14:17,250 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 265 transitions. [2022-04-08 15:14:17,250 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.714285714285714) internal successors, (80), 6 states have internal predecessors, (80), 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 15:14:17,252 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 265 transitions. [2022-04-08 15:14:17,252 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 21 states and 265 transitions. [2022-04-08 15:14:17,535 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 265 edges. 265 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 15:14:17,541 INFO L225 Difference]: With dead ends: 420 [2022-04-08 15:14:17,541 INFO L226 Difference]: Without dead ends: 373 [2022-04-08 15:14:17,542 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 15:14:17,542 INFO L913 BasicCegarLoop]: 130 mSDtfsCounter, 688 mSDsluCounter, 160 mSDsCounter, 0 mSdLazyCounter, 402 mSolverCounterSat, 296 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 693 SdHoareTripleChecker+Valid, 290 SdHoareTripleChecker+Invalid, 699 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 296 IncrementalHoareTripleChecker+Valid, 402 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.0s IncrementalHoareTripleChecker+Time [2022-04-08 15:14:17,542 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [693 Valid, 290 Invalid, 699 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [296 Valid, 402 Invalid, 1 Unknown, 0 Unchecked, 4.0s Time] [2022-04-08 15:14:17,542 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 373 states. [2022-04-08 15:14:18,305 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 373 to 335. [2022-04-08 15:14:18,305 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:14:18,306 INFO L82 GeneralOperation]: Start isEquivalent. First operand 373 states. Second operand has 335 states, 260 states have (on average 1.1807692307692308) internal successors, (307), 264 states have internal predecessors, (307), 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 15:14:18,306 INFO L74 IsIncluded]: Start isIncluded. First operand 373 states. Second operand has 335 states, 260 states have (on average 1.1807692307692308) internal successors, (307), 264 states have internal predecessors, (307), 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 15:14:18,306 INFO L87 Difference]: Start difference. First operand 373 states. Second operand has 335 states, 260 states have (on average 1.1807692307692308) internal successors, (307), 264 states have internal predecessors, (307), 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 15:14:18,311 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:14:18,311 INFO L93 Difference]: Finished difference Result 373 states and 429 transitions. [2022-04-08 15:14:18,311 INFO L276 IsEmpty]: Start isEmpty. Operand 373 states and 429 transitions. [2022-04-08 15:14:18,311 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:14:18,311 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:14:18,312 INFO L74 IsIncluded]: Start isIncluded. First operand has 335 states, 260 states have (on average 1.1807692307692308) internal successors, (307), 264 states have internal predecessors, (307), 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 373 states. [2022-04-08 15:14:18,312 INFO L87 Difference]: Start difference. First operand has 335 states, 260 states have (on average 1.1807692307692308) internal successors, (307), 264 states have internal predecessors, (307), 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 373 states. [2022-04-08 15:14:18,316 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:14:18,316 INFO L93 Difference]: Finished difference Result 373 states and 429 transitions. [2022-04-08 15:14:18,316 INFO L276 IsEmpty]: Start isEmpty. Operand 373 states and 429 transitions. [2022-04-08 15:14:18,317 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:14:18,317 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:14:18,317 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:14:18,317 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:14:18,317 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 335 states, 260 states have (on average 1.1807692307692308) internal successors, (307), 264 states have internal predecessors, (307), 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 15:14:18,322 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 335 states to 335 states and 383 transitions. [2022-04-08 15:14:18,322 INFO L78 Accepts]: Start accepts. Automaton has 335 states and 383 transitions. Word has length 112 [2022-04-08 15:14:18,322 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:14:18,322 INFO L478 AbstractCegarLoop]: Abstraction has 335 states and 383 transitions. [2022-04-08 15:14:18,323 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 5.714285714285714) internal successors, (80), 6 states have internal predecessors, (80), 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 15:14:18,323 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 335 states and 383 transitions. [2022-04-08 15:14:19,264 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 15:14:19,264 INFO L276 IsEmpty]: Start isEmpty. Operand 335 states and 383 transitions. [2022-04-08 15:14:19,265 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 113 [2022-04-08 15:14:19,265 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:14:19,265 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] [2022-04-08 15:14:19,265 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable33 [2022-04-08 15:14:19,265 INFO L403 AbstractCegarLoop]: === Iteration 35 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:14:19,265 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:14:19,265 INFO L85 PathProgramCache]: Analyzing trace with hash -1326365972, now seen corresponding path program 1 times [2022-04-08 15:14:19,266 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:14:19,266 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1460224882] [2022-04-08 15:14:19,267 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 15:14:19,267 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 15:14:19,267 INFO L85 PathProgramCache]: Analyzing trace with hash -1326365972, now seen corresponding path program 2 times [2022-04-08 15:14:19,268 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:14:19,268 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [835936498] [2022-04-08 15:14:19,268 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:14:19,268 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:14:19,365 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:19,459 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:14:19,461 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:19,465 INFO L290 TraceCheckUtils]: 0: Hoare triple {84241#(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; {84161#true} is VALID [2022-04-08 15:14:19,465 INFO L290 TraceCheckUtils]: 1: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-08 15:14:19,466 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {84161#true} {84161#true} #1270#return; {84161#true} is VALID [2022-04-08 15:14:19,489 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:14:19,490 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:19,494 INFO L290 TraceCheckUtils]: 0: Hoare triple {84242#(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; {84161#true} is VALID [2022-04-08 15:14:19,495 INFO L290 TraceCheckUtils]: 1: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-08 15:14:19,495 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {84161#true} {84161#true} #1216#return; {84161#true} is VALID [2022-04-08 15:14:19,502 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:14:19,507 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:19,513 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:14:19,513 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:19,517 INFO L290 TraceCheckUtils]: 0: Hoare triple {84161#true} ~cond := #in~cond; {84161#true} is VALID [2022-04-08 15:14:19,517 INFO L290 TraceCheckUtils]: 1: Hoare triple {84161#true} assume !(0 == ~cond); {84161#true} is VALID [2022-04-08 15:14:19,517 INFO L290 TraceCheckUtils]: 2: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-08 15:14:19,517 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {84161#true} {84161#true} #1254#return; {84161#true} is VALID [2022-04-08 15:14:19,517 INFO L290 TraceCheckUtils]: 0: Hoare triple {84243#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {84161#true} is VALID [2022-04-08 15:14:19,517 INFO L272 TraceCheckUtils]: 1: Hoare triple {84161#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {84161#true} is VALID [2022-04-08 15:14:19,517 INFO L290 TraceCheckUtils]: 2: Hoare triple {84161#true} ~cond := #in~cond; {84161#true} is VALID [2022-04-08 15:14:19,517 INFO L290 TraceCheckUtils]: 3: Hoare triple {84161#true} assume !(0 == ~cond); {84161#true} is VALID [2022-04-08 15:14:19,517 INFO L290 TraceCheckUtils]: 4: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-08 15:14:19,517 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {84161#true} {84161#true} #1254#return; {84161#true} is VALID [2022-04-08 15:14:19,518 INFO L290 TraceCheckUtils]: 6: Hoare triple {84161#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {84161#true} is VALID [2022-04-08 15:14:19,518 INFO L290 TraceCheckUtils]: 7: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-08 15:14:19,518 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {84161#true} {84161#true} #1218#return; {84161#true} is VALID [2022-04-08 15:14:19,527 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:14:19,539 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:19,547 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:14:19,550 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:19,555 INFO L290 TraceCheckUtils]: 0: Hoare triple {84248#(and (= |old(#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; {84161#true} is VALID [2022-04-08 15:14:19,555 INFO L290 TraceCheckUtils]: 1: Hoare triple {84161#true} assume 0 == ~__BLAST_NONDET~5; {84161#true} is VALID [2022-04-08 15:14:19,555 INFO L290 TraceCheckUtils]: 2: Hoare triple {84161#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {84161#true} is VALID [2022-04-08 15:14:19,555 INFO L290 TraceCheckUtils]: 3: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-08 15:14:19,555 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {84161#true} {84161#true} #1176#return; {84161#true} is VALID [2022-04-08 15:14:19,555 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 15:14:19,557 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:19,562 INFO L290 TraceCheckUtils]: 0: Hoare triple {84243#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {84161#true} is VALID [2022-04-08 15:14:19,562 INFO L290 TraceCheckUtils]: 1: Hoare triple {84161#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {84161#true} is VALID [2022-04-08 15:14:19,562 INFO L290 TraceCheckUtils]: 2: Hoare triple {84161#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {84161#true} is VALID [2022-04-08 15:14:19,562 INFO L290 TraceCheckUtils]: 3: Hoare triple {84161#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {84161#true} is VALID [2022-04-08 15:14:19,562 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {84161#true} {84161#true} #1178#return; {84161#true} is VALID [2022-04-08 15:14:19,562 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-08 15:14:19,563 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:19,567 INFO L290 TraceCheckUtils]: 0: Hoare triple {84161#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; {84161#true} is VALID [2022-04-08 15:14:19,567 INFO L290 TraceCheckUtils]: 1: Hoare triple {84161#true} assume 0 == ~__BLAST_NONDET~2; {84161#true} is VALID [2022-04-08 15:14:19,567 INFO L290 TraceCheckUtils]: 2: Hoare triple {84161#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {84161#true} is VALID [2022-04-08 15:14:19,567 INFO L290 TraceCheckUtils]: 3: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-08 15:14:19,567 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {84161#true} {84161#true} #1180#return; {84161#true} is VALID [2022-04-08 15:14:19,567 INFO L290 TraceCheckUtils]: 0: Hoare triple {84248#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {84161#true} is VALID [2022-04-08 15:14:19,568 INFO L272 TraceCheckUtils]: 1: Hoare triple {84161#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {84248#(and (= |old(#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 15:14:19,569 INFO L290 TraceCheckUtils]: 2: Hoare triple {84248#(and (= |old(#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; {84161#true} is VALID [2022-04-08 15:14:19,569 INFO L290 TraceCheckUtils]: 3: Hoare triple {84161#true} assume 0 == ~__BLAST_NONDET~5; {84161#true} is VALID [2022-04-08 15:14:19,569 INFO L290 TraceCheckUtils]: 4: Hoare triple {84161#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {84161#true} is VALID [2022-04-08 15:14:19,569 INFO L290 TraceCheckUtils]: 5: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-08 15:14:19,569 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {84161#true} {84161#true} #1176#return; {84161#true} is VALID [2022-04-08 15:14:19,569 INFO L290 TraceCheckUtils]: 7: Hoare triple {84161#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {84161#true} is VALID [2022-04-08 15:14:19,569 INFO L290 TraceCheckUtils]: 8: Hoare triple {84161#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {84161#true} is VALID [2022-04-08 15:14:19,569 INFO L272 TraceCheckUtils]: 9: Hoare triple {84161#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {84243#(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 15:14:19,570 INFO L290 TraceCheckUtils]: 10: Hoare triple {84243#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {84161#true} is VALID [2022-04-08 15:14:19,570 INFO L290 TraceCheckUtils]: 11: Hoare triple {84161#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {84161#true} is VALID [2022-04-08 15:14:19,570 INFO L290 TraceCheckUtils]: 12: Hoare triple {84161#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {84161#true} is VALID [2022-04-08 15:14:19,570 INFO L290 TraceCheckUtils]: 13: Hoare triple {84161#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {84161#true} is VALID [2022-04-08 15:14:19,570 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {84161#true} {84161#true} #1178#return; {84161#true} is VALID [2022-04-08 15:14:19,570 INFO L290 TraceCheckUtils]: 15: Hoare triple {84161#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {84161#true} is VALID [2022-04-08 15:14:19,570 INFO L272 TraceCheckUtils]: 16: Hoare triple {84161#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {84161#true} is VALID [2022-04-08 15:14:19,570 INFO L290 TraceCheckUtils]: 17: Hoare triple {84161#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; {84161#true} is VALID [2022-04-08 15:14:19,570 INFO L290 TraceCheckUtils]: 18: Hoare triple {84161#true} assume 0 == ~__BLAST_NONDET~2; {84161#true} is VALID [2022-04-08 15:14:19,570 INFO L290 TraceCheckUtils]: 19: Hoare triple {84161#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {84161#true} is VALID [2022-04-08 15:14:19,570 INFO L290 TraceCheckUtils]: 20: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-08 15:14:19,570 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {84161#true} {84161#true} #1180#return; {84161#true} is VALID [2022-04-08 15:14:19,570 INFO L290 TraceCheckUtils]: 22: Hoare triple {84161#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {84161#true} is VALID [2022-04-08 15:14:19,570 INFO L290 TraceCheckUtils]: 23: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-08 15:14:19,570 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {84161#true} {84161#true} #1220#return; {84161#true} is VALID [2022-04-08 15:14:19,584 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-08 15:14:19,585 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:19,588 INFO L290 TraceCheckUtils]: 0: Hoare triple {84264#(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; {84161#true} is VALID [2022-04-08 15:14:19,589 INFO L290 TraceCheckUtils]: 1: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-08 15:14:19,589 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {84161#true} {84161#true} #1222#return; {84161#true} is VALID [2022-04-08 15:14:19,589 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-08 15:14:19,593 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:19,599 INFO L290 TraceCheckUtils]: 0: Hoare triple {84243#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {84161#true} is VALID [2022-04-08 15:14:19,599 INFO L290 TraceCheckUtils]: 1: Hoare triple {84161#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {84161#true} is VALID [2022-04-08 15:14:19,599 INFO L290 TraceCheckUtils]: 2: Hoare triple {84161#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {84161#true} is VALID [2022-04-08 15:14:19,599 INFO L290 TraceCheckUtils]: 3: Hoare triple {84161#true} assume #t~loopctr221 % 18446744073709551616 < size % 18446744073709551616;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 8);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 8);#t~loopctr221 := 8 + #t~loopctr221; {84161#true} is VALID [2022-04-08 15:14:19,599 INFO L290 TraceCheckUtils]: 4: Hoare triple {84161#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {84161#true} is VALID [2022-04-08 15:14:19,599 INFO L290 TraceCheckUtils]: 5: Hoare triple {84161#true} assume #res.base == dest.base && #res.offset == dest.offset; {84161#true} is VALID [2022-04-08 15:14:19,599 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {84161#true} {84161#true} #1186#return; {84161#true} is VALID [2022-04-08 15:14:19,610 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 75 [2022-04-08 15:14:19,616 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:19,662 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 15:14:19,664 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:19,668 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:14:19,669 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:19,674 INFO L290 TraceCheckUtils]: 0: Hoare triple {84279#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {84161#true} is VALID [2022-04-08 15:14:19,675 INFO L290 TraceCheckUtils]: 1: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-08 15:14:19,675 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {84161#true} {84161#true} #1174#return; {84161#true} is VALID [2022-04-08 15:14:19,675 INFO L290 TraceCheckUtils]: 0: Hoare triple {84279#(= ~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; {84161#true} is VALID [2022-04-08 15:14:19,676 INFO L272 TraceCheckUtils]: 1: Hoare triple {84161#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {84279#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:14:19,677 INFO L290 TraceCheckUtils]: 2: Hoare triple {84279#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {84161#true} is VALID [2022-04-08 15:14:19,677 INFO L290 TraceCheckUtils]: 3: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-08 15:14:19,677 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {84161#true} {84161#true} #1174#return; {84161#true} is VALID [2022-04-08 15:14:19,677 INFO L290 TraceCheckUtils]: 5: Hoare triple {84161#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {84161#true} is VALID [2022-04-08 15:14:19,677 INFO L290 TraceCheckUtils]: 6: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-08 15:14:19,677 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {84161#true} {84161#true} #1210#return; {84161#true} is VALID [2022-04-08 15:14:19,692 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 15:14:19,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:19,698 INFO L290 TraceCheckUtils]: 0: Hoare triple {84283#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {84161#true} is VALID [2022-04-08 15:14:19,698 INFO L290 TraceCheckUtils]: 1: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-08 15:14:19,698 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {84161#true} {84161#true} #1212#return; {84161#true} is VALID [2022-04-08 15:14:19,698 INFO L290 TraceCheckUtils]: 0: Hoare triple {84265#(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; {84161#true} is VALID [2022-04-08 15:14:19,698 INFO L290 TraceCheckUtils]: 1: Hoare triple {84161#true} assume 0 != ~compRegistered~0; {84161#true} is VALID [2022-04-08 15:14:19,699 INFO L272 TraceCheckUtils]: 2: Hoare triple {84161#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {84279#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:14:19,699 INFO L290 TraceCheckUtils]: 3: Hoare triple {84279#(= ~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; {84161#true} is VALID [2022-04-08 15:14:19,700 INFO L272 TraceCheckUtils]: 4: Hoare triple {84161#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {84279#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:14:19,700 INFO L290 TraceCheckUtils]: 5: Hoare triple {84279#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {84161#true} is VALID [2022-04-08 15:14:19,700 INFO L290 TraceCheckUtils]: 6: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-08 15:14:19,700 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {84161#true} {84161#true} #1174#return; {84161#true} is VALID [2022-04-08 15:14:19,700 INFO L290 TraceCheckUtils]: 8: Hoare triple {84161#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {84161#true} is VALID [2022-04-08 15:14:19,700 INFO L290 TraceCheckUtils]: 9: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-08 15:14:19,700 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {84161#true} {84161#true} #1210#return; {84161#true} is VALID [2022-04-08 15:14:19,700 INFO L290 TraceCheckUtils]: 11: Hoare triple {84161#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {84161#true} is VALID [2022-04-08 15:14:19,700 INFO L290 TraceCheckUtils]: 12: Hoare triple {84161#true} assume -1073741802 == ~compRetStatus~0; {84161#true} is VALID [2022-04-08 15:14:19,700 INFO L272 TraceCheckUtils]: 13: Hoare triple {84161#true} call stubMoreProcessingRequired(); {84283#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:14:19,701 INFO L290 TraceCheckUtils]: 14: Hoare triple {84283#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {84161#true} is VALID [2022-04-08 15:14:19,701 INFO L290 TraceCheckUtils]: 15: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-08 15:14:19,701 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {84161#true} {84161#true} #1212#return; {84161#true} is VALID [2022-04-08 15:14:19,701 INFO L290 TraceCheckUtils]: 17: Hoare triple {84161#true} assume !(0 == ~__BLAST_NONDET~11); {84161#true} is VALID [2022-04-08 15:14:19,701 INFO L290 TraceCheckUtils]: 18: Hoare triple {84161#true} assume !(1 == ~__BLAST_NONDET~11); {84161#true} is VALID [2022-04-08 15:14:19,701 INFO L290 TraceCheckUtils]: 19: Hoare triple {84161#true} ~returnVal2~0 := 259; {84277#(and (<= IofCallDriver_~returnVal2~0 259) (<= 259 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:14:19,701 INFO L290 TraceCheckUtils]: 20: Hoare triple {84277#(and (<= IofCallDriver_~returnVal2~0 259) (<= 259 IofCallDriver_~returnVal2~0))} assume !(~s~0 == ~NP~0); {84277#(and (<= IofCallDriver_~returnVal2~0 259) (<= 259 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:14:19,702 INFO L290 TraceCheckUtils]: 21: Hoare triple {84277#(and (<= IofCallDriver_~returnVal2~0 259) (<= 259 IofCallDriver_~returnVal2~0))} assume ~s~0 == ~MPR1~0; {84277#(and (<= IofCallDriver_~returnVal2~0 259) (<= 259 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:14:19,702 INFO L290 TraceCheckUtils]: 22: Hoare triple {84277#(and (<= IofCallDriver_~returnVal2~0 259) (<= 259 IofCallDriver_~returnVal2~0))} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {84277#(and (<= IofCallDriver_~returnVal2~0 259) (<= 259 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:14:19,702 INFO L290 TraceCheckUtils]: 23: Hoare triple {84277#(and (<= IofCallDriver_~returnVal2~0 259) (<= 259 IofCallDriver_~returnVal2~0))} #res := ~returnVal2~0; {84278#(and (<= 259 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 259))} is VALID [2022-04-08 15:14:19,703 INFO L290 TraceCheckUtils]: 24: Hoare triple {84278#(and (<= 259 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 259))} assume true; {84278#(and (<= 259 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 259))} is VALID [2022-04-08 15:14:19,703 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {84278#(and (<= 259 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 259))} {84161#true} #1192#return; {84239#(and (<= 259 |KbFilter_PnP_#t~ret109|) (<= |KbFilter_PnP_#t~ret109| 259))} is VALID [2022-04-08 15:14:19,705 INFO L272 TraceCheckUtils]: 0: Hoare triple {84161#true} call ULTIMATE.init(); {84241#(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 15:14:19,705 INFO L290 TraceCheckUtils]: 1: Hoare triple {84241#(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; {84161#true} is VALID [2022-04-08 15:14:19,705 INFO L290 TraceCheckUtils]: 2: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-08 15:14:19,705 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {84161#true} {84161#true} #1270#return; {84161#true} is VALID [2022-04-08 15:14:19,705 INFO L272 TraceCheckUtils]: 4: Hoare triple {84161#true} call #t~ret213 := main(); {84161#true} is VALID [2022-04-08 15:14:19,705 INFO L290 TraceCheckUtils]: 5: Hoare triple {84161#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {84161#true} is VALID [2022-04-08 15:14:19,706 INFO L272 TraceCheckUtils]: 6: Hoare triple {84161#true} call _BLAST_init(); {84242#(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 15:14:19,706 INFO L290 TraceCheckUtils]: 7: Hoare triple {84242#(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; {84161#true} is VALID [2022-04-08 15:14:19,706 INFO L290 TraceCheckUtils]: 8: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-08 15:14:19,706 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {84161#true} {84161#true} #1216#return; {84161#true} is VALID [2022-04-08 15:14:19,707 INFO L272 TraceCheckUtils]: 10: Hoare triple {84161#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {84243#(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 15:14:19,707 INFO L290 TraceCheckUtils]: 11: Hoare triple {84243#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {84161#true} is VALID [2022-04-08 15:14:19,707 INFO L272 TraceCheckUtils]: 12: Hoare triple {84161#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {84161#true} is VALID [2022-04-08 15:14:19,707 INFO L290 TraceCheckUtils]: 13: Hoare triple {84161#true} ~cond := #in~cond; {84161#true} is VALID [2022-04-08 15:14:19,707 INFO L290 TraceCheckUtils]: 14: Hoare triple {84161#true} assume !(0 == ~cond); {84161#true} is VALID [2022-04-08 15:14:19,707 INFO L290 TraceCheckUtils]: 15: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-08 15:14:19,707 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {84161#true} {84161#true} #1254#return; {84161#true} is VALID [2022-04-08 15:14:19,707 INFO L290 TraceCheckUtils]: 17: Hoare triple {84161#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {84161#true} is VALID [2022-04-08 15:14:19,707 INFO L290 TraceCheckUtils]: 18: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-08 15:14:19,707 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {84161#true} {84161#true} #1218#return; {84161#true} is VALID [2022-04-08 15:14:19,707 INFO L290 TraceCheckUtils]: 20: Hoare triple {84161#true} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {84161#true} is VALID [2022-04-08 15:14:19,707 INFO L290 TraceCheckUtils]: 21: Hoare triple {84161#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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {84161#true} is VALID [2022-04-08 15:14:19,707 INFO L290 TraceCheckUtils]: 22: Hoare triple {84161#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {84161#true} is VALID [2022-04-08 15:14:19,708 INFO L272 TraceCheckUtils]: 23: Hoare triple {84161#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {84248#(and (= |old(#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 15:14:19,708 INFO L290 TraceCheckUtils]: 24: Hoare triple {84248#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {84161#true} is VALID [2022-04-08 15:14:19,709 INFO L272 TraceCheckUtils]: 25: Hoare triple {84161#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {84248#(and (= |old(#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 15:14:19,709 INFO L290 TraceCheckUtils]: 26: Hoare triple {84248#(and (= |old(#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; {84161#true} is VALID [2022-04-08 15:14:19,709 INFO L290 TraceCheckUtils]: 27: Hoare triple {84161#true} assume 0 == ~__BLAST_NONDET~5; {84161#true} is VALID [2022-04-08 15:14:19,709 INFO L290 TraceCheckUtils]: 28: Hoare triple {84161#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {84161#true} is VALID [2022-04-08 15:14:19,709 INFO L290 TraceCheckUtils]: 29: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-08 15:14:19,709 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {84161#true} {84161#true} #1176#return; {84161#true} is VALID [2022-04-08 15:14:19,709 INFO L290 TraceCheckUtils]: 31: Hoare triple {84161#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {84161#true} is VALID [2022-04-08 15:14:19,709 INFO L290 TraceCheckUtils]: 32: Hoare triple {84161#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {84161#true} is VALID [2022-04-08 15:14:19,710 INFO L272 TraceCheckUtils]: 33: Hoare triple {84161#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {84243#(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 15:14:19,710 INFO L290 TraceCheckUtils]: 34: Hoare triple {84243#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {84161#true} is VALID [2022-04-08 15:14:19,710 INFO L290 TraceCheckUtils]: 35: Hoare triple {84161#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {84161#true} is VALID [2022-04-08 15:14:19,710 INFO L290 TraceCheckUtils]: 36: Hoare triple {84161#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {84161#true} is VALID [2022-04-08 15:14:19,710 INFO L290 TraceCheckUtils]: 37: Hoare triple {84161#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {84161#true} is VALID [2022-04-08 15:14:19,710 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {84161#true} {84161#true} #1178#return; {84161#true} is VALID [2022-04-08 15:14:19,710 INFO L290 TraceCheckUtils]: 39: Hoare triple {84161#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {84161#true} is VALID [2022-04-08 15:14:19,710 INFO L272 TraceCheckUtils]: 40: Hoare triple {84161#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {84161#true} is VALID [2022-04-08 15:14:19,711 INFO L290 TraceCheckUtils]: 41: Hoare triple {84161#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; {84161#true} is VALID [2022-04-08 15:14:19,711 INFO L290 TraceCheckUtils]: 42: Hoare triple {84161#true} assume 0 == ~__BLAST_NONDET~2; {84161#true} is VALID [2022-04-08 15:14:19,711 INFO L290 TraceCheckUtils]: 43: Hoare triple {84161#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {84161#true} is VALID [2022-04-08 15:14:19,711 INFO L290 TraceCheckUtils]: 44: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-08 15:14:19,711 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {84161#true} {84161#true} #1180#return; {84161#true} is VALID [2022-04-08 15:14:19,711 INFO L290 TraceCheckUtils]: 46: Hoare triple {84161#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {84161#true} is VALID [2022-04-08 15:14:19,711 INFO L290 TraceCheckUtils]: 47: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-08 15:14:19,711 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {84161#true} {84161#true} #1220#return; {84161#true} is VALID [2022-04-08 15:14:19,711 INFO L290 TraceCheckUtils]: 49: Hoare triple {84161#true} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {84161#true} is VALID [2022-04-08 15:14:19,715 INFO L272 TraceCheckUtils]: 50: Hoare triple {84161#true} call stub_driver_init(); {84264#(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 15:14:19,716 INFO L290 TraceCheckUtils]: 51: Hoare triple {84264#(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; {84161#true} is VALID [2022-04-08 15:14:19,716 INFO L290 TraceCheckUtils]: 52: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-08 15:14:19,716 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {84161#true} {84161#true} #1222#return; {84161#true} is VALID [2022-04-08 15:14:19,716 INFO L290 TraceCheckUtils]: 54: Hoare triple {84161#true} assume !!(~status~5 >= 0); {84161#true} is VALID [2022-04-08 15:14:19,716 INFO L290 TraceCheckUtils]: 55: Hoare triple {84161#true} assume !(0 == ~__BLAST_NONDET~0); {84161#true} is VALID [2022-04-08 15:14:19,716 INFO L290 TraceCheckUtils]: 56: Hoare triple {84161#true} assume !(1 == ~__BLAST_NONDET~0); {84161#true} is VALID [2022-04-08 15:14:19,716 INFO L290 TraceCheckUtils]: 57: Hoare triple {84161#true} assume !(2 == ~__BLAST_NONDET~0); {84161#true} is VALID [2022-04-08 15:14:19,716 INFO L290 TraceCheckUtils]: 58: Hoare triple {84161#true} assume 3 == ~__BLAST_NONDET~0; {84161#true} is VALID [2022-04-08 15:14:19,716 INFO L272 TraceCheckUtils]: 59: Hoare triple {84161#true} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {84161#true} is VALID [2022-04-08 15:14:19,716 INFO L290 TraceCheckUtils]: 60: Hoare triple {84161#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(28);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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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); {84161#true} is VALID [2022-04-08 15:14:19,716 INFO L290 TraceCheckUtils]: 61: Hoare triple {84161#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {84161#true} is VALID [2022-04-08 15:14:19,716 INFO L290 TraceCheckUtils]: 62: Hoare triple {84161#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 180 + ~Irp.offset, 8);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 68;havoc #t~mem103.base, #t~mem103.offset; {84161#true} is VALID [2022-04-08 15:14:19,717 INFO L272 TraceCheckUtils]: 63: Hoare triple {84161#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, 52); {84243#(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 15:14:19,717 INFO L290 TraceCheckUtils]: 64: Hoare triple {84243#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {84161#true} is VALID [2022-04-08 15:14:19,717 INFO L290 TraceCheckUtils]: 65: Hoare triple {84161#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {84161#true} is VALID [2022-04-08 15:14:19,717 INFO L290 TraceCheckUtils]: 66: Hoare triple {84161#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {84161#true} is VALID [2022-04-08 15:14:19,717 INFO L290 TraceCheckUtils]: 67: Hoare triple {84161#true} assume #t~loopctr221 % 18446744073709551616 < size % 18446744073709551616;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 8);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 8);#t~loopctr221 := 8 + #t~loopctr221; {84161#true} is VALID [2022-04-08 15:14:19,717 INFO L290 TraceCheckUtils]: 68: Hoare triple {84161#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {84161#true} is VALID [2022-04-08 15:14:19,717 INFO L290 TraceCheckUtils]: 69: Hoare triple {84161#true} assume #res.base == dest.base && #res.offset == dest.offset; {84161#true} is VALID [2022-04-08 15:14:19,717 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {84161#true} {84161#true} #1186#return; {84161#true} is VALID [2022-04-08 15:14:19,717 INFO L290 TraceCheckUtils]: 71: Hoare triple {84161#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {84161#true} is VALID [2022-04-08 15:14:19,717 INFO L290 TraceCheckUtils]: 72: Hoare triple {84161#true} assume !(~s~0 != ~NP~0); {84161#true} is VALID [2022-04-08 15:14:19,717 INFO L290 TraceCheckUtils]: 73: Hoare triple {84161#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {84161#true} is VALID [2022-04-08 15:14:19,718 INFO L290 TraceCheckUtils]: 74: Hoare triple {84161#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 68;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 52 + ~irpSp___0~0.offset, 8);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 60 + ~irpSp___0~0.offset, 8);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, 16 + ~devExt~3.offset, 8); {84161#true} is VALID [2022-04-08 15:14:19,718 INFO L272 TraceCheckUtils]: 75: Hoare triple {84161#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {84265#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:14:19,718 INFO L290 TraceCheckUtils]: 76: Hoare triple {84265#(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; {84161#true} is VALID [2022-04-08 15:14:19,718 INFO L290 TraceCheckUtils]: 77: Hoare triple {84161#true} assume 0 != ~compRegistered~0; {84161#true} is VALID [2022-04-08 15:14:19,719 INFO L272 TraceCheckUtils]: 78: Hoare triple {84161#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {84279#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:14:19,719 INFO L290 TraceCheckUtils]: 79: Hoare triple {84279#(= ~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; {84161#true} is VALID [2022-04-08 15:14:19,720 INFO L272 TraceCheckUtils]: 80: Hoare triple {84161#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {84279#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:14:19,720 INFO L290 TraceCheckUtils]: 81: Hoare triple {84279#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {84161#true} is VALID [2022-04-08 15:14:19,720 INFO L290 TraceCheckUtils]: 82: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-08 15:14:19,720 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {84161#true} {84161#true} #1174#return; {84161#true} is VALID [2022-04-08 15:14:19,720 INFO L290 TraceCheckUtils]: 84: Hoare triple {84161#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {84161#true} is VALID [2022-04-08 15:14:19,720 INFO L290 TraceCheckUtils]: 85: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-08 15:14:19,720 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {84161#true} {84161#true} #1210#return; {84161#true} is VALID [2022-04-08 15:14:19,720 INFO L290 TraceCheckUtils]: 87: Hoare triple {84161#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {84161#true} is VALID [2022-04-08 15:14:19,720 INFO L290 TraceCheckUtils]: 88: Hoare triple {84161#true} assume -1073741802 == ~compRetStatus~0; {84161#true} is VALID [2022-04-08 15:14:19,720 INFO L272 TraceCheckUtils]: 89: Hoare triple {84161#true} call stubMoreProcessingRequired(); {84283#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:14:19,720 INFO L290 TraceCheckUtils]: 90: Hoare triple {84283#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {84161#true} is VALID [2022-04-08 15:14:19,721 INFO L290 TraceCheckUtils]: 91: Hoare triple {84161#true} assume true; {84161#true} is VALID [2022-04-08 15:14:19,721 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {84161#true} {84161#true} #1212#return; {84161#true} is VALID [2022-04-08 15:14:19,721 INFO L290 TraceCheckUtils]: 93: Hoare triple {84161#true} assume !(0 == ~__BLAST_NONDET~11); {84161#true} is VALID [2022-04-08 15:14:19,721 INFO L290 TraceCheckUtils]: 94: Hoare triple {84161#true} assume !(1 == ~__BLAST_NONDET~11); {84161#true} is VALID [2022-04-08 15:14:19,721 INFO L290 TraceCheckUtils]: 95: Hoare triple {84161#true} ~returnVal2~0 := 259; {84277#(and (<= IofCallDriver_~returnVal2~0 259) (<= 259 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:14:19,721 INFO L290 TraceCheckUtils]: 96: Hoare triple {84277#(and (<= IofCallDriver_~returnVal2~0 259) (<= 259 IofCallDriver_~returnVal2~0))} assume !(~s~0 == ~NP~0); {84277#(and (<= IofCallDriver_~returnVal2~0 259) (<= 259 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:14:19,722 INFO L290 TraceCheckUtils]: 97: Hoare triple {84277#(and (<= IofCallDriver_~returnVal2~0 259) (<= 259 IofCallDriver_~returnVal2~0))} assume ~s~0 == ~MPR1~0; {84277#(and (<= IofCallDriver_~returnVal2~0 259) (<= 259 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:14:19,722 INFO L290 TraceCheckUtils]: 98: Hoare triple {84277#(and (<= IofCallDriver_~returnVal2~0 259) (<= 259 IofCallDriver_~returnVal2~0))} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {84277#(and (<= IofCallDriver_~returnVal2~0 259) (<= 259 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:14:19,722 INFO L290 TraceCheckUtils]: 99: Hoare triple {84277#(and (<= IofCallDriver_~returnVal2~0 259) (<= 259 IofCallDriver_~returnVal2~0))} #res := ~returnVal2~0; {84278#(and (<= 259 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 259))} is VALID [2022-04-08 15:14:19,723 INFO L290 TraceCheckUtils]: 100: Hoare triple {84278#(and (<= 259 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 259))} assume true; {84278#(and (<= 259 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 259))} is VALID [2022-04-08 15:14:19,723 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {84278#(and (<= 259 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 259))} {84161#true} #1192#return; {84239#(and (<= 259 |KbFilter_PnP_#t~ret109|) (<= |KbFilter_PnP_#t~ret109| 259))} is VALID [2022-04-08 15:14:19,724 INFO L290 TraceCheckUtils]: 102: Hoare triple {84239#(and (<= 259 |KbFilter_PnP_#t~ret109|) (<= |KbFilter_PnP_#t~ret109| 259))} assume -9223372036854775808 <= #t~ret109 && #t~ret109 <= 9223372036854775807;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {84240#(and (< 258 KbFilter_PnP_~status~3) (<= KbFilter_PnP_~status~3 259))} is VALID [2022-04-08 15:14:19,724 INFO L290 TraceCheckUtils]: 103: Hoare triple {84240#(and (< 258 KbFilter_PnP_~status~3) (<= KbFilter_PnP_~status~3 259))} assume !(259 == ~status~3); {84162#false} is VALID [2022-04-08 15:14:19,724 INFO L290 TraceCheckUtils]: 104: Hoare triple {84162#false} assume ~status~3 >= 0; {84162#false} is VALID [2022-04-08 15:14:19,724 INFO L290 TraceCheckUtils]: 105: Hoare triple {84162#false} assume !(~myStatus~0 >= 0); {84162#false} is VALID [2022-04-08 15:14:19,724 INFO L290 TraceCheckUtils]: 106: Hoare triple {84162#false} call write~int(~status~3, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~3 % 4294967296 <= 2147483647 then ~status~3 % 4294967296 else ~status~3 % 4294967296 - 4294967296);call write~int(0, ~Irp.base, 52 + ~Irp.offset, 8); {84162#false} is VALID [2022-04-08 15:14:19,724 INFO L272 TraceCheckUtils]: 107: Hoare triple {84162#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {84162#false} is VALID [2022-04-08 15:14:19,724 INFO L290 TraceCheckUtils]: 108: Hoare triple {84162#false} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {84162#false} is VALID [2022-04-08 15:14:19,724 INFO L290 TraceCheckUtils]: 109: Hoare triple {84162#false} assume !(~s~0 == ~NP~0); {84162#false} is VALID [2022-04-08 15:14:19,724 INFO L272 TraceCheckUtils]: 110: Hoare triple {84162#false} call errorFn(); {84162#false} is VALID [2022-04-08 15:14:19,725 INFO L290 TraceCheckUtils]: 111: Hoare triple {84162#false} assume !false; {84162#false} is VALID [2022-04-08 15:14:19,725 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-04-08 15:14:19,725 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:14:19,725 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [835936498] [2022-04-08 15:14:19,725 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [835936498] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:14:19,725 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:14:19,725 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 15:14:19,725 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:14:19,725 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1460224882] [2022-04-08 15:14:19,725 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1460224882] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:14:19,725 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:14:19,725 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 15:14:19,726 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [47970519] [2022-04-08 15:14:19,726 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:14:19,726 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.714285714285714) internal successors, (80), 5 states have internal predecessors, (80), 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 112 [2022-04-08 15:14:19,726 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:14:19,726 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 5.714285714285714) internal successors, (80), 5 states have internal predecessors, (80), 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 15:14:19,803 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 15:14:19,803 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 15:14:19,803 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:14:19,803 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 15:14:19,804 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=142, Unknown=0, NotChecked=0, Total=182 [2022-04-08 15:14:19,804 INFO L87 Difference]: Start difference. First operand 335 states and 383 transitions. Second operand has 14 states, 14 states have (on average 5.714285714285714) internal successors, (80), 5 states have internal predecessors, (80), 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 15:14:21,923 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 15:14:29,035 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:14:29,035 INFO L93 Difference]: Finished difference Result 433 states and 499 transitions. [2022-04-08 15:14:29,035 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 15:14:29,035 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 5.714285714285714) internal successors, (80), 5 states have internal predecessors, (80), 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 112 [2022-04-08 15:14:29,035 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:14:29,035 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.714285714285714) internal successors, (80), 5 states have internal predecessors, (80), 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 15:14:29,037 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 249 transitions. [2022-04-08 15:14:29,037 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 5.714285714285714) internal successors, (80), 5 states have internal predecessors, (80), 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 15:14:29,038 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 249 transitions. [2022-04-08 15:14:29,038 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 249 transitions. [2022-04-08 15:14:29,293 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 249 edges. 249 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 15:14:29,299 INFO L225 Difference]: With dead ends: 433 [2022-04-08 15:14:29,299 INFO L226 Difference]: Without dead ends: 364 [2022-04-08 15:14:29,299 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 15:14:29,300 INFO L913 BasicCegarLoop]: 149 mSDtfsCounter, 419 mSDsluCounter, 301 mSDsCounter, 0 mSdLazyCounter, 751 mSolverCounterSat, 228 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 424 SdHoareTripleChecker+Valid, 450 SdHoareTripleChecker+Invalid, 980 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 228 IncrementalHoareTripleChecker+Valid, 751 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.6s IncrementalHoareTripleChecker+Time [2022-04-08 15:14:29,300 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [424 Valid, 450 Invalid, 980 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [228 Valid, 751 Invalid, 1 Unknown, 0 Unchecked, 4.6s Time] [2022-04-08 15:14:29,300 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 364 states. [2022-04-08 15:14:30,056 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 364 to 325. [2022-04-08 15:14:30,057 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:14:30,057 INFO L82 GeneralOperation]: Start isEquivalent. First operand 364 states. Second operand has 325 states, 252 states have (on average 1.1626984126984128) internal successors, (293), 256 states have internal predecessors, (293), 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 15:14:30,057 INFO L74 IsIncluded]: Start isIncluded. First operand 364 states. Second operand has 325 states, 252 states have (on average 1.1626984126984128) internal successors, (293), 256 states have internal predecessors, (293), 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 15:14:30,058 INFO L87 Difference]: Start difference. First operand 364 states. Second operand has 325 states, 252 states have (on average 1.1626984126984128) internal successors, (293), 256 states have internal predecessors, (293), 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 15:14:30,062 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:14:30,062 INFO L93 Difference]: Finished difference Result 364 states and 415 transitions. [2022-04-08 15:14:30,062 INFO L276 IsEmpty]: Start isEmpty. Operand 364 states and 415 transitions. [2022-04-08 15:14:30,062 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:14:30,062 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:14:30,063 INFO L74 IsIncluded]: Start isIncluded. First operand has 325 states, 252 states have (on average 1.1626984126984128) internal successors, (293), 256 states have internal predecessors, (293), 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 364 states. [2022-04-08 15:14:30,063 INFO L87 Difference]: Start difference. First operand has 325 states, 252 states have (on average 1.1626984126984128) internal successors, (293), 256 states have internal predecessors, (293), 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 364 states. [2022-04-08 15:14:30,067 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:14:30,067 INFO L93 Difference]: Finished difference Result 364 states and 415 transitions. [2022-04-08 15:14:30,067 INFO L276 IsEmpty]: Start isEmpty. Operand 364 states and 415 transitions. [2022-04-08 15:14:30,068 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:14:30,068 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:14:30,068 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:14:30,068 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:14:30,068 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 325 states, 252 states have (on average 1.1626984126984128) internal successors, (293), 256 states have internal predecessors, (293), 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 15:14:30,092 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 325 states to 325 states and 367 transitions. [2022-04-08 15:14:30,092 INFO L78 Accepts]: Start accepts. Automaton has 325 states and 367 transitions. Word has length 112 [2022-04-08 15:14:30,092 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:14:30,092 INFO L478 AbstractCegarLoop]: Abstraction has 325 states and 367 transitions. [2022-04-08 15:14:30,092 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 5.714285714285714) internal successors, (80), 5 states have internal predecessors, (80), 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 15:14:30,092 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 325 states and 367 transitions. [2022-04-08 15:14:30,998 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 367 edges. 367 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 15:14:30,998 INFO L276 IsEmpty]: Start isEmpty. Operand 325 states and 367 transitions. [2022-04-08 15:14:30,999 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 113 [2022-04-08 15:14:30,999 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:14:30,999 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] [2022-04-08 15:14:30,999 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable34 [2022-04-08 15:14:30,999 INFO L403 AbstractCegarLoop]: === Iteration 36 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:14:30,999 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:14:31,000 INFO L85 PathProgramCache]: Analyzing trace with hash -1216825272, now seen corresponding path program 1 times [2022-04-08 15:14:31,000 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:14:31,000 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1633475508] [2022-04-08 15:14:31,002 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 15:14:31,002 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 15:14:31,002 INFO L85 PathProgramCache]: Analyzing trace with hash -1216825272, now seen corresponding path program 2 times [2022-04-08 15:14:31,002 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:14:31,002 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [820458565] [2022-04-08 15:14:31,002 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:14:31,002 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:14:31,107 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:31,179 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:14:31,181 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:31,186 INFO L290 TraceCheckUtils]: 0: Hoare triple {86623#(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; {86544#true} is VALID [2022-04-08 15:14:31,186 INFO L290 TraceCheckUtils]: 1: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-08 15:14:31,186 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {86544#true} {86544#true} #1270#return; {86544#true} is VALID [2022-04-08 15:14:31,207 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:14:31,208 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:31,212 INFO L290 TraceCheckUtils]: 0: Hoare triple {86624#(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; {86544#true} is VALID [2022-04-08 15:14:31,212 INFO L290 TraceCheckUtils]: 1: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-08 15:14:31,213 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {86544#true} {86544#true} #1216#return; {86544#true} is VALID [2022-04-08 15:14:31,219 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:14:31,224 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:31,230 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:14:31,231 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:31,235 INFO L290 TraceCheckUtils]: 0: Hoare triple {86544#true} ~cond := #in~cond; {86544#true} is VALID [2022-04-08 15:14:31,235 INFO L290 TraceCheckUtils]: 1: Hoare triple {86544#true} assume !(0 == ~cond); {86544#true} is VALID [2022-04-08 15:14:31,235 INFO L290 TraceCheckUtils]: 2: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-08 15:14:31,235 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {86544#true} {86544#true} #1254#return; {86544#true} is VALID [2022-04-08 15:14:31,235 INFO L290 TraceCheckUtils]: 0: Hoare triple {86625#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {86544#true} is VALID [2022-04-08 15:14:31,235 INFO L272 TraceCheckUtils]: 1: Hoare triple {86544#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {86544#true} is VALID [2022-04-08 15:14:31,235 INFO L290 TraceCheckUtils]: 2: Hoare triple {86544#true} ~cond := #in~cond; {86544#true} is VALID [2022-04-08 15:14:31,236 INFO L290 TraceCheckUtils]: 3: Hoare triple {86544#true} assume !(0 == ~cond); {86544#true} is VALID [2022-04-08 15:14:31,236 INFO L290 TraceCheckUtils]: 4: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-08 15:14:31,236 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {86544#true} {86544#true} #1254#return; {86544#true} is VALID [2022-04-08 15:14:31,236 INFO L290 TraceCheckUtils]: 6: Hoare triple {86544#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {86544#true} is VALID [2022-04-08 15:14:31,236 INFO L290 TraceCheckUtils]: 7: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-08 15:14:31,236 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {86544#true} {86544#true} #1218#return; {86544#true} is VALID [2022-04-08 15:14:31,244 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:14:31,255 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:31,263 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:14:31,267 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:31,272 INFO L290 TraceCheckUtils]: 0: Hoare triple {86630#(and (= |old(#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; {86544#true} is VALID [2022-04-08 15:14:31,272 INFO L290 TraceCheckUtils]: 1: Hoare triple {86544#true} assume 0 == ~__BLAST_NONDET~5; {86544#true} is VALID [2022-04-08 15:14:31,272 INFO L290 TraceCheckUtils]: 2: Hoare triple {86544#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {86544#true} is VALID [2022-04-08 15:14:31,272 INFO L290 TraceCheckUtils]: 3: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-08 15:14:31,272 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {86544#true} {86544#true} #1176#return; {86544#true} is VALID [2022-04-08 15:14:31,273 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 15:14:31,274 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:31,279 INFO L290 TraceCheckUtils]: 0: Hoare triple {86625#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {86544#true} is VALID [2022-04-08 15:14:31,279 INFO L290 TraceCheckUtils]: 1: Hoare triple {86544#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {86544#true} is VALID [2022-04-08 15:14:31,279 INFO L290 TraceCheckUtils]: 2: Hoare triple {86544#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {86544#true} is VALID [2022-04-08 15:14:31,279 INFO L290 TraceCheckUtils]: 3: Hoare triple {86544#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {86544#true} is VALID [2022-04-08 15:14:31,279 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {86544#true} {86544#true} #1178#return; {86544#true} is VALID [2022-04-08 15:14:31,279 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-08 15:14:31,280 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:31,284 INFO L290 TraceCheckUtils]: 0: Hoare triple {86544#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; {86544#true} is VALID [2022-04-08 15:14:31,285 INFO L290 TraceCheckUtils]: 1: Hoare triple {86544#true} assume 0 == ~__BLAST_NONDET~2; {86544#true} is VALID [2022-04-08 15:14:31,285 INFO L290 TraceCheckUtils]: 2: Hoare triple {86544#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {86544#true} is VALID [2022-04-08 15:14:31,285 INFO L290 TraceCheckUtils]: 3: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-08 15:14:31,285 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {86544#true} {86544#true} #1180#return; {86544#true} is VALID [2022-04-08 15:14:31,285 INFO L290 TraceCheckUtils]: 0: Hoare triple {86630#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {86544#true} is VALID [2022-04-08 15:14:31,286 INFO L272 TraceCheckUtils]: 1: Hoare triple {86544#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {86630#(and (= |old(#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 15:14:31,286 INFO L290 TraceCheckUtils]: 2: Hoare triple {86630#(and (= |old(#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; {86544#true} is VALID [2022-04-08 15:14:31,286 INFO L290 TraceCheckUtils]: 3: Hoare triple {86544#true} assume 0 == ~__BLAST_NONDET~5; {86544#true} is VALID [2022-04-08 15:14:31,286 INFO L290 TraceCheckUtils]: 4: Hoare triple {86544#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {86544#true} is VALID [2022-04-08 15:14:31,286 INFO L290 TraceCheckUtils]: 5: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-08 15:14:31,286 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {86544#true} {86544#true} #1176#return; {86544#true} is VALID [2022-04-08 15:14:31,286 INFO L290 TraceCheckUtils]: 7: Hoare triple {86544#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {86544#true} is VALID [2022-04-08 15:14:31,286 INFO L290 TraceCheckUtils]: 8: Hoare triple {86544#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {86544#true} is VALID [2022-04-08 15:14:31,287 INFO L272 TraceCheckUtils]: 9: Hoare triple {86544#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {86625#(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 15:14:31,287 INFO L290 TraceCheckUtils]: 10: Hoare triple {86625#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {86544#true} is VALID [2022-04-08 15:14:31,287 INFO L290 TraceCheckUtils]: 11: Hoare triple {86544#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {86544#true} is VALID [2022-04-08 15:14:31,287 INFO L290 TraceCheckUtils]: 12: Hoare triple {86544#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {86544#true} is VALID [2022-04-08 15:14:31,287 INFO L290 TraceCheckUtils]: 13: Hoare triple {86544#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {86544#true} is VALID [2022-04-08 15:14:31,287 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {86544#true} {86544#true} #1178#return; {86544#true} is VALID [2022-04-08 15:14:31,287 INFO L290 TraceCheckUtils]: 15: Hoare triple {86544#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {86544#true} is VALID [2022-04-08 15:14:31,287 INFO L272 TraceCheckUtils]: 16: Hoare triple {86544#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {86544#true} is VALID [2022-04-08 15:14:31,287 INFO L290 TraceCheckUtils]: 17: Hoare triple {86544#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; {86544#true} is VALID [2022-04-08 15:14:31,287 INFO L290 TraceCheckUtils]: 18: Hoare triple {86544#true} assume 0 == ~__BLAST_NONDET~2; {86544#true} is VALID [2022-04-08 15:14:31,287 INFO L290 TraceCheckUtils]: 19: Hoare triple {86544#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {86544#true} is VALID [2022-04-08 15:14:31,288 INFO L290 TraceCheckUtils]: 20: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-08 15:14:31,288 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {86544#true} {86544#true} #1180#return; {86544#true} is VALID [2022-04-08 15:14:31,288 INFO L290 TraceCheckUtils]: 22: Hoare triple {86544#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {86544#true} is VALID [2022-04-08 15:14:31,288 INFO L290 TraceCheckUtils]: 23: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-08 15:14:31,288 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {86544#true} {86544#true} #1220#return; {86544#true} is VALID [2022-04-08 15:14:31,300 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-08 15:14:31,301 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:31,305 INFO L290 TraceCheckUtils]: 0: Hoare triple {86646#(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; {86544#true} is VALID [2022-04-08 15:14:31,305 INFO L290 TraceCheckUtils]: 1: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-08 15:14:31,305 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {86544#true} {86544#true} #1222#return; {86544#true} is VALID [2022-04-08 15:14:31,305 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-08 15:14:31,309 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:31,315 INFO L290 TraceCheckUtils]: 0: Hoare triple {86625#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {86544#true} is VALID [2022-04-08 15:14:31,315 INFO L290 TraceCheckUtils]: 1: Hoare triple {86544#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {86544#true} is VALID [2022-04-08 15:14:31,315 INFO L290 TraceCheckUtils]: 2: Hoare triple {86544#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {86544#true} is VALID [2022-04-08 15:14:31,315 INFO L290 TraceCheckUtils]: 3: Hoare triple {86544#true} assume #t~loopctr221 % 18446744073709551616 < size % 18446744073709551616;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 8);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 8);#t~loopctr221 := 8 + #t~loopctr221; {86544#true} is VALID [2022-04-08 15:14:31,315 INFO L290 TraceCheckUtils]: 4: Hoare triple {86544#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {86544#true} is VALID [2022-04-08 15:14:31,315 INFO L290 TraceCheckUtils]: 5: Hoare triple {86544#true} assume #res.base == dest.base && #res.offset == dest.offset; {86544#true} is VALID [2022-04-08 15:14:31,315 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {86544#true} {86544#true} #1186#return; {86544#true} is VALID [2022-04-08 15:14:31,324 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 75 [2022-04-08 15:14:31,332 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:31,348 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 15:14:31,351 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:31,359 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:14:31,361 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:31,368 INFO L290 TraceCheckUtils]: 0: Hoare triple {86659#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,368 INFO L290 TraceCheckUtils]: 1: Hoare triple {86622#(= ~setEventCalled~0 1)} assume true; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,369 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {86622#(= ~setEventCalled~0 1)} {86544#true} #1174#return; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,369 INFO L290 TraceCheckUtils]: 0: Hoare triple {86659#(= ~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; {86544#true} is VALID [2022-04-08 15:14:31,369 INFO L272 TraceCheckUtils]: 1: Hoare triple {86544#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {86659#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:14:31,370 INFO L290 TraceCheckUtils]: 2: Hoare triple {86659#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,370 INFO L290 TraceCheckUtils]: 3: Hoare triple {86622#(= ~setEventCalled~0 1)} assume true; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,370 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {86622#(= ~setEventCalled~0 1)} {86544#true} #1174#return; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,371 INFO L290 TraceCheckUtils]: 5: Hoare triple {86622#(= ~setEventCalled~0 1)} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,371 INFO L290 TraceCheckUtils]: 6: Hoare triple {86622#(= ~setEventCalled~0 1)} assume true; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,372 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {86622#(= ~setEventCalled~0 1)} {86544#true} #1210#return; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,397 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 15:14:31,398 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:31,402 INFO L290 TraceCheckUtils]: 0: Hoare triple {86663#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {86544#true} is VALID [2022-04-08 15:14:31,402 INFO L290 TraceCheckUtils]: 1: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-08 15:14:31,402 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {86544#true} {86622#(= ~setEventCalled~0 1)} #1212#return; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,402 INFO L290 TraceCheckUtils]: 0: Hoare triple {86647#(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; {86544#true} is VALID [2022-04-08 15:14:31,402 INFO L290 TraceCheckUtils]: 1: Hoare triple {86544#true} assume 0 != ~compRegistered~0; {86544#true} is VALID [2022-04-08 15:14:31,403 INFO L272 TraceCheckUtils]: 2: Hoare triple {86544#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {86659#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:14:31,403 INFO L290 TraceCheckUtils]: 3: Hoare triple {86659#(= ~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; {86544#true} is VALID [2022-04-08 15:14:31,404 INFO L272 TraceCheckUtils]: 4: Hoare triple {86544#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {86659#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:14:31,404 INFO L290 TraceCheckUtils]: 5: Hoare triple {86659#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,404 INFO L290 TraceCheckUtils]: 6: Hoare triple {86622#(= ~setEventCalled~0 1)} assume true; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,405 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {86622#(= ~setEventCalled~0 1)} {86544#true} #1174#return; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,405 INFO L290 TraceCheckUtils]: 8: Hoare triple {86622#(= ~setEventCalled~0 1)} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,405 INFO L290 TraceCheckUtils]: 9: Hoare triple {86622#(= ~setEventCalled~0 1)} assume true; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,406 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {86622#(= ~setEventCalled~0 1)} {86544#true} #1210#return; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,406 INFO L290 TraceCheckUtils]: 11: Hoare triple {86622#(= ~setEventCalled~0 1)} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,407 INFO L290 TraceCheckUtils]: 12: Hoare triple {86622#(= ~setEventCalled~0 1)} assume -1073741802 == ~compRetStatus~0; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,407 INFO L272 TraceCheckUtils]: 13: Hoare triple {86622#(= ~setEventCalled~0 1)} call stubMoreProcessingRequired(); {86663#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:14:31,407 INFO L290 TraceCheckUtils]: 14: Hoare triple {86663#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {86544#true} is VALID [2022-04-08 15:14:31,407 INFO L290 TraceCheckUtils]: 15: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-08 15:14:31,407 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {86544#true} {86622#(= ~setEventCalled~0 1)} #1212#return; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,408 INFO L290 TraceCheckUtils]: 17: Hoare triple {86622#(= ~setEventCalled~0 1)} assume !(0 == ~__BLAST_NONDET~11); {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,408 INFO L290 TraceCheckUtils]: 18: Hoare triple {86622#(= ~setEventCalled~0 1)} assume !(1 == ~__BLAST_NONDET~11); {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,408 INFO L290 TraceCheckUtils]: 19: Hoare triple {86622#(= ~setEventCalled~0 1)} ~returnVal2~0 := 259; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,408 INFO L290 TraceCheckUtils]: 20: Hoare triple {86622#(= ~setEventCalled~0 1)} assume !(~s~0 == ~NP~0); {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,409 INFO L290 TraceCheckUtils]: 21: Hoare triple {86622#(= ~setEventCalled~0 1)} assume ~s~0 == ~MPR1~0; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,409 INFO L290 TraceCheckUtils]: 22: Hoare triple {86622#(= ~setEventCalled~0 1)} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,409 INFO L290 TraceCheckUtils]: 23: Hoare triple {86622#(= ~setEventCalled~0 1)} #res := ~returnVal2~0; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,409 INFO L290 TraceCheckUtils]: 24: Hoare triple {86622#(= ~setEventCalled~0 1)} assume true; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,410 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {86622#(= ~setEventCalled~0 1)} {86544#true} #1192#return; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,413 INFO L272 TraceCheckUtils]: 0: Hoare triple {86544#true} call ULTIMATE.init(); {86623#(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 15:14:31,413 INFO L290 TraceCheckUtils]: 1: Hoare triple {86623#(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; {86544#true} is VALID [2022-04-08 15:14:31,413 INFO L290 TraceCheckUtils]: 2: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-08 15:14:31,413 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {86544#true} {86544#true} #1270#return; {86544#true} is VALID [2022-04-08 15:14:31,413 INFO L272 TraceCheckUtils]: 4: Hoare triple {86544#true} call #t~ret213 := main(); {86544#true} is VALID [2022-04-08 15:14:31,413 INFO L290 TraceCheckUtils]: 5: Hoare triple {86544#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {86544#true} is VALID [2022-04-08 15:14:31,415 INFO L272 TraceCheckUtils]: 6: Hoare triple {86544#true} call _BLAST_init(); {86624#(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 15:14:31,415 INFO L290 TraceCheckUtils]: 7: Hoare triple {86624#(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; {86544#true} is VALID [2022-04-08 15:14:31,415 INFO L290 TraceCheckUtils]: 8: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-08 15:14:31,415 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {86544#true} {86544#true} #1216#return; {86544#true} is VALID [2022-04-08 15:14:31,416 INFO L272 TraceCheckUtils]: 10: Hoare triple {86544#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {86625#(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 15:14:31,416 INFO L290 TraceCheckUtils]: 11: Hoare triple {86625#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {86544#true} is VALID [2022-04-08 15:14:31,416 INFO L272 TraceCheckUtils]: 12: Hoare triple {86544#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {86544#true} is VALID [2022-04-08 15:14:31,416 INFO L290 TraceCheckUtils]: 13: Hoare triple {86544#true} ~cond := #in~cond; {86544#true} is VALID [2022-04-08 15:14:31,417 INFO L290 TraceCheckUtils]: 14: Hoare triple {86544#true} assume !(0 == ~cond); {86544#true} is VALID [2022-04-08 15:14:31,417 INFO L290 TraceCheckUtils]: 15: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-08 15:14:31,417 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {86544#true} {86544#true} #1254#return; {86544#true} is VALID [2022-04-08 15:14:31,417 INFO L290 TraceCheckUtils]: 17: Hoare triple {86544#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {86544#true} is VALID [2022-04-08 15:14:31,417 INFO L290 TraceCheckUtils]: 18: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-08 15:14:31,417 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {86544#true} {86544#true} #1218#return; {86544#true} is VALID [2022-04-08 15:14:31,417 INFO L290 TraceCheckUtils]: 20: Hoare triple {86544#true} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {86544#true} is VALID [2022-04-08 15:14:31,417 INFO L290 TraceCheckUtils]: 21: Hoare triple {86544#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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {86544#true} is VALID [2022-04-08 15:14:31,417 INFO L290 TraceCheckUtils]: 22: Hoare triple {86544#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {86544#true} is VALID [2022-04-08 15:14:31,418 INFO L272 TraceCheckUtils]: 23: Hoare triple {86544#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {86630#(and (= |old(#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 15:14:31,418 INFO L290 TraceCheckUtils]: 24: Hoare triple {86630#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {86544#true} is VALID [2022-04-08 15:14:31,419 INFO L272 TraceCheckUtils]: 25: Hoare triple {86544#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {86630#(and (= |old(#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 15:14:31,419 INFO L290 TraceCheckUtils]: 26: Hoare triple {86630#(and (= |old(#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; {86544#true} is VALID [2022-04-08 15:14:31,419 INFO L290 TraceCheckUtils]: 27: Hoare triple {86544#true} assume 0 == ~__BLAST_NONDET~5; {86544#true} is VALID [2022-04-08 15:14:31,419 INFO L290 TraceCheckUtils]: 28: Hoare triple {86544#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {86544#true} is VALID [2022-04-08 15:14:31,419 INFO L290 TraceCheckUtils]: 29: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-08 15:14:31,419 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {86544#true} {86544#true} #1176#return; {86544#true} is VALID [2022-04-08 15:14:31,419 INFO L290 TraceCheckUtils]: 31: Hoare triple {86544#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {86544#true} is VALID [2022-04-08 15:14:31,419 INFO L290 TraceCheckUtils]: 32: Hoare triple {86544#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {86544#true} is VALID [2022-04-08 15:14:31,420 INFO L272 TraceCheckUtils]: 33: Hoare triple {86544#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {86625#(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 15:14:31,420 INFO L290 TraceCheckUtils]: 34: Hoare triple {86625#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {86544#true} is VALID [2022-04-08 15:14:31,420 INFO L290 TraceCheckUtils]: 35: Hoare triple {86544#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {86544#true} is VALID [2022-04-08 15:14:31,420 INFO L290 TraceCheckUtils]: 36: Hoare triple {86544#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {86544#true} is VALID [2022-04-08 15:14:31,420 INFO L290 TraceCheckUtils]: 37: Hoare triple {86544#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {86544#true} is VALID [2022-04-08 15:14:31,421 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {86544#true} {86544#true} #1178#return; {86544#true} is VALID [2022-04-08 15:14:31,421 INFO L290 TraceCheckUtils]: 39: Hoare triple {86544#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {86544#true} is VALID [2022-04-08 15:14:31,421 INFO L272 TraceCheckUtils]: 40: Hoare triple {86544#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {86544#true} is VALID [2022-04-08 15:14:31,421 INFO L290 TraceCheckUtils]: 41: Hoare triple {86544#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; {86544#true} is VALID [2022-04-08 15:14:31,421 INFO L290 TraceCheckUtils]: 42: Hoare triple {86544#true} assume 0 == ~__BLAST_NONDET~2; {86544#true} is VALID [2022-04-08 15:14:31,421 INFO L290 TraceCheckUtils]: 43: Hoare triple {86544#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {86544#true} is VALID [2022-04-08 15:14:31,421 INFO L290 TraceCheckUtils]: 44: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-08 15:14:31,421 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {86544#true} {86544#true} #1180#return; {86544#true} is VALID [2022-04-08 15:14:31,421 INFO L290 TraceCheckUtils]: 46: Hoare triple {86544#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {86544#true} is VALID [2022-04-08 15:14:31,421 INFO L290 TraceCheckUtils]: 47: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-08 15:14:31,421 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {86544#true} {86544#true} #1220#return; {86544#true} is VALID [2022-04-08 15:14:31,421 INFO L290 TraceCheckUtils]: 49: Hoare triple {86544#true} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {86544#true} is VALID [2022-04-08 15:14:31,422 INFO L272 TraceCheckUtils]: 50: Hoare triple {86544#true} call stub_driver_init(); {86646#(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 15:14:31,422 INFO L290 TraceCheckUtils]: 51: Hoare triple {86646#(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; {86544#true} is VALID [2022-04-08 15:14:31,422 INFO L290 TraceCheckUtils]: 52: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-08 15:14:31,422 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {86544#true} {86544#true} #1222#return; {86544#true} is VALID [2022-04-08 15:14:31,422 INFO L290 TraceCheckUtils]: 54: Hoare triple {86544#true} assume !!(~status~5 >= 0); {86544#true} is VALID [2022-04-08 15:14:31,422 INFO L290 TraceCheckUtils]: 55: Hoare triple {86544#true} assume !(0 == ~__BLAST_NONDET~0); {86544#true} is VALID [2022-04-08 15:14:31,422 INFO L290 TraceCheckUtils]: 56: Hoare triple {86544#true} assume !(1 == ~__BLAST_NONDET~0); {86544#true} is VALID [2022-04-08 15:14:31,422 INFO L290 TraceCheckUtils]: 57: Hoare triple {86544#true} assume !(2 == ~__BLAST_NONDET~0); {86544#true} is VALID [2022-04-08 15:14:31,422 INFO L290 TraceCheckUtils]: 58: Hoare triple {86544#true} assume 3 == ~__BLAST_NONDET~0; {86544#true} is VALID [2022-04-08 15:14:31,422 INFO L272 TraceCheckUtils]: 59: Hoare triple {86544#true} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {86544#true} is VALID [2022-04-08 15:14:31,422 INFO L290 TraceCheckUtils]: 60: Hoare triple {86544#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(28);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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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); {86544#true} is VALID [2022-04-08 15:14:31,422 INFO L290 TraceCheckUtils]: 61: Hoare triple {86544#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {86544#true} is VALID [2022-04-08 15:14:31,422 INFO L290 TraceCheckUtils]: 62: Hoare triple {86544#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 180 + ~Irp.offset, 8);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 68;havoc #t~mem103.base, #t~mem103.offset; {86544#true} is VALID [2022-04-08 15:14:31,423 INFO L272 TraceCheckUtils]: 63: Hoare triple {86544#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, 52); {86625#(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 15:14:31,423 INFO L290 TraceCheckUtils]: 64: Hoare triple {86625#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {86544#true} is VALID [2022-04-08 15:14:31,423 INFO L290 TraceCheckUtils]: 65: Hoare triple {86544#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {86544#true} is VALID [2022-04-08 15:14:31,423 INFO L290 TraceCheckUtils]: 66: Hoare triple {86544#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {86544#true} is VALID [2022-04-08 15:14:31,423 INFO L290 TraceCheckUtils]: 67: Hoare triple {86544#true} assume #t~loopctr221 % 18446744073709551616 < size % 18446744073709551616;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 8);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 8);#t~loopctr221 := 8 + #t~loopctr221; {86544#true} is VALID [2022-04-08 15:14:31,423 INFO L290 TraceCheckUtils]: 68: Hoare triple {86544#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {86544#true} is VALID [2022-04-08 15:14:31,423 INFO L290 TraceCheckUtils]: 69: Hoare triple {86544#true} assume #res.base == dest.base && #res.offset == dest.offset; {86544#true} is VALID [2022-04-08 15:14:31,423 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {86544#true} {86544#true} #1186#return; {86544#true} is VALID [2022-04-08 15:14:31,424 INFO L290 TraceCheckUtils]: 71: Hoare triple {86544#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {86544#true} is VALID [2022-04-08 15:14:31,424 INFO L290 TraceCheckUtils]: 72: Hoare triple {86544#true} assume !(~s~0 != ~NP~0); {86544#true} is VALID [2022-04-08 15:14:31,424 INFO L290 TraceCheckUtils]: 73: Hoare triple {86544#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {86544#true} is VALID [2022-04-08 15:14:31,424 INFO L290 TraceCheckUtils]: 74: Hoare triple {86544#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 68;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 52 + ~irpSp___0~0.offset, 8);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 60 + ~irpSp___0~0.offset, 8);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, 16 + ~devExt~3.offset, 8); {86544#true} is VALID [2022-04-08 15:14:31,424 INFO L272 TraceCheckUtils]: 75: Hoare triple {86544#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {86647#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:14:31,424 INFO L290 TraceCheckUtils]: 76: Hoare triple {86647#(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; {86544#true} is VALID [2022-04-08 15:14:31,425 INFO L290 TraceCheckUtils]: 77: Hoare triple {86544#true} assume 0 != ~compRegistered~0; {86544#true} is VALID [2022-04-08 15:14:31,425 INFO L272 TraceCheckUtils]: 78: Hoare triple {86544#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {86659#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:14:31,425 INFO L290 TraceCheckUtils]: 79: Hoare triple {86659#(= ~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; {86544#true} is VALID [2022-04-08 15:14:31,426 INFO L272 TraceCheckUtils]: 80: Hoare triple {86544#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {86659#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:14:31,426 INFO L290 TraceCheckUtils]: 81: Hoare triple {86659#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,426 INFO L290 TraceCheckUtils]: 82: Hoare triple {86622#(= ~setEventCalled~0 1)} assume true; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,427 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {86622#(= ~setEventCalled~0 1)} {86544#true} #1174#return; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,427 INFO L290 TraceCheckUtils]: 84: Hoare triple {86622#(= ~setEventCalled~0 1)} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,427 INFO L290 TraceCheckUtils]: 85: Hoare triple {86622#(= ~setEventCalled~0 1)} assume true; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,428 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {86622#(= ~setEventCalled~0 1)} {86544#true} #1210#return; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,428 INFO L290 TraceCheckUtils]: 87: Hoare triple {86622#(= ~setEventCalled~0 1)} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,429 INFO L290 TraceCheckUtils]: 88: Hoare triple {86622#(= ~setEventCalled~0 1)} assume -1073741802 == ~compRetStatus~0; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,429 INFO L272 TraceCheckUtils]: 89: Hoare triple {86622#(= ~setEventCalled~0 1)} call stubMoreProcessingRequired(); {86663#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:14:31,429 INFO L290 TraceCheckUtils]: 90: Hoare triple {86663#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {86544#true} is VALID [2022-04-08 15:14:31,429 INFO L290 TraceCheckUtils]: 91: Hoare triple {86544#true} assume true; {86544#true} is VALID [2022-04-08 15:14:31,429 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {86544#true} {86622#(= ~setEventCalled~0 1)} #1212#return; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,430 INFO L290 TraceCheckUtils]: 93: Hoare triple {86622#(= ~setEventCalled~0 1)} assume !(0 == ~__BLAST_NONDET~11); {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,430 INFO L290 TraceCheckUtils]: 94: Hoare triple {86622#(= ~setEventCalled~0 1)} assume !(1 == ~__BLAST_NONDET~11); {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,430 INFO L290 TraceCheckUtils]: 95: Hoare triple {86622#(= ~setEventCalled~0 1)} ~returnVal2~0 := 259; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,430 INFO L290 TraceCheckUtils]: 96: Hoare triple {86622#(= ~setEventCalled~0 1)} assume !(~s~0 == ~NP~0); {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,431 INFO L290 TraceCheckUtils]: 97: Hoare triple {86622#(= ~setEventCalled~0 1)} assume ~s~0 == ~MPR1~0; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,431 INFO L290 TraceCheckUtils]: 98: Hoare triple {86622#(= ~setEventCalled~0 1)} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,431 INFO L290 TraceCheckUtils]: 99: Hoare triple {86622#(= ~setEventCalled~0 1)} #res := ~returnVal2~0; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,431 INFO L290 TraceCheckUtils]: 100: Hoare triple {86622#(= ~setEventCalled~0 1)} assume true; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,432 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {86622#(= ~setEventCalled~0 1)} {86544#true} #1192#return; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,432 INFO L290 TraceCheckUtils]: 102: Hoare triple {86622#(= ~setEventCalled~0 1)} assume -9223372036854775808 <= #t~ret109 && #t~ret109 <= 9223372036854775807;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,432 INFO L290 TraceCheckUtils]: 103: Hoare triple {86622#(= ~setEventCalled~0 1)} assume 259 == ~status~3; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,433 INFO L272 TraceCheckUtils]: 104: Hoare triple {86622#(= ~setEventCalled~0 1)} call #t~ret110 := KeWaitForSingleObject(~#event~1.base, ~#event~1.offset, 0, 0, 0, 0, 0); {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,433 INFO L290 TraceCheckUtils]: 105: Hoare triple {86622#(= ~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; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,433 INFO L290 TraceCheckUtils]: 106: Hoare triple {86622#(= ~setEventCalled~0 1)} assume ~s~0 == ~MPR3~0; {86622#(= ~setEventCalled~0 1)} is VALID [2022-04-08 15:14:31,434 INFO L290 TraceCheckUtils]: 107: Hoare triple {86622#(= ~setEventCalled~0 1)} assume !(1 == ~setEventCalled~0); {86545#false} is VALID [2022-04-08 15:14:31,434 INFO L290 TraceCheckUtils]: 108: Hoare triple {86545#false} assume !(1 == ~customIrp~0); {86545#false} is VALID [2022-04-08 15:14:31,434 INFO L290 TraceCheckUtils]: 109: Hoare triple {86545#false} assume ~s~0 == ~MPR3~0; {86545#false} is VALID [2022-04-08 15:14:31,434 INFO L272 TraceCheckUtils]: 110: Hoare triple {86545#false} call errorFn(); {86545#false} is VALID [2022-04-08 15:14:31,434 INFO L290 TraceCheckUtils]: 111: Hoare triple {86545#false} assume !false; {86545#false} is VALID [2022-04-08 15:14:31,434 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-04-08 15:14:31,434 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:14:31,434 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [820458565] [2022-04-08 15:14:31,434 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [820458565] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:14:31,434 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:14:31,435 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 15:14:31,435 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:14:31,435 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1633475508] [2022-04-08 15:14:31,435 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1633475508] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:14:31,435 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:14:31,435 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 15:14:31,435 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [274567513] [2022-04-08 15:14:31,435 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:14:31,435 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 7.2727272727272725) internal successors, (80), 3 states have internal predecessors, (80), 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 112 [2022-04-08 15:14:31,435 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:14:31,435 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 7.2727272727272725) internal successors, (80), 3 states have internal predecessors, (80), 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 15:14:31,514 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 15:14:31,515 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 15:14:31,515 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:14:31,515 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 15:14:31,515 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=76, Unknown=0, NotChecked=0, Total=110 [2022-04-08 15:14:31,515 INFO L87 Difference]: Start difference. First operand 325 states and 367 transitions. Second operand has 11 states, 11 states have (on average 7.2727272727272725) internal successors, (80), 3 states have internal predecessors, (80), 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 15:14:33,618 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 15:14:38,851 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:14:38,851 INFO L93 Difference]: Finished difference Result 446 states and 505 transitions. [2022-04-08 15:14:38,851 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 15:14:38,851 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 7.2727272727272725) internal successors, (80), 3 states have internal predecessors, (80), 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 112 [2022-04-08 15:14:38,851 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:14:38,851 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 7.2727272727272725) internal successors, (80), 3 states have internal predecessors, (80), 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 15:14:38,853 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 250 transitions. [2022-04-08 15:14:38,853 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 7.2727272727272725) internal successors, (80), 3 states have internal predecessors, (80), 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 15:14:38,854 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 250 transitions. [2022-04-08 15:14:38,854 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 250 transitions. [2022-04-08 15:14:39,103 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 15:14:39,110 INFO L225 Difference]: With dead ends: 446 [2022-04-08 15:14:39,110 INFO L226 Difference]: Without dead ends: 380 [2022-04-08 15:14:39,110 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 15:14:39,111 INFO L913 BasicCegarLoop]: 137 mSDtfsCounter, 249 mSDsluCounter, 133 mSDsCounter, 0 mSdLazyCounter, 357 mSolverCounterSat, 113 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 252 SdHoareTripleChecker+Valid, 270 SdHoareTripleChecker+Invalid, 471 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 113 IncrementalHoareTripleChecker+Valid, 357 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.2s IncrementalHoareTripleChecker+Time [2022-04-08 15:14:39,111 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [252 Valid, 270 Invalid, 471 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [113 Valid, 357 Invalid, 1 Unknown, 0 Unchecked, 3.2s Time] [2022-04-08 15:14:39,111 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 380 states. [2022-04-08 15:14:39,898 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 380 to 342. [2022-04-08 15:14:39,898 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:14:39,898 INFO L82 GeneralOperation]: Start isEquivalent. First operand 380 states. Second operand has 342 states, 266 states have (on average 1.1428571428571428) internal successors, (304), 270 states have internal predecessors, (304), 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 15:14:39,898 INFO L74 IsIncluded]: Start isIncluded. First operand 380 states. Second operand has 342 states, 266 states have (on average 1.1428571428571428) internal successors, (304), 270 states have internal predecessors, (304), 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 15:14:39,899 INFO L87 Difference]: Start difference. First operand 380 states. Second operand has 342 states, 266 states have (on average 1.1428571428571428) internal successors, (304), 270 states have internal predecessors, (304), 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 15:14:39,903 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:14:39,904 INFO L93 Difference]: Finished difference Result 380 states and 424 transitions. [2022-04-08 15:14:39,904 INFO L276 IsEmpty]: Start isEmpty. Operand 380 states and 424 transitions. [2022-04-08 15:14:39,904 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:14:39,904 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:14:39,904 INFO L74 IsIncluded]: Start isIncluded. First operand has 342 states, 266 states have (on average 1.1428571428571428) internal successors, (304), 270 states have internal predecessors, (304), 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 380 states. [2022-04-08 15:14:39,904 INFO L87 Difference]: Start difference. First operand has 342 states, 266 states have (on average 1.1428571428571428) internal successors, (304), 270 states have internal predecessors, (304), 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 380 states. [2022-04-08 15:14:39,909 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:14:39,909 INFO L93 Difference]: Finished difference Result 380 states and 424 transitions. [2022-04-08 15:14:39,909 INFO L276 IsEmpty]: Start isEmpty. Operand 380 states and 424 transitions. [2022-04-08 15:14:39,909 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:14:39,909 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:14:39,909 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:14:39,910 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:14:39,910 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 342 states, 266 states have (on average 1.1428571428571428) internal successors, (304), 270 states have internal predecessors, (304), 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 15:14:39,915 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 342 states to 342 states and 381 transitions. [2022-04-08 15:14:39,915 INFO L78 Accepts]: Start accepts. Automaton has 342 states and 381 transitions. Word has length 112 [2022-04-08 15:14:39,915 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:14:39,915 INFO L478 AbstractCegarLoop]: Abstraction has 342 states and 381 transitions. [2022-04-08 15:14:39,915 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 7.2727272727272725) internal successors, (80), 3 states have internal predecessors, (80), 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 15:14:39,915 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 342 states and 381 transitions. [2022-04-08 15:14:40,871 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 15:14:40,871 INFO L276 IsEmpty]: Start isEmpty. Operand 342 states and 381 transitions. [2022-04-08 15:14:40,871 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 123 [2022-04-08 15:14:40,871 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:14:40,872 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] [2022-04-08 15:14:40,872 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable35 [2022-04-08 15:14:40,872 INFO L403 AbstractCegarLoop]: === Iteration 37 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:14:40,872 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:14:40,872 INFO L85 PathProgramCache]: Analyzing trace with hash 542965401, now seen corresponding path program 1 times [2022-04-08 15:14:40,872 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:14:40,872 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [612880023] [2022-04-08 15:14:40,874 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 15:14:40,874 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 15:14:40,874 INFO L85 PathProgramCache]: Analyzing trace with hash 542965401, now seen corresponding path program 2 times [2022-04-08 15:14:40,874 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:14:40,874 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1870420263] [2022-04-08 15:14:40,874 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:14:40,874 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:14:41,024 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:41,095 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:14:41,096 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:41,101 INFO L290 TraceCheckUtils]: 0: Hoare triple {89104#(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; {89018#true} is VALID [2022-04-08 15:14:41,101 INFO L290 TraceCheckUtils]: 1: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:41,101 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {89018#true} {89018#true} #1270#return; {89018#true} is VALID [2022-04-08 15:14:41,121 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:14:41,122 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:41,126 INFO L290 TraceCheckUtils]: 0: Hoare triple {89105#(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; {89018#true} is VALID [2022-04-08 15:14:41,127 INFO L290 TraceCheckUtils]: 1: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:41,127 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {89018#true} {89018#true} #1216#return; {89018#true} is VALID [2022-04-08 15:14:41,133 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:14:41,138 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:41,152 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:14:41,152 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:41,156 INFO L290 TraceCheckUtils]: 0: Hoare triple {89018#true} ~cond := #in~cond; {89018#true} is VALID [2022-04-08 15:14:41,156 INFO L290 TraceCheckUtils]: 1: Hoare triple {89018#true} assume !(0 == ~cond); {89018#true} is VALID [2022-04-08 15:14:41,156 INFO L290 TraceCheckUtils]: 2: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:41,156 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {89018#true} {89018#true} #1254#return; {89018#true} is VALID [2022-04-08 15:14:41,156 INFO L290 TraceCheckUtils]: 0: Hoare triple {89106#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {89018#true} is VALID [2022-04-08 15:14:41,157 INFO L272 TraceCheckUtils]: 1: Hoare triple {89018#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {89018#true} is VALID [2022-04-08 15:14:41,157 INFO L290 TraceCheckUtils]: 2: Hoare triple {89018#true} ~cond := #in~cond; {89018#true} is VALID [2022-04-08 15:14:41,157 INFO L290 TraceCheckUtils]: 3: Hoare triple {89018#true} assume !(0 == ~cond); {89018#true} is VALID [2022-04-08 15:14:41,157 INFO L290 TraceCheckUtils]: 4: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:41,157 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {89018#true} {89018#true} #1254#return; {89018#true} is VALID [2022-04-08 15:14:41,157 INFO L290 TraceCheckUtils]: 6: Hoare triple {89018#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {89018#true} is VALID [2022-04-08 15:14:41,157 INFO L290 TraceCheckUtils]: 7: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:41,157 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {89018#true} {89018#true} #1218#return; {89018#true} is VALID [2022-04-08 15:14:41,166 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:14:41,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:41,197 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:14:41,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:41,206 INFO L290 TraceCheckUtils]: 0: Hoare triple {89111#(and (= |old(#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; {89018#true} is VALID [2022-04-08 15:14:41,206 INFO L290 TraceCheckUtils]: 1: Hoare triple {89018#true} assume 0 == ~__BLAST_NONDET~5; {89018#true} is VALID [2022-04-08 15:14:41,206 INFO L290 TraceCheckUtils]: 2: Hoare triple {89018#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {89018#true} is VALID [2022-04-08 15:14:41,206 INFO L290 TraceCheckUtils]: 3: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:41,206 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {89018#true} {89018#true} #1176#return; {89018#true} is VALID [2022-04-08 15:14:41,206 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 15:14:41,210 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:41,279 INFO L290 TraceCheckUtils]: 0: Hoare triple {89106#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {89127#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 15:14:41,280 INFO L290 TraceCheckUtils]: 1: Hoare triple {89127#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {89128#(and (or (not (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (or (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616)) (and (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616) 1) 0)) (<= (+ (* 18446744073709551616 (div |#Ultimate.C_memset_#amount| 18446744073709551616)) 1) |#Ultimate.C_memset_#amount|))))} is VALID [2022-04-08 15:14:41,281 INFO L290 TraceCheckUtils]: 2: Hoare triple {89128#(and (or (not (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (or (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616)) (and (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616) 1) 0)) (<= (+ (* 18446744073709551616 (div |#Ultimate.C_memset_#amount| 18446744073709551616)) 1) |#Ultimate.C_memset_#amount|))))} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {89129#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 15:14:41,281 INFO L290 TraceCheckUtils]: 3: Hoare triple {89129#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {89129#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 15:14:41,282 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {89129#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} {89018#true} #1178#return; {89019#false} is VALID [2022-04-08 15:14:41,282 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-08 15:14:41,283 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:41,287 INFO L290 TraceCheckUtils]: 0: Hoare triple {89018#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; {89018#true} is VALID [2022-04-08 15:14:41,287 INFO L290 TraceCheckUtils]: 1: Hoare triple {89018#true} assume 0 == ~__BLAST_NONDET~2; {89018#true} is VALID [2022-04-08 15:14:41,287 INFO L290 TraceCheckUtils]: 2: Hoare triple {89018#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {89018#true} is VALID [2022-04-08 15:14:41,287 INFO L290 TraceCheckUtils]: 3: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:41,287 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {89018#true} {89019#false} #1180#return; {89019#false} is VALID [2022-04-08 15:14:41,287 INFO L290 TraceCheckUtils]: 0: Hoare triple {89111#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {89018#true} is VALID [2022-04-08 15:14:41,288 INFO L272 TraceCheckUtils]: 1: Hoare triple {89018#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {89111#(and (= |old(#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 15:14:41,288 INFO L290 TraceCheckUtils]: 2: Hoare triple {89111#(and (= |old(#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; {89018#true} is VALID [2022-04-08 15:14:41,288 INFO L290 TraceCheckUtils]: 3: Hoare triple {89018#true} assume 0 == ~__BLAST_NONDET~5; {89018#true} is VALID [2022-04-08 15:14:41,288 INFO L290 TraceCheckUtils]: 4: Hoare triple {89018#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {89018#true} is VALID [2022-04-08 15:14:41,289 INFO L290 TraceCheckUtils]: 5: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:41,289 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {89018#true} {89018#true} #1176#return; {89018#true} is VALID [2022-04-08 15:14:41,289 INFO L290 TraceCheckUtils]: 7: Hoare triple {89018#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {89018#true} is VALID [2022-04-08 15:14:41,289 INFO L290 TraceCheckUtils]: 8: Hoare triple {89018#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {89018#true} is VALID [2022-04-08 15:14:41,289 INFO L272 TraceCheckUtils]: 9: Hoare triple {89018#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {89106#(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 15:14:41,290 INFO L290 TraceCheckUtils]: 10: Hoare triple {89106#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {89127#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 15:14:41,291 INFO L290 TraceCheckUtils]: 11: Hoare triple {89127#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {89128#(and (or (not (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (or (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616)) (and (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616) 1) 0)) (<= (+ (* 18446744073709551616 (div |#Ultimate.C_memset_#amount| 18446744073709551616)) 1) |#Ultimate.C_memset_#amount|))))} is VALID [2022-04-08 15:14:41,291 INFO L290 TraceCheckUtils]: 12: Hoare triple {89128#(and (or (not (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (or (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616)) (and (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616) 1) 0)) (<= (+ (* 18446744073709551616 (div |#Ultimate.C_memset_#amount| 18446744073709551616)) 1) |#Ultimate.C_memset_#amount|))))} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {89129#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 15:14:41,292 INFO L290 TraceCheckUtils]: 13: Hoare triple {89129#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {89129#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 15:14:41,292 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {89129#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} {89018#true} #1178#return; {89019#false} is VALID [2022-04-08 15:14:41,292 INFO L290 TraceCheckUtils]: 15: Hoare triple {89019#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {89019#false} is VALID [2022-04-08 15:14:41,293 INFO L272 TraceCheckUtils]: 16: Hoare triple {89019#false} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {89018#true} is VALID [2022-04-08 15:14:41,293 INFO L290 TraceCheckUtils]: 17: Hoare triple {89018#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; {89018#true} is VALID [2022-04-08 15:14:41,293 INFO L290 TraceCheckUtils]: 18: Hoare triple {89018#true} assume 0 == ~__BLAST_NONDET~2; {89018#true} is VALID [2022-04-08 15:14:41,293 INFO L290 TraceCheckUtils]: 19: Hoare triple {89018#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {89018#true} is VALID [2022-04-08 15:14:41,293 INFO L290 TraceCheckUtils]: 20: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:41,293 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {89018#true} {89019#false} #1180#return; {89019#false} is VALID [2022-04-08 15:14:41,293 INFO L290 TraceCheckUtils]: 22: Hoare triple {89019#false} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {89019#false} is VALID [2022-04-08 15:14:41,293 INFO L290 TraceCheckUtils]: 23: Hoare triple {89019#false} assume true; {89019#false} is VALID [2022-04-08 15:14:41,293 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {89019#false} {89018#true} #1220#return; {89019#false} is VALID [2022-04-08 15:14:41,308 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-08 15:14:41,309 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:41,316 INFO L290 TraceCheckUtils]: 0: Hoare triple {89130#(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; {89018#true} is VALID [2022-04-08 15:14:41,317 INFO L290 TraceCheckUtils]: 1: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:41,317 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {89018#true} {89019#false} #1222#return; {89019#false} is VALID [2022-04-08 15:14:41,317 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-08 15:14:41,322 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:41,328 INFO L290 TraceCheckUtils]: 0: Hoare triple {89106#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {89018#true} is VALID [2022-04-08 15:14:41,328 INFO L290 TraceCheckUtils]: 1: Hoare triple {89018#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {89018#true} is VALID [2022-04-08 15:14:41,328 INFO L290 TraceCheckUtils]: 2: Hoare triple {89018#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {89018#true} is VALID [2022-04-08 15:14:41,328 INFO L290 TraceCheckUtils]: 3: Hoare triple {89018#true} assume #t~loopctr221 % 18446744073709551616 < size % 18446744073709551616;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 8);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 8);#t~loopctr221 := 8 + #t~loopctr221; {89018#true} is VALID [2022-04-08 15:14:41,328 INFO L290 TraceCheckUtils]: 4: Hoare triple {89018#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {89018#true} is VALID [2022-04-08 15:14:41,328 INFO L290 TraceCheckUtils]: 5: Hoare triple {89018#true} assume #res.base == dest.base && #res.offset == dest.offset; {89018#true} is VALID [2022-04-08 15:14:41,328 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {89018#true} {89019#false} #1186#return; {89019#false} is VALID [2022-04-08 15:14:41,339 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 75 [2022-04-08 15:14:41,343 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:41,357 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 15:14:41,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:41,363 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:14:41,364 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:41,367 INFO L290 TraceCheckUtils]: 0: Hoare triple {89143#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {89018#true} is VALID [2022-04-08 15:14:41,367 INFO L290 TraceCheckUtils]: 1: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:41,367 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {89018#true} {89018#true} #1174#return; {89018#true} is VALID [2022-04-08 15:14:41,367 INFO L290 TraceCheckUtils]: 0: Hoare triple {89143#(= ~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; {89018#true} is VALID [2022-04-08 15:14:41,368 INFO L272 TraceCheckUtils]: 1: Hoare triple {89018#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {89143#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:14:41,368 INFO L290 TraceCheckUtils]: 2: Hoare triple {89143#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {89018#true} is VALID [2022-04-08 15:14:41,368 INFO L290 TraceCheckUtils]: 3: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:41,368 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {89018#true} {89018#true} #1174#return; {89018#true} is VALID [2022-04-08 15:14:41,368 INFO L290 TraceCheckUtils]: 5: Hoare triple {89018#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {89018#true} is VALID [2022-04-08 15:14:41,368 INFO L290 TraceCheckUtils]: 6: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:41,368 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {89018#true} {89018#true} #1210#return; {89018#true} is VALID [2022-04-08 15:14:41,377 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 15:14:41,378 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:41,396 INFO L290 TraceCheckUtils]: 0: Hoare triple {89147#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {89018#true} is VALID [2022-04-08 15:14:41,396 INFO L290 TraceCheckUtils]: 1: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:41,396 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {89018#true} {89018#true} #1212#return; {89018#true} is VALID [2022-04-08 15:14:41,396 INFO L290 TraceCheckUtils]: 0: Hoare triple {89131#(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; {89018#true} is VALID [2022-04-08 15:14:41,396 INFO L290 TraceCheckUtils]: 1: Hoare triple {89018#true} assume 0 != ~compRegistered~0; {89018#true} is VALID [2022-04-08 15:14:41,397 INFO L272 TraceCheckUtils]: 2: Hoare triple {89018#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {89143#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:14:41,397 INFO L290 TraceCheckUtils]: 3: Hoare triple {89143#(= ~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; {89018#true} is VALID [2022-04-08 15:14:41,398 INFO L272 TraceCheckUtils]: 4: Hoare triple {89018#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {89143#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:14:41,398 INFO L290 TraceCheckUtils]: 5: Hoare triple {89143#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {89018#true} is VALID [2022-04-08 15:14:41,398 INFO L290 TraceCheckUtils]: 6: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:41,398 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {89018#true} {89018#true} #1174#return; {89018#true} is VALID [2022-04-08 15:14:41,398 INFO L290 TraceCheckUtils]: 8: Hoare triple {89018#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {89018#true} is VALID [2022-04-08 15:14:41,398 INFO L290 TraceCheckUtils]: 9: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:41,398 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {89018#true} {89018#true} #1210#return; {89018#true} is VALID [2022-04-08 15:14:41,398 INFO L290 TraceCheckUtils]: 11: Hoare triple {89018#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {89018#true} is VALID [2022-04-08 15:14:41,398 INFO L290 TraceCheckUtils]: 12: Hoare triple {89018#true} assume -1073741802 == ~compRetStatus~0; {89018#true} is VALID [2022-04-08 15:14:41,398 INFO L272 TraceCheckUtils]: 13: Hoare triple {89018#true} call stubMoreProcessingRequired(); {89147#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:14:41,398 INFO L290 TraceCheckUtils]: 14: Hoare triple {89147#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {89018#true} is VALID [2022-04-08 15:14:41,398 INFO L290 TraceCheckUtils]: 15: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:41,399 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {89018#true} {89018#true} #1212#return; {89018#true} is VALID [2022-04-08 15:14:41,399 INFO L290 TraceCheckUtils]: 17: Hoare triple {89018#true} assume !(0 == ~__BLAST_NONDET~11); {89018#true} is VALID [2022-04-08 15:14:41,399 INFO L290 TraceCheckUtils]: 18: Hoare triple {89018#true} assume !(1 == ~__BLAST_NONDET~11); {89018#true} is VALID [2022-04-08 15:14:41,399 INFO L290 TraceCheckUtils]: 19: Hoare triple {89018#true} ~returnVal2~0 := 259; {89018#true} is VALID [2022-04-08 15:14:41,399 INFO L290 TraceCheckUtils]: 20: Hoare triple {89018#true} assume !(~s~0 == ~NP~0); {89018#true} is VALID [2022-04-08 15:14:41,399 INFO L290 TraceCheckUtils]: 21: Hoare triple {89018#true} assume ~s~0 == ~MPR1~0; {89018#true} is VALID [2022-04-08 15:14:41,399 INFO L290 TraceCheckUtils]: 22: Hoare triple {89018#true} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {89018#true} is VALID [2022-04-08 15:14:41,399 INFO L290 TraceCheckUtils]: 23: Hoare triple {89018#true} #res := ~returnVal2~0; {89018#true} is VALID [2022-04-08 15:14:41,399 INFO L290 TraceCheckUtils]: 24: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:41,399 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {89018#true} {89019#false} #1192#return; {89019#false} is VALID [2022-04-08 15:14:41,410 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 104 [2022-04-08 15:14:41,412 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:41,416 INFO L290 TraceCheckUtils]: 0: Hoare triple {89148#(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; {89018#true} is VALID [2022-04-08 15:14:41,416 INFO L290 TraceCheckUtils]: 1: Hoare triple {89018#true} assume !(~s~0 == ~MPR3~0); {89018#true} is VALID [2022-04-08 15:14:41,416 INFO L290 TraceCheckUtils]: 2: Hoare triple {89018#true} assume !(1 == ~customIrp~0); {89018#true} is VALID [2022-04-08 15:14:41,416 INFO L290 TraceCheckUtils]: 3: Hoare triple {89018#true} assume !(~s~0 == ~MPR3~0); {89018#true} is VALID [2022-04-08 15:14:41,416 INFO L290 TraceCheckUtils]: 4: Hoare triple {89018#true} assume 0 == ~__BLAST_NONDET~13; {89018#true} is VALID [2022-04-08 15:14:41,416 INFO L290 TraceCheckUtils]: 5: Hoare triple {89018#true} #res := 0; {89018#true} is VALID [2022-04-08 15:14:41,416 INFO L290 TraceCheckUtils]: 6: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:41,416 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {89018#true} {89019#false} #1194#return; {89019#false} is VALID [2022-04-08 15:14:41,418 INFO L272 TraceCheckUtils]: 0: Hoare triple {89018#true} call ULTIMATE.init(); {89104#(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 15:14:41,418 INFO L290 TraceCheckUtils]: 1: Hoare triple {89104#(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; {89018#true} is VALID [2022-04-08 15:14:41,418 INFO L290 TraceCheckUtils]: 2: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:41,418 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {89018#true} {89018#true} #1270#return; {89018#true} is VALID [2022-04-08 15:14:41,418 INFO L272 TraceCheckUtils]: 4: Hoare triple {89018#true} call #t~ret213 := main(); {89018#true} is VALID [2022-04-08 15:14:41,418 INFO L290 TraceCheckUtils]: 5: Hoare triple {89018#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {89018#true} is VALID [2022-04-08 15:14:41,419 INFO L272 TraceCheckUtils]: 6: Hoare triple {89018#true} call _BLAST_init(); {89105#(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 15:14:41,419 INFO L290 TraceCheckUtils]: 7: Hoare triple {89105#(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; {89018#true} is VALID [2022-04-08 15:14:41,419 INFO L290 TraceCheckUtils]: 8: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:41,419 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {89018#true} {89018#true} #1216#return; {89018#true} is VALID [2022-04-08 15:14:41,420 INFO L272 TraceCheckUtils]: 10: Hoare triple {89018#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {89106#(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 15:14:41,420 INFO L290 TraceCheckUtils]: 11: Hoare triple {89106#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {89018#true} is VALID [2022-04-08 15:14:41,420 INFO L272 TraceCheckUtils]: 12: Hoare triple {89018#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {89018#true} is VALID [2022-04-08 15:14:41,420 INFO L290 TraceCheckUtils]: 13: Hoare triple {89018#true} ~cond := #in~cond; {89018#true} is VALID [2022-04-08 15:14:41,420 INFO L290 TraceCheckUtils]: 14: Hoare triple {89018#true} assume !(0 == ~cond); {89018#true} is VALID [2022-04-08 15:14:41,420 INFO L290 TraceCheckUtils]: 15: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:41,420 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {89018#true} {89018#true} #1254#return; {89018#true} is VALID [2022-04-08 15:14:41,420 INFO L290 TraceCheckUtils]: 17: Hoare triple {89018#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {89018#true} is VALID [2022-04-08 15:14:41,420 INFO L290 TraceCheckUtils]: 18: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:41,420 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {89018#true} {89018#true} #1218#return; {89018#true} is VALID [2022-04-08 15:14:41,420 INFO L290 TraceCheckUtils]: 20: Hoare triple {89018#true} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {89018#true} is VALID [2022-04-08 15:14:41,420 INFO L290 TraceCheckUtils]: 21: Hoare triple {89018#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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {89018#true} is VALID [2022-04-08 15:14:41,420 INFO L290 TraceCheckUtils]: 22: Hoare triple {89018#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {89018#true} is VALID [2022-04-08 15:14:41,421 INFO L272 TraceCheckUtils]: 23: Hoare triple {89018#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {89111#(and (= |old(#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 15:14:41,421 INFO L290 TraceCheckUtils]: 24: Hoare triple {89111#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {89018#true} is VALID [2022-04-08 15:14:41,422 INFO L272 TraceCheckUtils]: 25: Hoare triple {89018#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {89111#(and (= |old(#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 15:14:41,422 INFO L290 TraceCheckUtils]: 26: Hoare triple {89111#(and (= |old(#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; {89018#true} is VALID [2022-04-08 15:14:41,422 INFO L290 TraceCheckUtils]: 27: Hoare triple {89018#true} assume 0 == ~__BLAST_NONDET~5; {89018#true} is VALID [2022-04-08 15:14:41,422 INFO L290 TraceCheckUtils]: 28: Hoare triple {89018#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {89018#true} is VALID [2022-04-08 15:14:41,423 INFO L290 TraceCheckUtils]: 29: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:41,423 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {89018#true} {89018#true} #1176#return; {89018#true} is VALID [2022-04-08 15:14:41,423 INFO L290 TraceCheckUtils]: 31: Hoare triple {89018#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {89018#true} is VALID [2022-04-08 15:14:41,423 INFO L290 TraceCheckUtils]: 32: Hoare triple {89018#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {89018#true} is VALID [2022-04-08 15:14:41,423 INFO L272 TraceCheckUtils]: 33: Hoare triple {89018#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {89106#(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 15:14:41,424 INFO L290 TraceCheckUtils]: 34: Hoare triple {89106#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {89127#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 15:14:41,425 INFO L290 TraceCheckUtils]: 35: Hoare triple {89127#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {89128#(and (or (not (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (or (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616)) (and (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616) 1) 0)) (<= (+ (* 18446744073709551616 (div |#Ultimate.C_memset_#amount| 18446744073709551616)) 1) |#Ultimate.C_memset_#amount|))))} is VALID [2022-04-08 15:14:41,425 INFO L290 TraceCheckUtils]: 36: Hoare triple {89128#(and (or (not (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)) (or (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616)) (and (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616) 1) 0)) (<= (+ (* 18446744073709551616 (div |#Ultimate.C_memset_#amount| 18446744073709551616)) 1) |#Ultimate.C_memset_#amount|))))} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {89129#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 15:14:41,426 INFO L290 TraceCheckUtils]: 37: Hoare triple {89129#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {89129#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 15:14:41,426 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {89129#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} {89018#true} #1178#return; {89019#false} is VALID [2022-04-08 15:14:41,427 INFO L290 TraceCheckUtils]: 39: Hoare triple {89019#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {89019#false} is VALID [2022-04-08 15:14:41,427 INFO L272 TraceCheckUtils]: 40: Hoare triple {89019#false} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {89018#true} is VALID [2022-04-08 15:14:41,427 INFO L290 TraceCheckUtils]: 41: Hoare triple {89018#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; {89018#true} is VALID [2022-04-08 15:14:41,427 INFO L290 TraceCheckUtils]: 42: Hoare triple {89018#true} assume 0 == ~__BLAST_NONDET~2; {89018#true} is VALID [2022-04-08 15:14:41,427 INFO L290 TraceCheckUtils]: 43: Hoare triple {89018#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {89018#true} is VALID [2022-04-08 15:14:41,427 INFO L290 TraceCheckUtils]: 44: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:41,427 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {89018#true} {89019#false} #1180#return; {89019#false} is VALID [2022-04-08 15:14:41,427 INFO L290 TraceCheckUtils]: 46: Hoare triple {89019#false} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {89019#false} is VALID [2022-04-08 15:14:41,427 INFO L290 TraceCheckUtils]: 47: Hoare triple {89019#false} assume true; {89019#false} is VALID [2022-04-08 15:14:41,427 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {89019#false} {89018#true} #1220#return; {89019#false} is VALID [2022-04-08 15:14:41,427 INFO L290 TraceCheckUtils]: 49: Hoare triple {89019#false} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {89019#false} is VALID [2022-04-08 15:14:41,427 INFO L272 TraceCheckUtils]: 50: Hoare triple {89019#false} call stub_driver_init(); {89130#(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 15:14:41,427 INFO L290 TraceCheckUtils]: 51: Hoare triple {89130#(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; {89018#true} is VALID [2022-04-08 15:14:41,427 INFO L290 TraceCheckUtils]: 52: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:41,427 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {89018#true} {89019#false} #1222#return; {89019#false} is VALID [2022-04-08 15:14:41,427 INFO L290 TraceCheckUtils]: 54: Hoare triple {89019#false} assume !!(~status~5 >= 0); {89019#false} is VALID [2022-04-08 15:14:41,427 INFO L290 TraceCheckUtils]: 55: Hoare triple {89019#false} assume !(0 == ~__BLAST_NONDET~0); {89019#false} is VALID [2022-04-08 15:14:41,427 INFO L290 TraceCheckUtils]: 56: Hoare triple {89019#false} assume !(1 == ~__BLAST_NONDET~0); {89019#false} is VALID [2022-04-08 15:14:41,427 INFO L290 TraceCheckUtils]: 57: Hoare triple {89019#false} assume !(2 == ~__BLAST_NONDET~0); {89019#false} is VALID [2022-04-08 15:14:41,428 INFO L290 TraceCheckUtils]: 58: Hoare triple {89019#false} assume 3 == ~__BLAST_NONDET~0; {89019#false} is VALID [2022-04-08 15:14:41,428 INFO L272 TraceCheckUtils]: 59: Hoare triple {89019#false} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {89019#false} is VALID [2022-04-08 15:14:41,428 INFO L290 TraceCheckUtils]: 60: Hoare triple {89019#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(28);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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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); {89019#false} is VALID [2022-04-08 15:14:41,428 INFO L290 TraceCheckUtils]: 61: Hoare triple {89019#false} assume 0 == #t~mem81 % 256;havoc #t~mem81; {89019#false} is VALID [2022-04-08 15:14:41,428 INFO L290 TraceCheckUtils]: 62: Hoare triple {89019#false} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 180 + ~Irp.offset, 8);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 68;havoc #t~mem103.base, #t~mem103.offset; {89019#false} is VALID [2022-04-08 15:14:41,428 INFO L272 TraceCheckUtils]: 63: Hoare triple {89019#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, 52); {89106#(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 15:14:41,428 INFO L290 TraceCheckUtils]: 64: Hoare triple {89106#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {89018#true} is VALID [2022-04-08 15:14:41,428 INFO L290 TraceCheckUtils]: 65: Hoare triple {89018#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {89018#true} is VALID [2022-04-08 15:14:41,428 INFO L290 TraceCheckUtils]: 66: Hoare triple {89018#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {89018#true} is VALID [2022-04-08 15:14:41,428 INFO L290 TraceCheckUtils]: 67: Hoare triple {89018#true} assume #t~loopctr221 % 18446744073709551616 < size % 18446744073709551616;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 8);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 8);#t~loopctr221 := 8 + #t~loopctr221; {89018#true} is VALID [2022-04-08 15:14:41,428 INFO L290 TraceCheckUtils]: 68: Hoare triple {89018#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {89018#true} is VALID [2022-04-08 15:14:41,428 INFO L290 TraceCheckUtils]: 69: Hoare triple {89018#true} assume #res.base == dest.base && #res.offset == dest.offset; {89018#true} is VALID [2022-04-08 15:14:41,428 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {89018#true} {89019#false} #1186#return; {89019#false} is VALID [2022-04-08 15:14:41,428 INFO L290 TraceCheckUtils]: 71: Hoare triple {89019#false} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {89019#false} is VALID [2022-04-08 15:14:41,428 INFO L290 TraceCheckUtils]: 72: Hoare triple {89019#false} assume !(~s~0 != ~NP~0); {89019#false} is VALID [2022-04-08 15:14:41,428 INFO L290 TraceCheckUtils]: 73: Hoare triple {89019#false} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {89019#false} is VALID [2022-04-08 15:14:41,428 INFO L290 TraceCheckUtils]: 74: Hoare triple {89019#false} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 68;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 52 + ~irpSp___0~0.offset, 8);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 60 + ~irpSp___0~0.offset, 8);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, 16 + ~devExt~3.offset, 8); {89019#false} is VALID [2022-04-08 15:14:41,428 INFO L272 TraceCheckUtils]: 75: Hoare triple {89019#false} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {89131#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:14:41,428 INFO L290 TraceCheckUtils]: 76: Hoare triple {89131#(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; {89018#true} is VALID [2022-04-08 15:14:41,428 INFO L290 TraceCheckUtils]: 77: Hoare triple {89018#true} assume 0 != ~compRegistered~0; {89018#true} is VALID [2022-04-08 15:14:41,429 INFO L272 TraceCheckUtils]: 78: Hoare triple {89018#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {89143#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:14:41,429 INFO L290 TraceCheckUtils]: 79: Hoare triple {89143#(= ~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; {89018#true} is VALID [2022-04-08 15:14:41,430 INFO L272 TraceCheckUtils]: 80: Hoare triple {89018#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {89143#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:14:41,430 INFO L290 TraceCheckUtils]: 81: Hoare triple {89143#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {89018#true} is VALID [2022-04-08 15:14:41,430 INFO L290 TraceCheckUtils]: 82: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:41,430 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {89018#true} {89018#true} #1174#return; {89018#true} is VALID [2022-04-08 15:14:41,430 INFO L290 TraceCheckUtils]: 84: Hoare triple {89018#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {89018#true} is VALID [2022-04-08 15:14:41,430 INFO L290 TraceCheckUtils]: 85: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:41,430 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {89018#true} {89018#true} #1210#return; {89018#true} is VALID [2022-04-08 15:14:41,430 INFO L290 TraceCheckUtils]: 87: Hoare triple {89018#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {89018#true} is VALID [2022-04-08 15:14:41,430 INFO L290 TraceCheckUtils]: 88: Hoare triple {89018#true} assume -1073741802 == ~compRetStatus~0; {89018#true} is VALID [2022-04-08 15:14:41,431 INFO L272 TraceCheckUtils]: 89: Hoare triple {89018#true} call stubMoreProcessingRequired(); {89147#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:14:41,431 INFO L290 TraceCheckUtils]: 90: Hoare triple {89147#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {89018#true} is VALID [2022-04-08 15:14:41,431 INFO L290 TraceCheckUtils]: 91: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:41,431 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {89018#true} {89018#true} #1212#return; {89018#true} is VALID [2022-04-08 15:14:41,431 INFO L290 TraceCheckUtils]: 93: Hoare triple {89018#true} assume !(0 == ~__BLAST_NONDET~11); {89018#true} is VALID [2022-04-08 15:14:41,431 INFO L290 TraceCheckUtils]: 94: Hoare triple {89018#true} assume !(1 == ~__BLAST_NONDET~11); {89018#true} is VALID [2022-04-08 15:14:41,431 INFO L290 TraceCheckUtils]: 95: Hoare triple {89018#true} ~returnVal2~0 := 259; {89018#true} is VALID [2022-04-08 15:14:41,431 INFO L290 TraceCheckUtils]: 96: Hoare triple {89018#true} assume !(~s~0 == ~NP~0); {89018#true} is VALID [2022-04-08 15:14:41,431 INFO L290 TraceCheckUtils]: 97: Hoare triple {89018#true} assume ~s~0 == ~MPR1~0; {89018#true} is VALID [2022-04-08 15:14:41,431 INFO L290 TraceCheckUtils]: 98: Hoare triple {89018#true} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {89018#true} is VALID [2022-04-08 15:14:41,431 INFO L290 TraceCheckUtils]: 99: Hoare triple {89018#true} #res := ~returnVal2~0; {89018#true} is VALID [2022-04-08 15:14:41,431 INFO L290 TraceCheckUtils]: 100: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:41,431 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {89018#true} {89019#false} #1192#return; {89019#false} is VALID [2022-04-08 15:14:41,431 INFO L290 TraceCheckUtils]: 102: Hoare triple {89019#false} assume -9223372036854775808 <= #t~ret109 && #t~ret109 <= 9223372036854775807;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {89019#false} is VALID [2022-04-08 15:14:41,431 INFO L290 TraceCheckUtils]: 103: Hoare triple {89019#false} assume 259 == ~status~3; {89019#false} is VALID [2022-04-08 15:14:41,431 INFO L272 TraceCheckUtils]: 104: Hoare triple {89019#false} call #t~ret110 := KeWaitForSingleObject(~#event~1.base, ~#event~1.offset, 0, 0, 0, 0, 0); {89148#(and (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:14:41,431 INFO L290 TraceCheckUtils]: 105: Hoare triple {89148#(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; {89018#true} is VALID [2022-04-08 15:14:41,431 INFO L290 TraceCheckUtils]: 106: Hoare triple {89018#true} assume !(~s~0 == ~MPR3~0); {89018#true} is VALID [2022-04-08 15:14:41,431 INFO L290 TraceCheckUtils]: 107: Hoare triple {89018#true} assume !(1 == ~customIrp~0); {89018#true} is VALID [2022-04-08 15:14:41,432 INFO L290 TraceCheckUtils]: 108: Hoare triple {89018#true} assume !(~s~0 == ~MPR3~0); {89018#true} is VALID [2022-04-08 15:14:41,432 INFO L290 TraceCheckUtils]: 109: Hoare triple {89018#true} assume 0 == ~__BLAST_NONDET~13; {89018#true} is VALID [2022-04-08 15:14:41,432 INFO L290 TraceCheckUtils]: 110: Hoare triple {89018#true} #res := 0; {89018#true} is VALID [2022-04-08 15:14:41,432 INFO L290 TraceCheckUtils]: 111: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:41,432 INFO L284 TraceCheckUtils]: 112: Hoare quadruple {89018#true} {89019#false} #1194#return; {89019#false} is VALID [2022-04-08 15:14:41,432 INFO L290 TraceCheckUtils]: 113: Hoare triple {89019#false} assume -9223372036854775808 <= #t~ret110 && #t~ret110 <= 9223372036854775807;havoc #t~ret110; {89019#false} is VALID [2022-04-08 15:14:41,432 INFO L290 TraceCheckUtils]: 114: Hoare triple {89019#false} assume ~status~3 >= 0; {89019#false} is VALID [2022-04-08 15:14:41,432 INFO L290 TraceCheckUtils]: 115: Hoare triple {89019#false} assume !(~myStatus~0 >= 0); {89019#false} is VALID [2022-04-08 15:14:41,432 INFO L290 TraceCheckUtils]: 116: Hoare triple {89019#false} call write~int(~status~3, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~3 % 4294967296 <= 2147483647 then ~status~3 % 4294967296 else ~status~3 % 4294967296 - 4294967296);call write~int(0, ~Irp.base, 52 + ~Irp.offset, 8); {89019#false} is VALID [2022-04-08 15:14:41,432 INFO L272 TraceCheckUtils]: 117: Hoare triple {89019#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {89019#false} is VALID [2022-04-08 15:14:41,432 INFO L290 TraceCheckUtils]: 118: Hoare triple {89019#false} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {89019#false} is VALID [2022-04-08 15:14:41,432 INFO L290 TraceCheckUtils]: 119: Hoare triple {89019#false} assume !(~s~0 == ~NP~0); {89019#false} is VALID [2022-04-08 15:14:41,432 INFO L272 TraceCheckUtils]: 120: Hoare triple {89019#false} call errorFn(); {89019#false} is VALID [2022-04-08 15:14:41,432 INFO L290 TraceCheckUtils]: 121: Hoare triple {89019#false} assume !false; {89019#false} is VALID [2022-04-08 15:14:41,432 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 15:14:41,433 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:14:41,433 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1870420263] [2022-04-08 15:14:41,433 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1870420263] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 15:14:41,433 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [57761159] [2022-04-08 15:14:41,433 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 15:14:41,433 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 15:14:41,433 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 15:14:41,434 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 15:14:41,434 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 15:14:42,468 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 15:14:42,469 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 15:14:42,476 INFO L263 TraceCheckSpWp]: Trace formula consists of 1824 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 15:14:42,523 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:42,529 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 15:14:42,784 INFO L272 TraceCheckUtils]: 0: Hoare triple {89018#true} call ULTIMATE.init(); {89018#true} is VALID [2022-04-08 15:14:42,785 INFO L290 TraceCheckUtils]: 1: Hoare triple {89018#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; {89018#true} is VALID [2022-04-08 15:14:42,785 INFO L290 TraceCheckUtils]: 2: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:42,785 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {89018#true} {89018#true} #1270#return; {89018#true} is VALID [2022-04-08 15:14:42,785 INFO L272 TraceCheckUtils]: 4: Hoare triple {89018#true} call #t~ret213 := main(); {89018#true} is VALID [2022-04-08 15:14:42,785 INFO L290 TraceCheckUtils]: 5: Hoare triple {89018#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {89018#true} is VALID [2022-04-08 15:14:42,785 INFO L272 TraceCheckUtils]: 6: Hoare triple {89018#true} call _BLAST_init(); {89018#true} is VALID [2022-04-08 15:14:42,785 INFO L290 TraceCheckUtils]: 7: Hoare triple {89018#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; {89018#true} is VALID [2022-04-08 15:14:42,785 INFO L290 TraceCheckUtils]: 8: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:42,785 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {89018#true} {89018#true} #1216#return; {89018#true} is VALID [2022-04-08 15:14:42,785 INFO L272 TraceCheckUtils]: 10: Hoare triple {89018#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {89018#true} is VALID [2022-04-08 15:14:42,785 INFO L290 TraceCheckUtils]: 11: Hoare triple {89018#true} ~DriverObject.base, ~DriverObject.offset := #in~DriverObject.base, #in~DriverObject.offset;~RegistryPath.base, ~RegistryPath.offset := #in~RegistryPath.base, #in~RegistryPath.offset;assume -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {89018#true} is VALID [2022-04-08 15:14:42,785 INFO L272 TraceCheckUtils]: 12: Hoare triple {89018#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {89018#true} is VALID [2022-04-08 15:14:42,785 INFO L290 TraceCheckUtils]: 13: Hoare triple {89018#true} ~cond := #in~cond; {89018#true} is VALID [2022-04-08 15:14:42,785 INFO L290 TraceCheckUtils]: 14: Hoare triple {89018#true} assume !(0 == ~cond); {89018#true} is VALID [2022-04-08 15:14:42,785 INFO L290 TraceCheckUtils]: 15: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:42,785 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {89018#true} {89018#true} #1254#return; {89018#true} is VALID [2022-04-08 15:14:42,785 INFO L290 TraceCheckUtils]: 17: Hoare triple {89018#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {89018#true} is VALID [2022-04-08 15:14:42,785 INFO L290 TraceCheckUtils]: 18: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:42,785 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {89018#true} {89018#true} #1218#return; {89018#true} is VALID [2022-04-08 15:14:42,786 INFO L290 TraceCheckUtils]: 20: Hoare triple {89018#true} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {89018#true} is VALID [2022-04-08 15:14:42,786 INFO L290 TraceCheckUtils]: 21: Hoare triple {89018#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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {89018#true} is VALID [2022-04-08 15:14:42,786 INFO L290 TraceCheckUtils]: 22: Hoare triple {89018#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {89018#true} is VALID [2022-04-08 15:14:42,786 INFO L272 TraceCheckUtils]: 23: Hoare triple {89018#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {89018#true} is VALID [2022-04-08 15:14:42,786 INFO L290 TraceCheckUtils]: 24: Hoare triple {89018#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(8);havoc ~status~0;~status~0 := 0; {89018#true} is VALID [2022-04-08 15:14:42,786 INFO L272 TraceCheckUtils]: 25: Hoare triple {89018#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {89018#true} is VALID [2022-04-08 15:14:42,786 INFO L290 TraceCheckUtils]: 26: Hoare triple {89018#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; {89018#true} is VALID [2022-04-08 15:14:42,786 INFO L290 TraceCheckUtils]: 27: Hoare triple {89018#true} assume 0 == ~__BLAST_NONDET~5; {89018#true} is VALID [2022-04-08 15:14:42,786 INFO L290 TraceCheckUtils]: 28: Hoare triple {89018#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {89018#true} is VALID [2022-04-08 15:14:42,786 INFO L290 TraceCheckUtils]: 29: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:42,786 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {89018#true} {89018#true} #1176#return; {89018#true} is VALID [2022-04-08 15:14:42,786 INFO L290 TraceCheckUtils]: 31: Hoare triple {89018#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {89018#true} is VALID [2022-04-08 15:14:42,786 INFO L290 TraceCheckUtils]: 32: Hoare triple {89018#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {89018#true} is VALID [2022-04-08 15:14:42,786 INFO L272 TraceCheckUtils]: 33: Hoare triple {89018#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {89018#true} is VALID [2022-04-08 15:14:42,786 INFO L290 TraceCheckUtils]: 34: Hoare triple {89018#true} #t~loopctr214 := 0; {89018#true} is VALID [2022-04-08 15:14:42,786 INFO L290 TraceCheckUtils]: 35: Hoare triple {89018#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {89018#true} is VALID [2022-04-08 15:14:42,786 INFO L290 TraceCheckUtils]: 36: Hoare triple {89018#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {89018#true} is VALID [2022-04-08 15:14:42,786 INFO L290 TraceCheckUtils]: 37: Hoare triple {89018#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {89018#true} is VALID [2022-04-08 15:14:42,786 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {89018#true} {89018#true} #1178#return; {89018#true} is VALID [2022-04-08 15:14:42,786 INFO L290 TraceCheckUtils]: 39: Hoare triple {89018#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {89018#true} is VALID [2022-04-08 15:14:42,787 INFO L272 TraceCheckUtils]: 40: Hoare triple {89018#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {89018#true} is VALID [2022-04-08 15:14:42,787 INFO L290 TraceCheckUtils]: 41: Hoare triple {89018#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; {89018#true} is VALID [2022-04-08 15:14:42,787 INFO L290 TraceCheckUtils]: 42: Hoare triple {89018#true} assume 0 == ~__BLAST_NONDET~2; {89018#true} is VALID [2022-04-08 15:14:42,787 INFO L290 TraceCheckUtils]: 43: Hoare triple {89018#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {89018#true} is VALID [2022-04-08 15:14:42,787 INFO L290 TraceCheckUtils]: 44: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:42,787 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {89018#true} {89018#true} #1180#return; {89018#true} is VALID [2022-04-08 15:14:42,787 INFO L290 TraceCheckUtils]: 46: Hoare triple {89018#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {89018#true} is VALID [2022-04-08 15:14:42,787 INFO L290 TraceCheckUtils]: 47: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:42,787 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {89018#true} {89018#true} #1220#return; {89018#true} is VALID [2022-04-08 15:14:42,787 INFO L290 TraceCheckUtils]: 49: Hoare triple {89018#true} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {89018#true} is VALID [2022-04-08 15:14:42,787 INFO L272 TraceCheckUtils]: 50: Hoare triple {89018#true} call stub_driver_init(); {89018#true} is VALID [2022-04-08 15:14:42,787 INFO L290 TraceCheckUtils]: 51: Hoare triple {89018#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; {89018#true} is VALID [2022-04-08 15:14:42,787 INFO L290 TraceCheckUtils]: 52: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:42,787 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {89018#true} {89018#true} #1222#return; {89018#true} is VALID [2022-04-08 15:14:42,787 INFO L290 TraceCheckUtils]: 54: Hoare triple {89018#true} assume !!(~status~5 >= 0); {89018#true} is VALID [2022-04-08 15:14:42,787 INFO L290 TraceCheckUtils]: 55: Hoare triple {89018#true} assume !(0 == ~__BLAST_NONDET~0); {89018#true} is VALID [2022-04-08 15:14:42,787 INFO L290 TraceCheckUtils]: 56: Hoare triple {89018#true} assume !(1 == ~__BLAST_NONDET~0); {89018#true} is VALID [2022-04-08 15:14:42,787 INFO L290 TraceCheckUtils]: 57: Hoare triple {89018#true} assume !(2 == ~__BLAST_NONDET~0); {89018#true} is VALID [2022-04-08 15:14:42,787 INFO L290 TraceCheckUtils]: 58: Hoare triple {89018#true} assume 3 == ~__BLAST_NONDET~0; {89018#true} is VALID [2022-04-08 15:14:42,787 INFO L272 TraceCheckUtils]: 59: Hoare triple {89018#true} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {89018#true} is VALID [2022-04-08 15:14:42,788 INFO L290 TraceCheckUtils]: 60: Hoare triple {89018#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(28);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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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); {89018#true} is VALID [2022-04-08 15:14:42,788 INFO L290 TraceCheckUtils]: 61: Hoare triple {89018#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {89018#true} is VALID [2022-04-08 15:14:42,788 INFO L290 TraceCheckUtils]: 62: Hoare triple {89018#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 180 + ~Irp.offset, 8);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 68;havoc #t~mem103.base, #t~mem103.offset; {89018#true} is VALID [2022-04-08 15:14:42,788 INFO L272 TraceCheckUtils]: 63: Hoare triple {89018#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, 52); {89018#true} is VALID [2022-04-08 15:14:42,788 INFO L290 TraceCheckUtils]: 64: Hoare triple {89018#true} #t~loopctr215 := 0; {89018#true} is VALID [2022-04-08 15:14:42,788 INFO L290 TraceCheckUtils]: 65: Hoare triple {89018#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {89018#true} is VALID [2022-04-08 15:14:42,788 INFO L290 TraceCheckUtils]: 66: Hoare triple {89018#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {89018#true} is VALID [2022-04-08 15:14:42,788 INFO L290 TraceCheckUtils]: 67: Hoare triple {89018#true} assume #t~loopctr221 % 18446744073709551616 < size % 18446744073709551616;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 8);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 8);#t~loopctr221 := 8 + #t~loopctr221; {89018#true} is VALID [2022-04-08 15:14:42,788 INFO L290 TraceCheckUtils]: 68: Hoare triple {89018#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {89018#true} is VALID [2022-04-08 15:14:42,788 INFO L290 TraceCheckUtils]: 69: Hoare triple {89018#true} assume #res.base == dest.base && #res.offset == dest.offset; {89018#true} is VALID [2022-04-08 15:14:42,788 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {89018#true} {89018#true} #1186#return; {89018#true} is VALID [2022-04-08 15:14:42,788 INFO L290 TraceCheckUtils]: 71: Hoare triple {89018#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {89018#true} is VALID [2022-04-08 15:14:42,788 INFO L290 TraceCheckUtils]: 72: Hoare triple {89018#true} assume !(~s~0 != ~NP~0); {89018#true} is VALID [2022-04-08 15:14:42,788 INFO L290 TraceCheckUtils]: 73: Hoare triple {89018#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {89018#true} is VALID [2022-04-08 15:14:42,788 INFO L290 TraceCheckUtils]: 74: Hoare triple {89018#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 68;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 52 + ~irpSp___0~0.offset, 8);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 60 + ~irpSp___0~0.offset, 8);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, 16 + ~devExt~3.offset, 8); {89018#true} is VALID [2022-04-08 15:14:42,788 INFO L272 TraceCheckUtils]: 75: Hoare triple {89018#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {89018#true} is VALID [2022-04-08 15:14:42,788 INFO L290 TraceCheckUtils]: 76: Hoare triple {89018#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; {89018#true} is VALID [2022-04-08 15:14:42,788 INFO L290 TraceCheckUtils]: 77: Hoare triple {89018#true} assume 0 != ~compRegistered~0; {89018#true} is VALID [2022-04-08 15:14:42,788 INFO L272 TraceCheckUtils]: 78: Hoare triple {89018#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {89018#true} is VALID [2022-04-08 15:14:42,788 INFO L290 TraceCheckUtils]: 79: Hoare triple {89018#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; {89018#true} is VALID [2022-04-08 15:14:42,789 INFO L272 TraceCheckUtils]: 80: Hoare triple {89018#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {89018#true} is VALID [2022-04-08 15:14:42,789 INFO L290 TraceCheckUtils]: 81: Hoare triple {89018#true} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {89018#true} is VALID [2022-04-08 15:14:42,789 INFO L290 TraceCheckUtils]: 82: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:42,789 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {89018#true} {89018#true} #1174#return; {89018#true} is VALID [2022-04-08 15:14:42,789 INFO L290 TraceCheckUtils]: 84: Hoare triple {89018#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {89018#true} is VALID [2022-04-08 15:14:42,789 INFO L290 TraceCheckUtils]: 85: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:42,789 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {89018#true} {89018#true} #1210#return; {89018#true} is VALID [2022-04-08 15:14:42,789 INFO L290 TraceCheckUtils]: 87: Hoare triple {89018#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {89018#true} is VALID [2022-04-08 15:14:42,789 INFO L290 TraceCheckUtils]: 88: Hoare triple {89018#true} assume -1073741802 == ~compRetStatus~0; {89018#true} is VALID [2022-04-08 15:14:42,789 INFO L272 TraceCheckUtils]: 89: Hoare triple {89018#true} call stubMoreProcessingRequired(); {89018#true} is VALID [2022-04-08 15:14:42,789 INFO L290 TraceCheckUtils]: 90: Hoare triple {89018#true} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {89018#true} is VALID [2022-04-08 15:14:42,789 INFO L290 TraceCheckUtils]: 91: Hoare triple {89018#true} assume true; {89018#true} is VALID [2022-04-08 15:14:42,789 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {89018#true} {89018#true} #1212#return; {89018#true} is VALID [2022-04-08 15:14:42,789 INFO L290 TraceCheckUtils]: 93: Hoare triple {89018#true} assume !(0 == ~__BLAST_NONDET~11); {89018#true} is VALID [2022-04-08 15:14:42,789 INFO L290 TraceCheckUtils]: 94: Hoare triple {89018#true} assume !(1 == ~__BLAST_NONDET~11); {89018#true} is VALID [2022-04-08 15:14:42,789 INFO L290 TraceCheckUtils]: 95: Hoare triple {89018#true} ~returnVal2~0 := 259; {89018#true} is VALID [2022-04-08 15:14:42,789 INFO L290 TraceCheckUtils]: 96: Hoare triple {89018#true} assume !(~s~0 == ~NP~0); {89018#true} is VALID [2022-04-08 15:14:42,789 INFO L290 TraceCheckUtils]: 97: Hoare triple {89018#true} assume ~s~0 == ~MPR1~0; {89018#true} is VALID [2022-04-08 15:14:42,790 INFO L290 TraceCheckUtils]: 98: Hoare triple {89018#true} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {89446#(= ~MPR3~0 ~s~0)} is VALID [2022-04-08 15:14:42,790 INFO L290 TraceCheckUtils]: 99: Hoare triple {89446#(= ~MPR3~0 ~s~0)} #res := ~returnVal2~0; {89446#(= ~MPR3~0 ~s~0)} is VALID [2022-04-08 15:14:42,790 INFO L290 TraceCheckUtils]: 100: Hoare triple {89446#(= ~MPR3~0 ~s~0)} assume true; {89446#(= ~MPR3~0 ~s~0)} is VALID [2022-04-08 15:14:42,791 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {89446#(= ~MPR3~0 ~s~0)} {89018#true} #1192#return; {89446#(= ~MPR3~0 ~s~0)} is VALID [2022-04-08 15:14:42,791 INFO L290 TraceCheckUtils]: 102: Hoare triple {89446#(= ~MPR3~0 ~s~0)} assume -9223372036854775808 <= #t~ret109 && #t~ret109 <= 9223372036854775807;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {89446#(= ~MPR3~0 ~s~0)} is VALID [2022-04-08 15:14:42,792 INFO L290 TraceCheckUtils]: 103: Hoare triple {89446#(= ~MPR3~0 ~s~0)} assume 259 == ~status~3; {89446#(= ~MPR3~0 ~s~0)} is VALID [2022-04-08 15:14:42,792 INFO L272 TraceCheckUtils]: 104: Hoare triple {89446#(= ~MPR3~0 ~s~0)} call #t~ret110 := KeWaitForSingleObject(~#event~1.base, ~#event~1.offset, 0, 0, 0, 0, 0); {89147#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:14:42,793 INFO L290 TraceCheckUtils]: 105: Hoare triple {89147#(= ~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; {89147#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:14:42,793 INFO L290 TraceCheckUtils]: 106: Hoare triple {89147#(= ~s~0 |old(~s~0)|)} assume !(~s~0 == ~MPR3~0); {89471#(and (= ~s~0 |old(~s~0)|) (not (= ~MPR3~0 ~s~0)))} is VALID [2022-04-08 15:14:42,793 INFO L290 TraceCheckUtils]: 107: Hoare triple {89471#(and (= ~s~0 |old(~s~0)|) (not (= ~MPR3~0 ~s~0)))} assume !(1 == ~customIrp~0); {89471#(and (= ~s~0 |old(~s~0)|) (not (= ~MPR3~0 ~s~0)))} is VALID [2022-04-08 15:14:42,793 INFO L290 TraceCheckUtils]: 108: Hoare triple {89471#(and (= ~s~0 |old(~s~0)|) (not (= ~MPR3~0 ~s~0)))} assume !(~s~0 == ~MPR3~0); {89471#(and (= ~s~0 |old(~s~0)|) (not (= ~MPR3~0 ~s~0)))} is VALID [2022-04-08 15:14:42,794 INFO L290 TraceCheckUtils]: 109: Hoare triple {89471#(and (= ~s~0 |old(~s~0)|) (not (= ~MPR3~0 ~s~0)))} assume 0 == ~__BLAST_NONDET~13; {89471#(and (= ~s~0 |old(~s~0)|) (not (= ~MPR3~0 ~s~0)))} is VALID [2022-04-08 15:14:42,794 INFO L290 TraceCheckUtils]: 110: Hoare triple {89471#(and (= ~s~0 |old(~s~0)|) (not (= ~MPR3~0 ~s~0)))} #res := 0; {89471#(and (= ~s~0 |old(~s~0)|) (not (= ~MPR3~0 ~s~0)))} is VALID [2022-04-08 15:14:42,794 INFO L290 TraceCheckUtils]: 111: Hoare triple {89471#(and (= ~s~0 |old(~s~0)|) (not (= ~MPR3~0 ~s~0)))} assume true; {89471#(and (= ~s~0 |old(~s~0)|) (not (= ~MPR3~0 ~s~0)))} is VALID [2022-04-08 15:14:42,795 INFO L284 TraceCheckUtils]: 112: Hoare quadruple {89471#(and (= ~s~0 |old(~s~0)|) (not (= ~MPR3~0 ~s~0)))} {89446#(= ~MPR3~0 ~s~0)} #1194#return; {89019#false} is VALID [2022-04-08 15:14:42,795 INFO L290 TraceCheckUtils]: 113: Hoare triple {89019#false} assume -9223372036854775808 <= #t~ret110 && #t~ret110 <= 9223372036854775807;havoc #t~ret110; {89019#false} is VALID [2022-04-08 15:14:42,795 INFO L290 TraceCheckUtils]: 114: Hoare triple {89019#false} assume ~status~3 >= 0; {89019#false} is VALID [2022-04-08 15:14:42,795 INFO L290 TraceCheckUtils]: 115: Hoare triple {89019#false} assume !(~myStatus~0 >= 0); {89019#false} is VALID [2022-04-08 15:14:42,795 INFO L290 TraceCheckUtils]: 116: Hoare triple {89019#false} call write~int(~status~3, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~3 % 4294967296 <= 2147483647 then ~status~3 % 4294967296 else ~status~3 % 4294967296 - 4294967296);call write~int(0, ~Irp.base, 52 + ~Irp.offset, 8); {89019#false} is VALID [2022-04-08 15:14:42,795 INFO L272 TraceCheckUtils]: 117: Hoare triple {89019#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {89019#false} is VALID [2022-04-08 15:14:42,795 INFO L290 TraceCheckUtils]: 118: Hoare triple {89019#false} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {89019#false} is VALID [2022-04-08 15:14:42,795 INFO L290 TraceCheckUtils]: 119: Hoare triple {89019#false} assume !(~s~0 == ~NP~0); {89019#false} is VALID [2022-04-08 15:14:42,795 INFO L272 TraceCheckUtils]: 120: Hoare triple {89019#false} call errorFn(); {89019#false} is VALID [2022-04-08 15:14:42,796 INFO L290 TraceCheckUtils]: 121: Hoare triple {89019#false} assume !false; {89019#false} is VALID [2022-04-08 15:14:42,796 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-04-08 15:14:42,796 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 15:14:42,796 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [57761159] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:14:42,796 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 15:14:42,796 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [14] total 16 [2022-04-08 15:14:42,796 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:14:42,796 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [612880023] [2022-04-08 15:14:42,796 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [612880023] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:14:42,796 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:14:42,796 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 15:14:42,796 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [31970145] [2022-04-08 15:14:42,796 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:14:42,797 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 17.6) internal successors, (88), 5 states have internal predecessors, (88), 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 122 [2022-04-08 15:14:42,797 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:14:42,797 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 17.6) internal successors, (88), 5 states have internal predecessors, (88), 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 15:14:42,878 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 122 edges. 122 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 15:14:42,878 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 15:14:42,878 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:14:42,878 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 15:14:42,878 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=190, Unknown=0, NotChecked=0, Total=240 [2022-04-08 15:14:42,879 INFO L87 Difference]: Start difference. First operand 342 states and 381 transitions. Second operand has 5 states, 5 states have (on average 17.6) internal successors, (88), 5 states have internal predecessors, (88), 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 15:14:49,139 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:14:49,140 INFO L93 Difference]: Finished difference Result 382 states and 425 transitions. [2022-04-08 15:14:49,140 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 15:14:49,140 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 17.6) internal successors, (88), 5 states have internal predecessors, (88), 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 122 [2022-04-08 15:14:49,140 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:14:49,140 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 17.6) internal successors, (88), 5 states have internal predecessors, (88), 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 15:14:49,141 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 212 transitions. [2022-04-08 15:14:49,141 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 17.6) internal successors, (88), 5 states have internal predecessors, (88), 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 15:14:49,142 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 212 transitions. [2022-04-08 15:14:49,142 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 212 transitions. [2022-04-08 15:14:49,289 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 15:14:49,294 INFO L225 Difference]: With dead ends: 382 [2022-04-08 15:14:49,294 INFO L226 Difference]: Without dead ends: 317 [2022-04-08 15:14:49,294 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 158 GetRequests, 143 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 15:14:49,295 INFO L913 BasicCegarLoop]: 159 mSDtfsCounter, 71 mSDsluCounter, 149 mSDsCounter, 0 mSdLazyCounter, 185 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 78 SdHoareTripleChecker+Valid, 308 SdHoareTripleChecker+Invalid, 207 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 185 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-08 15:14:49,295 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [78 Valid, 308 Invalid, 207 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 185 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-08 15:14:49,295 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 317 states. [2022-04-08 15:14:49,979 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 317 to 295. [2022-04-08 15:14:49,980 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:14:49,980 INFO L82 GeneralOperation]: Start isEquivalent. First operand 317 states. Second operand has 295 states, 227 states have (on average 1.118942731277533) internal successors, (254), 229 states have internal predecessors, (254), 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 15:14:49,980 INFO L74 IsIncluded]: Start isIncluded. First operand 317 states. Second operand has 295 states, 227 states have (on average 1.118942731277533) internal successors, (254), 229 states have internal predecessors, (254), 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 15:14:49,980 INFO L87 Difference]: Start difference. First operand 317 states. Second operand has 295 states, 227 states have (on average 1.118942731277533) internal successors, (254), 229 states have internal predecessors, (254), 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 15:14:49,984 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:14:49,984 INFO L93 Difference]: Finished difference Result 317 states and 347 transitions. [2022-04-08 15:14:49,984 INFO L276 IsEmpty]: Start isEmpty. Operand 317 states and 347 transitions. [2022-04-08 15:14:49,984 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:14:49,984 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:14:49,985 INFO L74 IsIncluded]: Start isIncluded. First operand has 295 states, 227 states have (on average 1.118942731277533) internal successors, (254), 229 states have internal predecessors, (254), 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 317 states. [2022-04-08 15:14:49,985 INFO L87 Difference]: Start difference. First operand has 295 states, 227 states have (on average 1.118942731277533) internal successors, (254), 229 states have internal predecessors, (254), 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 317 states. [2022-04-08 15:14:49,988 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:14:49,988 INFO L93 Difference]: Finished difference Result 317 states and 347 transitions. [2022-04-08 15:14:49,988 INFO L276 IsEmpty]: Start isEmpty. Operand 317 states and 347 transitions. [2022-04-08 15:14:49,989 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:14:49,989 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:14:49,989 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:14:49,989 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:14:49,989 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 295 states, 227 states have (on average 1.118942731277533) internal successors, (254), 229 states have internal predecessors, (254), 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 15:14:49,993 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 295 states to 295 states and 322 transitions. [2022-04-08 15:14:49,993 INFO L78 Accepts]: Start accepts. Automaton has 295 states and 322 transitions. Word has length 122 [2022-04-08 15:14:49,993 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:14:49,993 INFO L478 AbstractCegarLoop]: Abstraction has 295 states and 322 transitions. [2022-04-08 15:14:49,993 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 17.6) internal successors, (88), 5 states have internal predecessors, (88), 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 15:14:49,993 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 295 states and 322 transitions. [2022-04-08 15:14:50,841 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 322 edges. 322 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 15:14:50,842 INFO L276 IsEmpty]: Start isEmpty. Operand 295 states and 322 transitions. [2022-04-08 15:14:50,842 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 129 [2022-04-08 15:14:50,842 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:14:50,842 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] [2022-04-08 15:14:50,865 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-08 15:14:51,043 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,SelfDestructingSolverStorable36 [2022-04-08 15:14:51,043 INFO L403 AbstractCegarLoop]: === Iteration 38 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:14:51,043 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:14:51,043 INFO L85 PathProgramCache]: Analyzing trace with hash -2117844311, now seen corresponding path program 1 times [2022-04-08 15:14:51,043 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:14:51,043 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1689158721] [2022-04-08 15:14:51,046 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 15:14:51,046 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 15:14:51,046 INFO L85 PathProgramCache]: Analyzing trace with hash -2117844311, now seen corresponding path program 2 times [2022-04-08 15:14:51,046 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:14:51,046 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1136481820] [2022-04-08 15:14:51,046 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:14:51,046 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:14:51,154 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:51,226 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:14:51,228 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:51,232 INFO L290 TraceCheckUtils]: 0: Hoare triple {91608#(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; {91507#true} is VALID [2022-04-08 15:14:51,232 INFO L290 TraceCheckUtils]: 1: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,232 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {91507#true} {91507#true} #1270#return; {91507#true} is VALID [2022-04-08 15:14:51,254 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:14:51,255 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:51,259 INFO L290 TraceCheckUtils]: 0: Hoare triple {91609#(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; {91507#true} is VALID [2022-04-08 15:14:51,259 INFO L290 TraceCheckUtils]: 1: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,260 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {91507#true} {91507#true} #1216#return; {91507#true} is VALID [2022-04-08 15:14:51,267 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:14:51,273 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:51,279 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:14:51,279 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:51,283 INFO L290 TraceCheckUtils]: 0: Hoare triple {91507#true} ~cond := #in~cond; {91507#true} is VALID [2022-04-08 15:14:51,283 INFO L290 TraceCheckUtils]: 1: Hoare triple {91507#true} assume !(0 == ~cond); {91507#true} is VALID [2022-04-08 15:14:51,283 INFO L290 TraceCheckUtils]: 2: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,283 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {91507#true} {91507#true} #1254#return; {91507#true} is VALID [2022-04-08 15:14:51,283 INFO L290 TraceCheckUtils]: 0: Hoare triple {91610#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {91507#true} is VALID [2022-04-08 15:14:51,283 INFO L272 TraceCheckUtils]: 1: Hoare triple {91507#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {91507#true} is VALID [2022-04-08 15:14:51,283 INFO L290 TraceCheckUtils]: 2: Hoare triple {91507#true} ~cond := #in~cond; {91507#true} is VALID [2022-04-08 15:14:51,283 INFO L290 TraceCheckUtils]: 3: Hoare triple {91507#true} assume !(0 == ~cond); {91507#true} is VALID [2022-04-08 15:14:51,283 INFO L290 TraceCheckUtils]: 4: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,283 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {91507#true} {91507#true} #1254#return; {91507#true} is VALID [2022-04-08 15:14:51,283 INFO L290 TraceCheckUtils]: 6: Hoare triple {91507#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {91507#true} is VALID [2022-04-08 15:14:51,284 INFO L290 TraceCheckUtils]: 7: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,284 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {91507#true} {91507#true} #1218#return; {91507#true} is VALID [2022-04-08 15:14:51,293 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:14:51,304 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:51,312 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:14:51,316 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:51,321 INFO L290 TraceCheckUtils]: 0: Hoare triple {91615#(and (= |old(#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; {91507#true} is VALID [2022-04-08 15:14:51,321 INFO L290 TraceCheckUtils]: 1: Hoare triple {91507#true} assume 0 == ~__BLAST_NONDET~5; {91507#true} is VALID [2022-04-08 15:14:51,321 INFO L290 TraceCheckUtils]: 2: Hoare triple {91507#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {91507#true} is VALID [2022-04-08 15:14:51,321 INFO L290 TraceCheckUtils]: 3: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,321 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {91507#true} {91507#true} #1176#return; {91507#true} is VALID [2022-04-08 15:14:51,321 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 15:14:51,323 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:51,327 INFO L290 TraceCheckUtils]: 0: Hoare triple {91610#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {91507#true} is VALID [2022-04-08 15:14:51,327 INFO L290 TraceCheckUtils]: 1: Hoare triple {91507#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {91507#true} is VALID [2022-04-08 15:14:51,327 INFO L290 TraceCheckUtils]: 2: Hoare triple {91507#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {91507#true} is VALID [2022-04-08 15:14:51,327 INFO L290 TraceCheckUtils]: 3: Hoare triple {91507#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {91507#true} is VALID [2022-04-08 15:14:51,327 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {91507#true} {91507#true} #1178#return; {91507#true} is VALID [2022-04-08 15:14:51,327 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-08 15:14:51,328 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:51,332 INFO L290 TraceCheckUtils]: 0: Hoare triple {91507#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; {91507#true} is VALID [2022-04-08 15:14:51,332 INFO L290 TraceCheckUtils]: 1: Hoare triple {91507#true} assume 0 == ~__BLAST_NONDET~2; {91507#true} is VALID [2022-04-08 15:14:51,332 INFO L290 TraceCheckUtils]: 2: Hoare triple {91507#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {91507#true} is VALID [2022-04-08 15:14:51,332 INFO L290 TraceCheckUtils]: 3: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,332 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {91507#true} {91507#true} #1180#return; {91507#true} is VALID [2022-04-08 15:14:51,332 INFO L290 TraceCheckUtils]: 0: Hoare triple {91615#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {91507#true} is VALID [2022-04-08 15:14:51,334 INFO L272 TraceCheckUtils]: 1: Hoare triple {91507#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {91615#(and (= |old(#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 15:14:51,334 INFO L290 TraceCheckUtils]: 2: Hoare triple {91615#(and (= |old(#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; {91507#true} is VALID [2022-04-08 15:14:51,334 INFO L290 TraceCheckUtils]: 3: Hoare triple {91507#true} assume 0 == ~__BLAST_NONDET~5; {91507#true} is VALID [2022-04-08 15:14:51,334 INFO L290 TraceCheckUtils]: 4: Hoare triple {91507#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {91507#true} is VALID [2022-04-08 15:14:51,334 INFO L290 TraceCheckUtils]: 5: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,334 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {91507#true} {91507#true} #1176#return; {91507#true} is VALID [2022-04-08 15:14:51,334 INFO L290 TraceCheckUtils]: 7: Hoare triple {91507#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {91507#true} is VALID [2022-04-08 15:14:51,334 INFO L290 TraceCheckUtils]: 8: Hoare triple {91507#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {91507#true} is VALID [2022-04-08 15:14:51,335 INFO L272 TraceCheckUtils]: 9: Hoare triple {91507#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {91610#(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 15:14:51,335 INFO L290 TraceCheckUtils]: 10: Hoare triple {91610#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {91507#true} is VALID [2022-04-08 15:14:51,335 INFO L290 TraceCheckUtils]: 11: Hoare triple {91507#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {91507#true} is VALID [2022-04-08 15:14:51,335 INFO L290 TraceCheckUtils]: 12: Hoare triple {91507#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {91507#true} is VALID [2022-04-08 15:14:51,335 INFO L290 TraceCheckUtils]: 13: Hoare triple {91507#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {91507#true} is VALID [2022-04-08 15:14:51,335 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {91507#true} {91507#true} #1178#return; {91507#true} is VALID [2022-04-08 15:14:51,335 INFO L290 TraceCheckUtils]: 15: Hoare triple {91507#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {91507#true} is VALID [2022-04-08 15:14:51,335 INFO L272 TraceCheckUtils]: 16: Hoare triple {91507#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {91507#true} is VALID [2022-04-08 15:14:51,335 INFO L290 TraceCheckUtils]: 17: Hoare triple {91507#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; {91507#true} is VALID [2022-04-08 15:14:51,335 INFO L290 TraceCheckUtils]: 18: Hoare triple {91507#true} assume 0 == ~__BLAST_NONDET~2; {91507#true} is VALID [2022-04-08 15:14:51,335 INFO L290 TraceCheckUtils]: 19: Hoare triple {91507#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {91507#true} is VALID [2022-04-08 15:14:51,335 INFO L290 TraceCheckUtils]: 20: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,335 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {91507#true} {91507#true} #1180#return; {91507#true} is VALID [2022-04-08 15:14:51,335 INFO L290 TraceCheckUtils]: 22: Hoare triple {91507#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {91507#true} is VALID [2022-04-08 15:14:51,335 INFO L290 TraceCheckUtils]: 23: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,335 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {91507#true} {91507#true} #1220#return; {91507#true} is VALID [2022-04-08 15:14:51,349 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-08 15:14:51,350 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:51,354 INFO L290 TraceCheckUtils]: 0: Hoare triple {91631#(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; {91507#true} is VALID [2022-04-08 15:14:51,354 INFO L290 TraceCheckUtils]: 1: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,354 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {91507#true} {91507#true} #1222#return; {91507#true} is VALID [2022-04-08 15:14:51,376 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 59 [2022-04-08 15:14:51,397 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:51,444 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-04-08 15:14:51,449 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:51,455 INFO L290 TraceCheckUtils]: 0: Hoare triple {91610#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {91507#true} is VALID [2022-04-08 15:14:51,456 INFO L290 TraceCheckUtils]: 1: Hoare triple {91507#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {91507#true} is VALID [2022-04-08 15:14:51,456 INFO L290 TraceCheckUtils]: 2: Hoare triple {91507#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {91507#true} is VALID [2022-04-08 15:14:51,456 INFO L290 TraceCheckUtils]: 3: Hoare triple {91507#true} assume #t~loopctr221 % 18446744073709551616 < size % 18446744073709551616;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 8);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 8);#t~loopctr221 := 8 + #t~loopctr221; {91507#true} is VALID [2022-04-08 15:14:51,456 INFO L290 TraceCheckUtils]: 4: Hoare triple {91507#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {91507#true} is VALID [2022-04-08 15:14:51,456 INFO L290 TraceCheckUtils]: 5: Hoare triple {91507#true} assume #res.base == dest.base && #res.offset == dest.offset; {91507#true} is VALID [2022-04-08 15:14:51,456 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {91507#true} {91507#true} #1186#return; {91507#true} is VALID [2022-04-08 15:14:51,467 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 15 [2022-04-08 15:14:51,473 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:51,523 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 15:14:51,525 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:51,529 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:14:51,530 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:51,534 INFO L290 TraceCheckUtils]: 0: Hoare triple {91686#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {91507#true} is VALID [2022-04-08 15:14:51,534 INFO L290 TraceCheckUtils]: 1: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,534 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {91507#true} {91507#true} #1174#return; {91507#true} is VALID [2022-04-08 15:14:51,534 INFO L290 TraceCheckUtils]: 0: Hoare triple {91686#(= ~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; {91507#true} is VALID [2022-04-08 15:14:51,535 INFO L272 TraceCheckUtils]: 1: Hoare triple {91507#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {91686#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:14:51,535 INFO L290 TraceCheckUtils]: 2: Hoare triple {91686#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {91507#true} is VALID [2022-04-08 15:14:51,535 INFO L290 TraceCheckUtils]: 3: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,535 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {91507#true} {91507#true} #1174#return; {91507#true} is VALID [2022-04-08 15:14:51,535 INFO L290 TraceCheckUtils]: 5: Hoare triple {91507#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {91507#true} is VALID [2022-04-08 15:14:51,535 INFO L290 TraceCheckUtils]: 6: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,535 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {91507#true} {91507#true} #1210#return; {91507#true} is VALID [2022-04-08 15:14:51,546 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 15:14:51,547 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:51,551 INFO L290 TraceCheckUtils]: 0: Hoare triple {91690#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {91507#true} is VALID [2022-04-08 15:14:51,551 INFO L290 TraceCheckUtils]: 1: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,551 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {91507#true} {91507#true} #1212#return; {91507#true} is VALID [2022-04-08 15:14:51,551 INFO L290 TraceCheckUtils]: 0: Hoare triple {91672#(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; {91507#true} is VALID [2022-04-08 15:14:51,551 INFO L290 TraceCheckUtils]: 1: Hoare triple {91507#true} assume 0 != ~compRegistered~0; {91507#true} is VALID [2022-04-08 15:14:51,552 INFO L272 TraceCheckUtils]: 2: Hoare triple {91507#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {91686#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:14:51,552 INFO L290 TraceCheckUtils]: 3: Hoare triple {91686#(= ~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; {91507#true} is VALID [2022-04-08 15:14:51,567 INFO L272 TraceCheckUtils]: 4: Hoare triple {91507#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {91686#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:14:51,568 INFO L290 TraceCheckUtils]: 5: Hoare triple {91686#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {91507#true} is VALID [2022-04-08 15:14:51,568 INFO L290 TraceCheckUtils]: 6: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,568 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {91507#true} {91507#true} #1174#return; {91507#true} is VALID [2022-04-08 15:14:51,568 INFO L290 TraceCheckUtils]: 8: Hoare triple {91507#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {91507#true} is VALID [2022-04-08 15:14:51,568 INFO L290 TraceCheckUtils]: 9: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,568 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {91507#true} {91507#true} #1210#return; {91507#true} is VALID [2022-04-08 15:14:51,568 INFO L290 TraceCheckUtils]: 11: Hoare triple {91507#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {91507#true} is VALID [2022-04-08 15:14:51,568 INFO L290 TraceCheckUtils]: 12: Hoare triple {91507#true} assume -1073741802 == ~compRetStatus~0; {91507#true} is VALID [2022-04-08 15:14:51,568 INFO L272 TraceCheckUtils]: 13: Hoare triple {91507#true} call stubMoreProcessingRequired(); {91690#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:14:51,568 INFO L290 TraceCheckUtils]: 14: Hoare triple {91690#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {91507#true} is VALID [2022-04-08 15:14:51,569 INFO L290 TraceCheckUtils]: 15: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,569 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {91507#true} {91507#true} #1212#return; {91507#true} is VALID [2022-04-08 15:14:51,569 INFO L290 TraceCheckUtils]: 17: Hoare triple {91507#true} assume 0 == ~__BLAST_NONDET~11; {91507#true} is VALID [2022-04-08 15:14:51,569 INFO L290 TraceCheckUtils]: 18: Hoare triple {91507#true} ~returnVal2~0 := 0; {91684#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:14:51,569 INFO L290 TraceCheckUtils]: 19: Hoare triple {91684#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume !(~s~0 == ~NP~0); {91684#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:14:51,570 INFO L290 TraceCheckUtils]: 20: Hoare triple {91684#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume ~s~0 == ~MPR1~0; {91684#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:14:51,570 INFO L290 TraceCheckUtils]: 21: Hoare triple {91684#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume !(259 == ~returnVal2~0);~s~0 := ~NP~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {91684#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:14:51,570 INFO L290 TraceCheckUtils]: 22: Hoare triple {91684#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} #res := ~returnVal2~0; {91685#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} is VALID [2022-04-08 15:14:51,571 INFO L290 TraceCheckUtils]: 23: Hoare triple {91685#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} assume true; {91685#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} is VALID [2022-04-08 15:14:51,571 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {91685#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} {91507#true} #1192#return; {91665#(= |KbFilter_PnP_#t~ret109| 0)} is VALID [2022-04-08 15:14:51,572 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-08 15:14:51,573 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:14:51,577 INFO L290 TraceCheckUtils]: 0: Hoare triple {91690#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {91507#true} is VALID [2022-04-08 15:14:51,577 INFO L290 TraceCheckUtils]: 1: Hoare triple {91507#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {91507#true} is VALID [2022-04-08 15:14:51,577 INFO L290 TraceCheckUtils]: 2: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,578 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {91507#true} {91666#(= KbFilter_PnP_~status~3 0)} #1196#return; {91666#(= KbFilter_PnP_~status~3 0)} is VALID [2022-04-08 15:14:51,578 INFO L290 TraceCheckUtils]: 0: Hoare triple {91632#(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(28);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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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); {91507#true} is VALID [2022-04-08 15:14:51,578 INFO L290 TraceCheckUtils]: 1: Hoare triple {91507#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {91507#true} is VALID [2022-04-08 15:14:51,578 INFO L290 TraceCheckUtils]: 2: Hoare triple {91507#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 180 + ~Irp.offset, 8);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 68;havoc #t~mem103.base, #t~mem103.offset; {91507#true} is VALID [2022-04-08 15:14:51,579 INFO L272 TraceCheckUtils]: 3: Hoare triple {91507#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, 52); {91610#(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 15:14:51,579 INFO L290 TraceCheckUtils]: 4: Hoare triple {91610#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {91507#true} is VALID [2022-04-08 15:14:51,579 INFO L290 TraceCheckUtils]: 5: Hoare triple {91507#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {91507#true} is VALID [2022-04-08 15:14:51,579 INFO L290 TraceCheckUtils]: 6: Hoare triple {91507#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {91507#true} is VALID [2022-04-08 15:14:51,579 INFO L290 TraceCheckUtils]: 7: Hoare triple {91507#true} assume #t~loopctr221 % 18446744073709551616 < size % 18446744073709551616;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 8);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 8);#t~loopctr221 := 8 + #t~loopctr221; {91507#true} is VALID [2022-04-08 15:14:51,579 INFO L290 TraceCheckUtils]: 8: Hoare triple {91507#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {91507#true} is VALID [2022-04-08 15:14:51,579 INFO L290 TraceCheckUtils]: 9: Hoare triple {91507#true} assume #res.base == dest.base && #res.offset == dest.offset; {91507#true} is VALID [2022-04-08 15:14:51,579 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {91507#true} {91507#true} #1186#return; {91507#true} is VALID [2022-04-08 15:14:51,579 INFO L290 TraceCheckUtils]: 11: Hoare triple {91507#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {91507#true} is VALID [2022-04-08 15:14:51,579 INFO L290 TraceCheckUtils]: 12: Hoare triple {91507#true} assume !(~s~0 != ~NP~0); {91507#true} is VALID [2022-04-08 15:14:51,579 INFO L290 TraceCheckUtils]: 13: Hoare triple {91507#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {91507#true} is VALID [2022-04-08 15:14:51,580 INFO L290 TraceCheckUtils]: 14: Hoare triple {91507#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 68;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 52 + ~irpSp___0~0.offset, 8);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 60 + ~irpSp___0~0.offset, 8);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, 16 + ~devExt~3.offset, 8); {91507#true} is VALID [2022-04-08 15:14:51,580 INFO L272 TraceCheckUtils]: 15: Hoare triple {91507#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {91672#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:14:51,580 INFO L290 TraceCheckUtils]: 16: Hoare triple {91672#(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; {91507#true} is VALID [2022-04-08 15:14:51,580 INFO L290 TraceCheckUtils]: 17: Hoare triple {91507#true} assume 0 != ~compRegistered~0; {91507#true} is VALID [2022-04-08 15:14:51,581 INFO L272 TraceCheckUtils]: 18: Hoare triple {91507#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {91686#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:14:51,581 INFO L290 TraceCheckUtils]: 19: Hoare triple {91686#(= ~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; {91507#true} is VALID [2022-04-08 15:14:51,582 INFO L272 TraceCheckUtils]: 20: Hoare triple {91507#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {91686#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:14:51,582 INFO L290 TraceCheckUtils]: 21: Hoare triple {91686#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {91507#true} is VALID [2022-04-08 15:14:51,582 INFO L290 TraceCheckUtils]: 22: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,582 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {91507#true} {91507#true} #1174#return; {91507#true} is VALID [2022-04-08 15:14:51,582 INFO L290 TraceCheckUtils]: 24: Hoare triple {91507#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {91507#true} is VALID [2022-04-08 15:14:51,582 INFO L290 TraceCheckUtils]: 25: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,582 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {91507#true} {91507#true} #1210#return; {91507#true} is VALID [2022-04-08 15:14:51,582 INFO L290 TraceCheckUtils]: 27: Hoare triple {91507#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {91507#true} is VALID [2022-04-08 15:14:51,582 INFO L290 TraceCheckUtils]: 28: Hoare triple {91507#true} assume -1073741802 == ~compRetStatus~0; {91507#true} is VALID [2022-04-08 15:14:51,583 INFO L272 TraceCheckUtils]: 29: Hoare triple {91507#true} call stubMoreProcessingRequired(); {91690#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:14:51,583 INFO L290 TraceCheckUtils]: 30: Hoare triple {91690#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {91507#true} is VALID [2022-04-08 15:14:51,583 INFO L290 TraceCheckUtils]: 31: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,583 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {91507#true} {91507#true} #1212#return; {91507#true} is VALID [2022-04-08 15:14:51,583 INFO L290 TraceCheckUtils]: 33: Hoare triple {91507#true} assume 0 == ~__BLAST_NONDET~11; {91507#true} is VALID [2022-04-08 15:14:51,583 INFO L290 TraceCheckUtils]: 34: Hoare triple {91507#true} ~returnVal2~0 := 0; {91684#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:14:51,583 INFO L290 TraceCheckUtils]: 35: Hoare triple {91684#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume !(~s~0 == ~NP~0); {91684#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:14:51,584 INFO L290 TraceCheckUtils]: 36: Hoare triple {91684#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume ~s~0 == ~MPR1~0; {91684#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:14:51,584 INFO L290 TraceCheckUtils]: 37: Hoare triple {91684#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume !(259 == ~returnVal2~0);~s~0 := ~NP~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {91684#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:14:51,584 INFO L290 TraceCheckUtils]: 38: Hoare triple {91684#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} #res := ~returnVal2~0; {91685#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} is VALID [2022-04-08 15:14:51,585 INFO L290 TraceCheckUtils]: 39: Hoare triple {91685#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} assume true; {91685#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} is VALID [2022-04-08 15:14:51,585 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {91685#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} {91507#true} #1192#return; {91665#(= |KbFilter_PnP_#t~ret109| 0)} is VALID [2022-04-08 15:14:51,611 INFO L290 TraceCheckUtils]: 41: Hoare triple {91665#(= |KbFilter_PnP_#t~ret109| 0)} assume -9223372036854775808 <= #t~ret109 && #t~ret109 <= 9223372036854775807;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {91666#(= KbFilter_PnP_~status~3 0)} is VALID [2022-04-08 15:14:51,612 INFO L290 TraceCheckUtils]: 42: Hoare triple {91666#(= KbFilter_PnP_~status~3 0)} assume !(259 == ~status~3); {91666#(= KbFilter_PnP_~status~3 0)} is VALID [2022-04-08 15:14:51,612 INFO L290 TraceCheckUtils]: 43: Hoare triple {91666#(= KbFilter_PnP_~status~3 0)} assume ~status~3 >= 0; {91666#(= KbFilter_PnP_~status~3 0)} is VALID [2022-04-08 15:14:51,612 INFO L290 TraceCheckUtils]: 44: Hoare triple {91666#(= KbFilter_PnP_~status~3 0)} assume !(~myStatus~0 >= 0); {91666#(= KbFilter_PnP_~status~3 0)} is VALID [2022-04-08 15:14:51,613 INFO L290 TraceCheckUtils]: 45: Hoare triple {91666#(= KbFilter_PnP_~status~3 0)} call write~int(~status~3, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~3 % 4294967296 <= 2147483647 then ~status~3 % 4294967296 else ~status~3 % 4294967296 - 4294967296);call write~int(0, ~Irp.base, 52 + ~Irp.offset, 8); {91666#(= KbFilter_PnP_~status~3 0)} is VALID [2022-04-08 15:14:51,613 INFO L272 TraceCheckUtils]: 46: Hoare triple {91666#(= KbFilter_PnP_~status~3 0)} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {91690#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:14:51,613 INFO L290 TraceCheckUtils]: 47: Hoare triple {91690#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {91507#true} is VALID [2022-04-08 15:14:51,613 INFO L290 TraceCheckUtils]: 48: Hoare triple {91507#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {91507#true} is VALID [2022-04-08 15:14:51,614 INFO L290 TraceCheckUtils]: 49: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,614 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {91507#true} {91666#(= KbFilter_PnP_~status~3 0)} #1196#return; {91666#(= KbFilter_PnP_~status~3 0)} is VALID [2022-04-08 15:14:51,614 INFO L290 TraceCheckUtils]: 51: Hoare triple {91666#(= KbFilter_PnP_~status~3 0)} #res := ~status~3;call ULTIMATE.dealloc(~#event~1.base, ~#event~1.offset);havoc ~#event~1.base, ~#event~1.offset; {91671#(= |KbFilter_PnP_#res| 0)} is VALID [2022-04-08 15:14:51,615 INFO L290 TraceCheckUtils]: 52: Hoare triple {91671#(= |KbFilter_PnP_#res| 0)} assume true; {91671#(= |KbFilter_PnP_#res| 0)} is VALID [2022-04-08 15:14:51,615 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {91671#(= |KbFilter_PnP_#res| 0)} {91507#true} #1230#return; {91606#(not (= 259 |main_#t~ret174|))} is VALID [2022-04-08 15:14:51,616 INFO L272 TraceCheckUtils]: 0: Hoare triple {91507#true} call ULTIMATE.init(); {91608#(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 15:14:51,617 INFO L290 TraceCheckUtils]: 1: Hoare triple {91608#(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; {91507#true} is VALID [2022-04-08 15:14:51,617 INFO L290 TraceCheckUtils]: 2: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,617 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {91507#true} {91507#true} #1270#return; {91507#true} is VALID [2022-04-08 15:14:51,617 INFO L272 TraceCheckUtils]: 4: Hoare triple {91507#true} call #t~ret213 := main(); {91507#true} is VALID [2022-04-08 15:14:51,617 INFO L290 TraceCheckUtils]: 5: Hoare triple {91507#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {91507#true} is VALID [2022-04-08 15:14:51,618 INFO L272 TraceCheckUtils]: 6: Hoare triple {91507#true} call _BLAST_init(); {91609#(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 15:14:51,618 INFO L290 TraceCheckUtils]: 7: Hoare triple {91609#(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; {91507#true} is VALID [2022-04-08 15:14:51,618 INFO L290 TraceCheckUtils]: 8: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,618 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {91507#true} {91507#true} #1216#return; {91507#true} is VALID [2022-04-08 15:14:51,619 INFO L272 TraceCheckUtils]: 10: Hoare triple {91507#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {91610#(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 15:14:51,619 INFO L290 TraceCheckUtils]: 11: Hoare triple {91610#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {91507#true} is VALID [2022-04-08 15:14:51,619 INFO L272 TraceCheckUtils]: 12: Hoare triple {91507#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {91507#true} is VALID [2022-04-08 15:14:51,619 INFO L290 TraceCheckUtils]: 13: Hoare triple {91507#true} ~cond := #in~cond; {91507#true} is VALID [2022-04-08 15:14:51,619 INFO L290 TraceCheckUtils]: 14: Hoare triple {91507#true} assume !(0 == ~cond); {91507#true} is VALID [2022-04-08 15:14:51,619 INFO L290 TraceCheckUtils]: 15: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,619 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {91507#true} {91507#true} #1254#return; {91507#true} is VALID [2022-04-08 15:14:51,619 INFO L290 TraceCheckUtils]: 17: Hoare triple {91507#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {91507#true} is VALID [2022-04-08 15:14:51,619 INFO L290 TraceCheckUtils]: 18: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,619 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {91507#true} {91507#true} #1218#return; {91507#true} is VALID [2022-04-08 15:14:51,619 INFO L290 TraceCheckUtils]: 20: Hoare triple {91507#true} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {91507#true} is VALID [2022-04-08 15:14:51,619 INFO L290 TraceCheckUtils]: 21: Hoare triple {91507#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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {91507#true} is VALID [2022-04-08 15:14:51,619 INFO L290 TraceCheckUtils]: 22: Hoare triple {91507#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {91507#true} is VALID [2022-04-08 15:14:51,620 INFO L272 TraceCheckUtils]: 23: Hoare triple {91507#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {91615#(and (= |old(#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 15:14:51,620 INFO L290 TraceCheckUtils]: 24: Hoare triple {91615#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {91507#true} is VALID [2022-04-08 15:14:51,621 INFO L272 TraceCheckUtils]: 25: Hoare triple {91507#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {91615#(and (= |old(#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 15:14:51,621 INFO L290 TraceCheckUtils]: 26: Hoare triple {91615#(and (= |old(#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; {91507#true} is VALID [2022-04-08 15:14:51,621 INFO L290 TraceCheckUtils]: 27: Hoare triple {91507#true} assume 0 == ~__BLAST_NONDET~5; {91507#true} is VALID [2022-04-08 15:14:51,621 INFO L290 TraceCheckUtils]: 28: Hoare triple {91507#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {91507#true} is VALID [2022-04-08 15:14:51,621 INFO L290 TraceCheckUtils]: 29: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,621 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {91507#true} {91507#true} #1176#return; {91507#true} is VALID [2022-04-08 15:14:51,621 INFO L290 TraceCheckUtils]: 31: Hoare triple {91507#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {91507#true} is VALID [2022-04-08 15:14:51,621 INFO L290 TraceCheckUtils]: 32: Hoare triple {91507#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {91507#true} is VALID [2022-04-08 15:14:51,622 INFO L272 TraceCheckUtils]: 33: Hoare triple {91507#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {91610#(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 15:14:51,622 INFO L290 TraceCheckUtils]: 34: Hoare triple {91610#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {91507#true} is VALID [2022-04-08 15:14:51,622 INFO L290 TraceCheckUtils]: 35: Hoare triple {91507#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {91507#true} is VALID [2022-04-08 15:14:51,622 INFO L290 TraceCheckUtils]: 36: Hoare triple {91507#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {91507#true} is VALID [2022-04-08 15:14:51,622 INFO L290 TraceCheckUtils]: 37: Hoare triple {91507#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {91507#true} is VALID [2022-04-08 15:14:51,622 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {91507#true} {91507#true} #1178#return; {91507#true} is VALID [2022-04-08 15:14:51,622 INFO L290 TraceCheckUtils]: 39: Hoare triple {91507#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {91507#true} is VALID [2022-04-08 15:14:51,623 INFO L272 TraceCheckUtils]: 40: Hoare triple {91507#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {91507#true} is VALID [2022-04-08 15:14:51,623 INFO L290 TraceCheckUtils]: 41: Hoare triple {91507#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; {91507#true} is VALID [2022-04-08 15:14:51,623 INFO L290 TraceCheckUtils]: 42: Hoare triple {91507#true} assume 0 == ~__BLAST_NONDET~2; {91507#true} is VALID [2022-04-08 15:14:51,623 INFO L290 TraceCheckUtils]: 43: Hoare triple {91507#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {91507#true} is VALID [2022-04-08 15:14:51,623 INFO L290 TraceCheckUtils]: 44: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,623 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {91507#true} {91507#true} #1180#return; {91507#true} is VALID [2022-04-08 15:14:51,623 INFO L290 TraceCheckUtils]: 46: Hoare triple {91507#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {91507#true} is VALID [2022-04-08 15:14:51,623 INFO L290 TraceCheckUtils]: 47: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,623 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {91507#true} {91507#true} #1220#return; {91507#true} is VALID [2022-04-08 15:14:51,623 INFO L290 TraceCheckUtils]: 49: Hoare triple {91507#true} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {91507#true} is VALID [2022-04-08 15:14:51,634 INFO L272 TraceCheckUtils]: 50: Hoare triple {91507#true} call stub_driver_init(); {91631#(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 15:14:51,634 INFO L290 TraceCheckUtils]: 51: Hoare triple {91631#(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; {91507#true} is VALID [2022-04-08 15:14:51,634 INFO L290 TraceCheckUtils]: 52: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,634 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {91507#true} {91507#true} #1222#return; {91507#true} is VALID [2022-04-08 15:14:51,634 INFO L290 TraceCheckUtils]: 54: Hoare triple {91507#true} assume !!(~status~5 >= 0); {91507#true} is VALID [2022-04-08 15:14:51,634 INFO L290 TraceCheckUtils]: 55: Hoare triple {91507#true} assume !(0 == ~__BLAST_NONDET~0); {91507#true} is VALID [2022-04-08 15:14:51,634 INFO L290 TraceCheckUtils]: 56: Hoare triple {91507#true} assume !(1 == ~__BLAST_NONDET~0); {91507#true} is VALID [2022-04-08 15:14:51,634 INFO L290 TraceCheckUtils]: 57: Hoare triple {91507#true} assume !(2 == ~__BLAST_NONDET~0); {91507#true} is VALID [2022-04-08 15:14:51,634 INFO L290 TraceCheckUtils]: 58: Hoare triple {91507#true} assume 3 == ~__BLAST_NONDET~0; {91507#true} is VALID [2022-04-08 15:14:51,635 INFO L272 TraceCheckUtils]: 59: Hoare triple {91507#true} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {91632#(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 15:14:51,636 INFO L290 TraceCheckUtils]: 60: Hoare triple {91632#(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(28);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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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); {91507#true} is VALID [2022-04-08 15:14:51,636 INFO L290 TraceCheckUtils]: 61: Hoare triple {91507#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {91507#true} is VALID [2022-04-08 15:14:51,636 INFO L290 TraceCheckUtils]: 62: Hoare triple {91507#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 180 + ~Irp.offset, 8);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 68;havoc #t~mem103.base, #t~mem103.offset; {91507#true} is VALID [2022-04-08 15:14:51,636 INFO L272 TraceCheckUtils]: 63: Hoare triple {91507#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, 52); {91610#(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 15:14:51,636 INFO L290 TraceCheckUtils]: 64: Hoare triple {91610#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {91507#true} is VALID [2022-04-08 15:14:51,637 INFO L290 TraceCheckUtils]: 65: Hoare triple {91507#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {91507#true} is VALID [2022-04-08 15:14:51,637 INFO L290 TraceCheckUtils]: 66: Hoare triple {91507#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {91507#true} is VALID [2022-04-08 15:14:51,637 INFO L290 TraceCheckUtils]: 67: Hoare triple {91507#true} assume #t~loopctr221 % 18446744073709551616 < size % 18446744073709551616;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 8);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 8);#t~loopctr221 := 8 + #t~loopctr221; {91507#true} is VALID [2022-04-08 15:14:51,637 INFO L290 TraceCheckUtils]: 68: Hoare triple {91507#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {91507#true} is VALID [2022-04-08 15:14:51,637 INFO L290 TraceCheckUtils]: 69: Hoare triple {91507#true} assume #res.base == dest.base && #res.offset == dest.offset; {91507#true} is VALID [2022-04-08 15:14:51,637 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {91507#true} {91507#true} #1186#return; {91507#true} is VALID [2022-04-08 15:14:51,637 INFO L290 TraceCheckUtils]: 71: Hoare triple {91507#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {91507#true} is VALID [2022-04-08 15:14:51,637 INFO L290 TraceCheckUtils]: 72: Hoare triple {91507#true} assume !(~s~0 != ~NP~0); {91507#true} is VALID [2022-04-08 15:14:51,637 INFO L290 TraceCheckUtils]: 73: Hoare triple {91507#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {91507#true} is VALID [2022-04-08 15:14:51,637 INFO L290 TraceCheckUtils]: 74: Hoare triple {91507#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 68;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 52 + ~irpSp___0~0.offset, 8);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 60 + ~irpSp___0~0.offset, 8);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, 16 + ~devExt~3.offset, 8); {91507#true} is VALID [2022-04-08 15:14:51,638 INFO L272 TraceCheckUtils]: 75: Hoare triple {91507#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {91672#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:14:51,638 INFO L290 TraceCheckUtils]: 76: Hoare triple {91672#(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; {91507#true} is VALID [2022-04-08 15:14:51,638 INFO L290 TraceCheckUtils]: 77: Hoare triple {91507#true} assume 0 != ~compRegistered~0; {91507#true} is VALID [2022-04-08 15:14:51,639 INFO L272 TraceCheckUtils]: 78: Hoare triple {91507#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {91686#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:14:51,639 INFO L290 TraceCheckUtils]: 79: Hoare triple {91686#(= ~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; {91507#true} is VALID [2022-04-08 15:14:51,639 INFO L272 TraceCheckUtils]: 80: Hoare triple {91507#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {91686#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:14:51,639 INFO L290 TraceCheckUtils]: 81: Hoare triple {91686#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {91507#true} is VALID [2022-04-08 15:14:51,639 INFO L290 TraceCheckUtils]: 82: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,639 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {91507#true} {91507#true} #1174#return; {91507#true} is VALID [2022-04-08 15:14:51,639 INFO L290 TraceCheckUtils]: 84: Hoare triple {91507#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {91507#true} is VALID [2022-04-08 15:14:51,639 INFO L290 TraceCheckUtils]: 85: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,639 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {91507#true} {91507#true} #1210#return; {91507#true} is VALID [2022-04-08 15:14:51,640 INFO L290 TraceCheckUtils]: 87: Hoare triple {91507#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {91507#true} is VALID [2022-04-08 15:14:51,640 INFO L290 TraceCheckUtils]: 88: Hoare triple {91507#true} assume -1073741802 == ~compRetStatus~0; {91507#true} is VALID [2022-04-08 15:14:51,640 INFO L272 TraceCheckUtils]: 89: Hoare triple {91507#true} call stubMoreProcessingRequired(); {91690#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:14:51,640 INFO L290 TraceCheckUtils]: 90: Hoare triple {91690#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {91507#true} is VALID [2022-04-08 15:14:51,640 INFO L290 TraceCheckUtils]: 91: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,640 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {91507#true} {91507#true} #1212#return; {91507#true} is VALID [2022-04-08 15:14:51,640 INFO L290 TraceCheckUtils]: 93: Hoare triple {91507#true} assume 0 == ~__BLAST_NONDET~11; {91507#true} is VALID [2022-04-08 15:14:51,640 INFO L290 TraceCheckUtils]: 94: Hoare triple {91507#true} ~returnVal2~0 := 0; {91684#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:14:51,641 INFO L290 TraceCheckUtils]: 95: Hoare triple {91684#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume !(~s~0 == ~NP~0); {91684#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:14:51,641 INFO L290 TraceCheckUtils]: 96: Hoare triple {91684#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume ~s~0 == ~MPR1~0; {91684#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:14:51,641 INFO L290 TraceCheckUtils]: 97: Hoare triple {91684#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} assume !(259 == ~returnVal2~0);~s~0 := ~NP~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {91684#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} is VALID [2022-04-08 15:14:51,642 INFO L290 TraceCheckUtils]: 98: Hoare triple {91684#(and (<= IofCallDriver_~returnVal2~0 0) (<= 0 IofCallDriver_~returnVal2~0))} #res := ~returnVal2~0; {91685#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} is VALID [2022-04-08 15:14:51,642 INFO L290 TraceCheckUtils]: 99: Hoare triple {91685#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} assume true; {91685#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} is VALID [2022-04-08 15:14:51,643 INFO L284 TraceCheckUtils]: 100: Hoare quadruple {91685#(and (<= 0 |IofCallDriver_#res|) (<= |IofCallDriver_#res| 0))} {91507#true} #1192#return; {91665#(= |KbFilter_PnP_#t~ret109| 0)} is VALID [2022-04-08 15:14:51,643 INFO L290 TraceCheckUtils]: 101: Hoare triple {91665#(= |KbFilter_PnP_#t~ret109| 0)} assume -9223372036854775808 <= #t~ret109 && #t~ret109 <= 9223372036854775807;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {91666#(= KbFilter_PnP_~status~3 0)} is VALID [2022-04-08 15:14:51,643 INFO L290 TraceCheckUtils]: 102: Hoare triple {91666#(= KbFilter_PnP_~status~3 0)} assume !(259 == ~status~3); {91666#(= KbFilter_PnP_~status~3 0)} is VALID [2022-04-08 15:14:51,643 INFO L290 TraceCheckUtils]: 103: Hoare triple {91666#(= KbFilter_PnP_~status~3 0)} assume ~status~3 >= 0; {91666#(= KbFilter_PnP_~status~3 0)} is VALID [2022-04-08 15:14:51,644 INFO L290 TraceCheckUtils]: 104: Hoare triple {91666#(= KbFilter_PnP_~status~3 0)} assume !(~myStatus~0 >= 0); {91666#(= KbFilter_PnP_~status~3 0)} is VALID [2022-04-08 15:14:51,644 INFO L290 TraceCheckUtils]: 105: Hoare triple {91666#(= KbFilter_PnP_~status~3 0)} call write~int(~status~3, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~3 % 4294967296 <= 2147483647 then ~status~3 % 4294967296 else ~status~3 % 4294967296 - 4294967296);call write~int(0, ~Irp.base, 52 + ~Irp.offset, 8); {91666#(= KbFilter_PnP_~status~3 0)} is VALID [2022-04-08 15:14:51,644 INFO L272 TraceCheckUtils]: 106: Hoare triple {91666#(= KbFilter_PnP_~status~3 0)} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {91690#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:14:51,645 INFO L290 TraceCheckUtils]: 107: Hoare triple {91690#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {91507#true} is VALID [2022-04-08 15:14:51,645 INFO L290 TraceCheckUtils]: 108: Hoare triple {91507#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {91507#true} is VALID [2022-04-08 15:14:51,645 INFO L290 TraceCheckUtils]: 109: Hoare triple {91507#true} assume true; {91507#true} is VALID [2022-04-08 15:14:51,645 INFO L284 TraceCheckUtils]: 110: Hoare quadruple {91507#true} {91666#(= KbFilter_PnP_~status~3 0)} #1196#return; {91666#(= KbFilter_PnP_~status~3 0)} is VALID [2022-04-08 15:14:51,645 INFO L290 TraceCheckUtils]: 111: Hoare triple {91666#(= KbFilter_PnP_~status~3 0)} #res := ~status~3;call ULTIMATE.dealloc(~#event~1.base, ~#event~1.offset);havoc ~#event~1.base, ~#event~1.offset; {91671#(= |KbFilter_PnP_#res| 0)} is VALID [2022-04-08 15:14:51,646 INFO L290 TraceCheckUtils]: 112: Hoare triple {91671#(= |KbFilter_PnP_#res| 0)} assume true; {91671#(= |KbFilter_PnP_#res| 0)} is VALID [2022-04-08 15:14:51,646 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {91671#(= |KbFilter_PnP_#res| 0)} {91507#true} #1230#return; {91606#(not (= 259 |main_#t~ret174|))} is VALID [2022-04-08 15:14:51,647 INFO L290 TraceCheckUtils]: 114: Hoare triple {91606#(not (= 259 |main_#t~ret174|))} assume -9223372036854775808 <= #t~ret174 && #t~ret174 <= 9223372036854775807;~status~5 := #t~ret174;havoc #t~ret174; {91607#(not (= main_~status~5 259))} is VALID [2022-04-08 15:14:51,647 INFO L290 TraceCheckUtils]: 115: Hoare triple {91607#(not (= main_~status~5 259))} assume 0 != ~we_should_unload~0; {91607#(not (= main_~status~5 259))} is VALID [2022-04-08 15:14:51,647 INFO L290 TraceCheckUtils]: 116: Hoare triple {91607#(not (= main_~status~5 259))} assume !(1 == ~pended~0); {91607#(not (= main_~status~5 259))} is VALID [2022-04-08 15:14:51,647 INFO L290 TraceCheckUtils]: 117: Hoare triple {91607#(not (= main_~status~5 259))} assume !(1 == ~pended~0); {91607#(not (= main_~status~5 259))} is VALID [2022-04-08 15:14:51,648 INFO L290 TraceCheckUtils]: 118: Hoare triple {91607#(not (= main_~status~5 259))} assume !(~s~0 == ~UNLOADED~0); {91607#(not (= main_~status~5 259))} is VALID [2022-04-08 15:14:51,648 INFO L290 TraceCheckUtils]: 119: Hoare triple {91607#(not (= main_~status~5 259))} assume !(-1 == ~status~5); {91607#(not (= main_~status~5 259))} is VALID [2022-04-08 15:14:51,648 INFO L290 TraceCheckUtils]: 120: Hoare triple {91607#(not (= main_~status~5 259))} assume ~s~0 != ~SKIP2~0; {91607#(not (= main_~status~5 259))} is VALID [2022-04-08 15:14:51,648 INFO L290 TraceCheckUtils]: 121: Hoare triple {91607#(not (= main_~status~5 259))} assume ~s~0 != ~IPC~0; {91607#(not (= main_~status~5 259))} is VALID [2022-04-08 15:14:51,649 INFO L290 TraceCheckUtils]: 122: Hoare triple {91607#(not (= main_~status~5 259))} assume !(~s~0 != ~DC~0); {91607#(not (= main_~status~5 259))} is VALID [2022-04-08 15:14:51,649 INFO L290 TraceCheckUtils]: 123: Hoare triple {91607#(not (= main_~status~5 259))} assume !(1 == ~pended~0); {91607#(not (= main_~status~5 259))} is VALID [2022-04-08 15:14:51,649 INFO L290 TraceCheckUtils]: 124: Hoare triple {91607#(not (= main_~status~5 259))} assume ~s~0 == ~DC~0; {91607#(not (= main_~status~5 259))} is VALID [2022-04-08 15:14:51,650 INFO L290 TraceCheckUtils]: 125: Hoare triple {91607#(not (= main_~status~5 259))} assume 259 == ~status~5; {91508#false} is VALID [2022-04-08 15:14:51,650 INFO L272 TraceCheckUtils]: 126: Hoare triple {91508#false} call errorFn(); {91508#false} is VALID [2022-04-08 15:14:51,650 INFO L290 TraceCheckUtils]: 127: Hoare triple {91508#false} assume !false; {91508#false} is VALID [2022-04-08 15:14:51,650 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-04-08 15:14:51,650 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:14:51,650 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1136481820] [2022-04-08 15:14:51,650 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1136481820] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:14:51,650 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:14:51,650 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-08 15:14:51,650 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:14:51,651 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1689158721] [2022-04-08 15:14:51,651 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1689158721] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:14:51,651 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:14:51,651 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-08 15:14:51,651 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1241215368] [2022-04-08 15:14:51,651 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:14:51,651 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 5.222222222222222) internal successors, (94), 7 states have internal predecessors, (94), 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 128 [2022-04-08 15:14:51,651 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:14:51,651 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 18 states have (on average 5.222222222222222) internal successors, (94), 7 states have internal predecessors, (94), 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 15:14:51,742 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 128 edges. 128 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 15:14:51,742 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-08 15:14:51,743 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:14:51,743 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-08 15:14:51,743 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=253, Unknown=0, NotChecked=0, Total=306 [2022-04-08 15:14:51,743 INFO L87 Difference]: Start difference. First operand 295 states and 322 transitions. Second operand has 18 states, 18 states have (on average 5.222222222222222) internal successors, (94), 7 states have internal predecessors, (94), 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 15:14:53,888 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 15:15:04,005 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:15:04,005 INFO L93 Difference]: Finished difference Result 339 states and 373 transitions. [2022-04-08 15:15:04,005 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-08 15:15:04,005 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 5.222222222222222) internal successors, (94), 7 states have internal predecessors, (94), 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 128 [2022-04-08 15:15:04,005 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:15:04,005 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 5.222222222222222) internal successors, (94), 7 states have internal predecessors, (94), 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 15:15:04,007 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 210 transitions. [2022-04-08 15:15:04,007 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 5.222222222222222) internal successors, (94), 7 states have internal predecessors, (94), 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 15:15:04,008 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 210 transitions. [2022-04-08 15:15:04,008 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 210 transitions. [2022-04-08 15:15:04,242 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 210 edges. 210 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 15:15:04,246 INFO L225 Difference]: With dead ends: 339 [2022-04-08 15:15:04,246 INFO L226 Difference]: Without dead ends: 297 [2022-04-08 15:15:04,247 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 15:15:04,247 INFO L913 BasicCegarLoop]: 145 mSDtfsCounter, 279 mSDsluCounter, 511 mSDsCounter, 0 mSdLazyCounter, 1196 mSolverCounterSat, 156 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 281 SdHoareTripleChecker+Valid, 656 SdHoareTripleChecker+Invalid, 1353 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 156 IncrementalHoareTripleChecker+Valid, 1196 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.0s IncrementalHoareTripleChecker+Time [2022-04-08 15:15:04,247 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [281 Valid, 656 Invalid, 1353 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [156 Valid, 1196 Invalid, 1 Unknown, 0 Unchecked, 6.0s Time] [2022-04-08 15:15:04,247 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 297 states. [2022-04-08 15:15:04,890 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 297 to 277. [2022-04-08 15:15:04,891 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:15:04,891 INFO L82 GeneralOperation]: Start isEquivalent. First operand 297 states. Second operand has 277 states, 211 states have (on average 1.1184834123222749) internal successors, (236), 213 states have internal predecessors, (236), 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 15:15:04,891 INFO L74 IsIncluded]: Start isIncluded. First operand 297 states. Second operand has 277 states, 211 states have (on average 1.1184834123222749) internal successors, (236), 213 states have internal predecessors, (236), 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 15:15:04,891 INFO L87 Difference]: Start difference. First operand 297 states. Second operand has 277 states, 211 states have (on average 1.1184834123222749) internal successors, (236), 213 states have internal predecessors, (236), 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 15:15:04,895 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:15:04,895 INFO L93 Difference]: Finished difference Result 297 states and 326 transitions. [2022-04-08 15:15:04,895 INFO L276 IsEmpty]: Start isEmpty. Operand 297 states and 326 transitions. [2022-04-08 15:15:04,895 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:15:04,895 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:15:04,895 INFO L74 IsIncluded]: Start isIncluded. First operand has 277 states, 211 states have (on average 1.1184834123222749) internal successors, (236), 213 states have internal predecessors, (236), 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 297 states. [2022-04-08 15:15:04,896 INFO L87 Difference]: Start difference. First operand has 277 states, 211 states have (on average 1.1184834123222749) internal successors, (236), 213 states have internal predecessors, (236), 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 297 states. [2022-04-08 15:15:04,899 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:15:04,899 INFO L93 Difference]: Finished difference Result 297 states and 326 transitions. [2022-04-08 15:15:04,899 INFO L276 IsEmpty]: Start isEmpty. Operand 297 states and 326 transitions. [2022-04-08 15:15:04,899 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:15:04,899 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:15:04,899 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:15:04,899 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:15:04,899 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 277 states, 211 states have (on average 1.1184834123222749) internal successors, (236), 213 states have internal predecessors, (236), 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 15:15:04,903 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 277 states to 277 states and 302 transitions. [2022-04-08 15:15:04,903 INFO L78 Accepts]: Start accepts. Automaton has 277 states and 302 transitions. Word has length 128 [2022-04-08 15:15:04,903 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:15:04,903 INFO L478 AbstractCegarLoop]: Abstraction has 277 states and 302 transitions. [2022-04-08 15:15:04,903 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 18 states have (on average 5.222222222222222) internal successors, (94), 7 states have internal predecessors, (94), 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 15:15:04,903 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 277 states and 302 transitions. [2022-04-08 15:15:05,714 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 302 edges. 302 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 15:15:05,715 INFO L276 IsEmpty]: Start isEmpty. Operand 277 states and 302 transitions. [2022-04-08 15:15:05,715 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 129 [2022-04-08 15:15:05,715 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:15:05,715 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] [2022-04-08 15:15:05,715 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable37 [2022-04-08 15:15:05,716 INFO L403 AbstractCegarLoop]: === Iteration 39 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:15:05,716 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:15:05,716 INFO L85 PathProgramCache]: Analyzing trace with hash -186237449, now seen corresponding path program 1 times [2022-04-08 15:15:05,716 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:15:05,716 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1707219976] [2022-04-08 15:15:05,718 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 15:15:05,718 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 15:15:05,718 INFO L85 PathProgramCache]: Analyzing trace with hash -186237449, now seen corresponding path program 2 times [2022-04-08 15:15:05,718 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:15:05,718 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1971685942] [2022-04-08 15:15:05,718 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:15:05,719 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:15:05,811 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:05,891 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:15:05,893 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:05,897 INFO L290 TraceCheckUtils]: 0: Hoare triple {93644#(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; {93543#true} is VALID [2022-04-08 15:15:05,897 INFO L290 TraceCheckUtils]: 1: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:05,898 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {93543#true} {93543#true} #1270#return; {93543#true} is VALID [2022-04-08 15:15:05,954 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:15:05,956 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:05,974 INFO L290 TraceCheckUtils]: 0: Hoare triple {93645#(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; {93543#true} is VALID [2022-04-08 15:15:05,974 INFO L290 TraceCheckUtils]: 1: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:05,974 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {93543#true} {93543#true} #1216#return; {93543#true} is VALID [2022-04-08 15:15:05,981 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:15:05,987 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:05,993 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:15:05,993 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:05,997 INFO L290 TraceCheckUtils]: 0: Hoare triple {93543#true} ~cond := #in~cond; {93543#true} is VALID [2022-04-08 15:15:05,997 INFO L290 TraceCheckUtils]: 1: Hoare triple {93543#true} assume !(0 == ~cond); {93543#true} is VALID [2022-04-08 15:15:05,997 INFO L290 TraceCheckUtils]: 2: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:05,997 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {93543#true} {93543#true} #1254#return; {93543#true} is VALID [2022-04-08 15:15:05,997 INFO L290 TraceCheckUtils]: 0: Hoare triple {93646#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {93543#true} is VALID [2022-04-08 15:15:05,997 INFO L272 TraceCheckUtils]: 1: Hoare triple {93543#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {93543#true} is VALID [2022-04-08 15:15:05,997 INFO L290 TraceCheckUtils]: 2: Hoare triple {93543#true} ~cond := #in~cond; {93543#true} is VALID [2022-04-08 15:15:05,997 INFO L290 TraceCheckUtils]: 3: Hoare triple {93543#true} assume !(0 == ~cond); {93543#true} is VALID [2022-04-08 15:15:05,997 INFO L290 TraceCheckUtils]: 4: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:05,997 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {93543#true} {93543#true} #1254#return; {93543#true} is VALID [2022-04-08 15:15:05,997 INFO L290 TraceCheckUtils]: 6: Hoare triple {93543#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {93543#true} is VALID [2022-04-08 15:15:05,997 INFO L290 TraceCheckUtils]: 7: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:05,997 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {93543#true} {93543#true} #1218#return; {93543#true} is VALID [2022-04-08 15:15:06,007 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:15:06,019 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:06,027 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:15:06,030 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:06,035 INFO L290 TraceCheckUtils]: 0: Hoare triple {93651#(and (= |old(#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; {93543#true} is VALID [2022-04-08 15:15:06,035 INFO L290 TraceCheckUtils]: 1: Hoare triple {93543#true} assume 0 == ~__BLAST_NONDET~5; {93543#true} is VALID [2022-04-08 15:15:06,035 INFO L290 TraceCheckUtils]: 2: Hoare triple {93543#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {93543#true} is VALID [2022-04-08 15:15:06,036 INFO L290 TraceCheckUtils]: 3: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:06,036 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {93543#true} {93543#true} #1176#return; {93543#true} is VALID [2022-04-08 15:15:06,036 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 15:15:06,037 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:06,042 INFO L290 TraceCheckUtils]: 0: Hoare triple {93646#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {93543#true} is VALID [2022-04-08 15:15:06,042 INFO L290 TraceCheckUtils]: 1: Hoare triple {93543#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {93543#true} is VALID [2022-04-08 15:15:06,042 INFO L290 TraceCheckUtils]: 2: Hoare triple {93543#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {93543#true} is VALID [2022-04-08 15:15:06,042 INFO L290 TraceCheckUtils]: 3: Hoare triple {93543#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {93543#true} is VALID [2022-04-08 15:15:06,042 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {93543#true} {93543#true} #1178#return; {93543#true} is VALID [2022-04-08 15:15:06,042 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-08 15:15:06,043 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:06,047 INFO L290 TraceCheckUtils]: 0: Hoare triple {93543#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; {93543#true} is VALID [2022-04-08 15:15:06,047 INFO L290 TraceCheckUtils]: 1: Hoare triple {93543#true} assume 0 == ~__BLAST_NONDET~2; {93543#true} is VALID [2022-04-08 15:15:06,047 INFO L290 TraceCheckUtils]: 2: Hoare triple {93543#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {93543#true} is VALID [2022-04-08 15:15:06,047 INFO L290 TraceCheckUtils]: 3: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:06,047 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {93543#true} {93543#true} #1180#return; {93543#true} is VALID [2022-04-08 15:15:06,047 INFO L290 TraceCheckUtils]: 0: Hoare triple {93651#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {93543#true} is VALID [2022-04-08 15:15:06,048 INFO L272 TraceCheckUtils]: 1: Hoare triple {93543#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {93651#(and (= |old(#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 15:15:06,048 INFO L290 TraceCheckUtils]: 2: Hoare triple {93651#(and (= |old(#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; {93543#true} is VALID [2022-04-08 15:15:06,048 INFO L290 TraceCheckUtils]: 3: Hoare triple {93543#true} assume 0 == ~__BLAST_NONDET~5; {93543#true} is VALID [2022-04-08 15:15:06,048 INFO L290 TraceCheckUtils]: 4: Hoare triple {93543#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {93543#true} is VALID [2022-04-08 15:15:06,048 INFO L290 TraceCheckUtils]: 5: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:06,048 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {93543#true} {93543#true} #1176#return; {93543#true} is VALID [2022-04-08 15:15:06,048 INFO L290 TraceCheckUtils]: 7: Hoare triple {93543#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {93543#true} is VALID [2022-04-08 15:15:06,049 INFO L290 TraceCheckUtils]: 8: Hoare triple {93543#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {93543#true} is VALID [2022-04-08 15:15:06,049 INFO L272 TraceCheckUtils]: 9: Hoare triple {93543#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {93646#(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 15:15:06,049 INFO L290 TraceCheckUtils]: 10: Hoare triple {93646#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {93543#true} is VALID [2022-04-08 15:15:06,049 INFO L290 TraceCheckUtils]: 11: Hoare triple {93543#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {93543#true} is VALID [2022-04-08 15:15:06,049 INFO L290 TraceCheckUtils]: 12: Hoare triple {93543#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {93543#true} is VALID [2022-04-08 15:15:06,049 INFO L290 TraceCheckUtils]: 13: Hoare triple {93543#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {93543#true} is VALID [2022-04-08 15:15:06,049 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {93543#true} {93543#true} #1178#return; {93543#true} is VALID [2022-04-08 15:15:06,050 INFO L290 TraceCheckUtils]: 15: Hoare triple {93543#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {93543#true} is VALID [2022-04-08 15:15:06,050 INFO L272 TraceCheckUtils]: 16: Hoare triple {93543#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {93543#true} is VALID [2022-04-08 15:15:06,050 INFO L290 TraceCheckUtils]: 17: Hoare triple {93543#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; {93543#true} is VALID [2022-04-08 15:15:06,050 INFO L290 TraceCheckUtils]: 18: Hoare triple {93543#true} assume 0 == ~__BLAST_NONDET~2; {93543#true} is VALID [2022-04-08 15:15:06,050 INFO L290 TraceCheckUtils]: 19: Hoare triple {93543#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {93543#true} is VALID [2022-04-08 15:15:06,050 INFO L290 TraceCheckUtils]: 20: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:06,050 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {93543#true} {93543#true} #1180#return; {93543#true} is VALID [2022-04-08 15:15:06,050 INFO L290 TraceCheckUtils]: 22: Hoare triple {93543#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {93543#true} is VALID [2022-04-08 15:15:06,050 INFO L290 TraceCheckUtils]: 23: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:06,050 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {93543#true} {93543#true} #1220#return; {93543#true} is VALID [2022-04-08 15:15:06,081 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-08 15:15:06,082 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:06,086 INFO L290 TraceCheckUtils]: 0: Hoare triple {93667#(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; {93543#true} is VALID [2022-04-08 15:15:06,086 INFO L290 TraceCheckUtils]: 1: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:06,086 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {93543#true} {93543#true} #1222#return; {93543#true} is VALID [2022-04-08 15:15:06,108 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 59 [2022-04-08 15:15:06,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:06,168 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-04-08 15:15:06,172 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:06,178 INFO L290 TraceCheckUtils]: 0: Hoare triple {93646#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {93543#true} is VALID [2022-04-08 15:15:06,178 INFO L290 TraceCheckUtils]: 1: Hoare triple {93543#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {93543#true} is VALID [2022-04-08 15:15:06,178 INFO L290 TraceCheckUtils]: 2: Hoare triple {93543#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {93543#true} is VALID [2022-04-08 15:15:06,178 INFO L290 TraceCheckUtils]: 3: Hoare triple {93543#true} assume #t~loopctr221 % 18446744073709551616 < size % 18446744073709551616;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 8);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 8);#t~loopctr221 := 8 + #t~loopctr221; {93543#true} is VALID [2022-04-08 15:15:06,178 INFO L290 TraceCheckUtils]: 4: Hoare triple {93543#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {93543#true} is VALID [2022-04-08 15:15:06,178 INFO L290 TraceCheckUtils]: 5: Hoare triple {93543#true} assume #res.base == dest.base && #res.offset == dest.offset; {93543#true} is VALID [2022-04-08 15:15:06,178 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {93543#true} {93543#true} #1186#return; {93543#true} is VALID [2022-04-08 15:15:06,189 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 15 [2022-04-08 15:15:06,193 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:06,209 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 15:15:06,210 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:06,226 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:15:06,228 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:06,231 INFO L290 TraceCheckUtils]: 0: Hoare triple {93720#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {93543#true} is VALID [2022-04-08 15:15:06,232 INFO L290 TraceCheckUtils]: 1: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:06,232 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {93543#true} {93543#true} #1174#return; {93543#true} is VALID [2022-04-08 15:15:06,232 INFO L290 TraceCheckUtils]: 0: Hoare triple {93720#(= ~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; {93543#true} is VALID [2022-04-08 15:15:06,232 INFO L272 TraceCheckUtils]: 1: Hoare triple {93543#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {93720#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:15:06,232 INFO L290 TraceCheckUtils]: 2: Hoare triple {93720#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {93543#true} is VALID [2022-04-08 15:15:06,232 INFO L290 TraceCheckUtils]: 3: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:06,232 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {93543#true} {93543#true} #1174#return; {93543#true} is VALID [2022-04-08 15:15:06,233 INFO L290 TraceCheckUtils]: 5: Hoare triple {93543#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {93543#true} is VALID [2022-04-08 15:15:06,233 INFO L290 TraceCheckUtils]: 6: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:06,233 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {93543#true} {93543#true} #1210#return; {93543#true} is VALID [2022-04-08 15:15:06,245 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 15:15:06,245 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:06,250 INFO L290 TraceCheckUtils]: 0: Hoare triple {93724#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {93543#true} is VALID [2022-04-08 15:15:06,250 INFO L290 TraceCheckUtils]: 1: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:06,250 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {93543#true} {93543#true} #1212#return; {93543#true} is VALID [2022-04-08 15:15:06,250 INFO L290 TraceCheckUtils]: 0: Hoare triple {93708#(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; {93543#true} is VALID [2022-04-08 15:15:06,250 INFO L290 TraceCheckUtils]: 1: Hoare triple {93543#true} assume 0 != ~compRegistered~0; {93543#true} is VALID [2022-04-08 15:15:06,252 INFO L272 TraceCheckUtils]: 2: Hoare triple {93543#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {93720#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:15:06,252 INFO L290 TraceCheckUtils]: 3: Hoare triple {93720#(= ~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; {93543#true} is VALID [2022-04-08 15:15:06,252 INFO L272 TraceCheckUtils]: 4: Hoare triple {93543#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {93720#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:15:06,252 INFO L290 TraceCheckUtils]: 5: Hoare triple {93720#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {93543#true} is VALID [2022-04-08 15:15:06,252 INFO L290 TraceCheckUtils]: 6: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:06,252 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {93543#true} {93543#true} #1174#return; {93543#true} is VALID [2022-04-08 15:15:06,253 INFO L290 TraceCheckUtils]: 8: Hoare triple {93543#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {93543#true} is VALID [2022-04-08 15:15:06,253 INFO L290 TraceCheckUtils]: 9: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:06,253 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {93543#true} {93543#true} #1210#return; {93543#true} is VALID [2022-04-08 15:15:06,253 INFO L290 TraceCheckUtils]: 11: Hoare triple {93543#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {93543#true} is VALID [2022-04-08 15:15:06,253 INFO L290 TraceCheckUtils]: 12: Hoare triple {93543#true} assume -1073741802 == ~compRetStatus~0; {93543#true} is VALID [2022-04-08 15:15:06,253 INFO L272 TraceCheckUtils]: 13: Hoare triple {93543#true} call stubMoreProcessingRequired(); {93724#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:15:06,253 INFO L290 TraceCheckUtils]: 14: Hoare triple {93724#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {93543#true} is VALID [2022-04-08 15:15:06,253 INFO L290 TraceCheckUtils]: 15: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:06,253 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {93543#true} {93543#true} #1212#return; {93543#true} is VALID [2022-04-08 15:15:06,253 INFO L290 TraceCheckUtils]: 17: Hoare triple {93543#true} assume !(0 == ~__BLAST_NONDET~11); {93543#true} is VALID [2022-04-08 15:15:06,253 INFO L290 TraceCheckUtils]: 18: Hoare triple {93543#true} assume 1 == ~__BLAST_NONDET~11; {93543#true} is VALID [2022-04-08 15:15:06,253 INFO L290 TraceCheckUtils]: 19: Hoare triple {93543#true} ~returnVal2~0 := -1073741823; {93543#true} is VALID [2022-04-08 15:15:06,253 INFO L290 TraceCheckUtils]: 20: Hoare triple {93543#true} assume !(~s~0 == ~NP~0); {93543#true} is VALID [2022-04-08 15:15:06,253 INFO L290 TraceCheckUtils]: 21: Hoare triple {93543#true} assume ~s~0 == ~MPR1~0; {93543#true} is VALID [2022-04-08 15:15:06,253 INFO L290 TraceCheckUtils]: 22: Hoare triple {93543#true} assume !(259 == ~returnVal2~0);~s~0 := ~NP~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {93543#true} is VALID [2022-04-08 15:15:06,254 INFO L290 TraceCheckUtils]: 23: Hoare triple {93543#true} #res := ~returnVal2~0; {93543#true} is VALID [2022-04-08 15:15:06,254 INFO L290 TraceCheckUtils]: 24: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:06,254 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {93543#true} {93543#true} #1192#return; {93543#true} is VALID [2022-04-08 15:15:06,254 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-08 15:15:06,255 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:06,260 INFO L290 TraceCheckUtils]: 0: Hoare triple {93724#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {93543#true} is VALID [2022-04-08 15:15:06,260 INFO L290 TraceCheckUtils]: 1: Hoare triple {93543#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {93543#true} is VALID [2022-04-08 15:15:06,260 INFO L290 TraceCheckUtils]: 2: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:06,261 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {93543#true} {93702#(<= (+ KbFilter_PnP_~status~3 1) 0)} #1196#return; {93702#(<= (+ KbFilter_PnP_~status~3 1) 0)} is VALID [2022-04-08 15:15:06,261 INFO L290 TraceCheckUtils]: 0: Hoare triple {93668#(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(28);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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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); {93543#true} is VALID [2022-04-08 15:15:06,261 INFO L290 TraceCheckUtils]: 1: Hoare triple {93543#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {93543#true} is VALID [2022-04-08 15:15:06,261 INFO L290 TraceCheckUtils]: 2: Hoare triple {93543#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 180 + ~Irp.offset, 8);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 68;havoc #t~mem103.base, #t~mem103.offset; {93543#true} is VALID [2022-04-08 15:15:06,262 INFO L272 TraceCheckUtils]: 3: Hoare triple {93543#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, 52); {93646#(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 15:15:06,262 INFO L290 TraceCheckUtils]: 4: Hoare triple {93646#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {93543#true} is VALID [2022-04-08 15:15:06,262 INFO L290 TraceCheckUtils]: 5: Hoare triple {93543#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {93543#true} is VALID [2022-04-08 15:15:06,262 INFO L290 TraceCheckUtils]: 6: Hoare triple {93543#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {93543#true} is VALID [2022-04-08 15:15:06,262 INFO L290 TraceCheckUtils]: 7: Hoare triple {93543#true} assume #t~loopctr221 % 18446744073709551616 < size % 18446744073709551616;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 8);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 8);#t~loopctr221 := 8 + #t~loopctr221; {93543#true} is VALID [2022-04-08 15:15:06,262 INFO L290 TraceCheckUtils]: 8: Hoare triple {93543#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {93543#true} is VALID [2022-04-08 15:15:06,263 INFO L290 TraceCheckUtils]: 9: Hoare triple {93543#true} assume #res.base == dest.base && #res.offset == dest.offset; {93543#true} is VALID [2022-04-08 15:15:06,263 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {93543#true} {93543#true} #1186#return; {93543#true} is VALID [2022-04-08 15:15:06,263 INFO L290 TraceCheckUtils]: 11: Hoare triple {93543#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {93543#true} is VALID [2022-04-08 15:15:06,263 INFO L290 TraceCheckUtils]: 12: Hoare triple {93543#true} assume !(~s~0 != ~NP~0); {93543#true} is VALID [2022-04-08 15:15:06,263 INFO L290 TraceCheckUtils]: 13: Hoare triple {93543#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {93543#true} is VALID [2022-04-08 15:15:06,263 INFO L290 TraceCheckUtils]: 14: Hoare triple {93543#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 68;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 52 + ~irpSp___0~0.offset, 8);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 60 + ~irpSp___0~0.offset, 8);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, 16 + ~devExt~3.offset, 8); {93543#true} is VALID [2022-04-08 15:15:06,264 INFO L272 TraceCheckUtils]: 15: Hoare triple {93543#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {93708#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:15:06,264 INFO L290 TraceCheckUtils]: 16: Hoare triple {93708#(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; {93543#true} is VALID [2022-04-08 15:15:06,264 INFO L290 TraceCheckUtils]: 17: Hoare triple {93543#true} assume 0 != ~compRegistered~0; {93543#true} is VALID [2022-04-08 15:15:06,265 INFO L272 TraceCheckUtils]: 18: Hoare triple {93543#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {93720#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:15:06,265 INFO L290 TraceCheckUtils]: 19: Hoare triple {93720#(= ~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; {93543#true} is VALID [2022-04-08 15:15:06,266 INFO L272 TraceCheckUtils]: 20: Hoare triple {93543#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {93720#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:15:06,266 INFO L290 TraceCheckUtils]: 21: Hoare triple {93720#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {93543#true} is VALID [2022-04-08 15:15:06,266 INFO L290 TraceCheckUtils]: 22: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:06,266 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {93543#true} {93543#true} #1174#return; {93543#true} is VALID [2022-04-08 15:15:06,266 INFO L290 TraceCheckUtils]: 24: Hoare triple {93543#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {93543#true} is VALID [2022-04-08 15:15:06,266 INFO L290 TraceCheckUtils]: 25: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:06,266 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {93543#true} {93543#true} #1210#return; {93543#true} is VALID [2022-04-08 15:15:06,266 INFO L290 TraceCheckUtils]: 27: Hoare triple {93543#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {93543#true} is VALID [2022-04-08 15:15:06,266 INFO L290 TraceCheckUtils]: 28: Hoare triple {93543#true} assume -1073741802 == ~compRetStatus~0; {93543#true} is VALID [2022-04-08 15:15:06,266 INFO L272 TraceCheckUtils]: 29: Hoare triple {93543#true} call stubMoreProcessingRequired(); {93724#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:15:06,266 INFO L290 TraceCheckUtils]: 30: Hoare triple {93724#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {93543#true} is VALID [2022-04-08 15:15:06,266 INFO L290 TraceCheckUtils]: 31: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:06,266 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {93543#true} {93543#true} #1212#return; {93543#true} is VALID [2022-04-08 15:15:06,267 INFO L290 TraceCheckUtils]: 33: Hoare triple {93543#true} assume !(0 == ~__BLAST_NONDET~11); {93543#true} is VALID [2022-04-08 15:15:06,267 INFO L290 TraceCheckUtils]: 34: Hoare triple {93543#true} assume 1 == ~__BLAST_NONDET~11; {93543#true} is VALID [2022-04-08 15:15:06,267 INFO L290 TraceCheckUtils]: 35: Hoare triple {93543#true} ~returnVal2~0 := -1073741823; {93543#true} is VALID [2022-04-08 15:15:06,267 INFO L290 TraceCheckUtils]: 36: Hoare triple {93543#true} assume !(~s~0 == ~NP~0); {93543#true} is VALID [2022-04-08 15:15:06,267 INFO L290 TraceCheckUtils]: 37: Hoare triple {93543#true} assume ~s~0 == ~MPR1~0; {93543#true} is VALID [2022-04-08 15:15:06,267 INFO L290 TraceCheckUtils]: 38: Hoare triple {93543#true} assume !(259 == ~returnVal2~0);~s~0 := ~NP~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {93543#true} is VALID [2022-04-08 15:15:06,267 INFO L290 TraceCheckUtils]: 39: Hoare triple {93543#true} #res := ~returnVal2~0; {93543#true} is VALID [2022-04-08 15:15:06,267 INFO L290 TraceCheckUtils]: 40: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:06,267 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {93543#true} {93543#true} #1192#return; {93543#true} is VALID [2022-04-08 15:15:06,267 INFO L290 TraceCheckUtils]: 42: Hoare triple {93543#true} assume -9223372036854775808 <= #t~ret109 && #t~ret109 <= 9223372036854775807;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {93543#true} is VALID [2022-04-08 15:15:06,267 INFO L290 TraceCheckUtils]: 43: Hoare triple {93543#true} assume !(259 == ~status~3); {93543#true} is VALID [2022-04-08 15:15:06,267 INFO L290 TraceCheckUtils]: 44: Hoare triple {93543#true} assume !(~status~3 >= 0); {93702#(<= (+ KbFilter_PnP_~status~3 1) 0)} is VALID [2022-04-08 15:15:06,268 INFO L290 TraceCheckUtils]: 45: Hoare triple {93702#(<= (+ KbFilter_PnP_~status~3 1) 0)} call write~int(~status~3, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~3 % 4294967296 <= 2147483647 then ~status~3 % 4294967296 else ~status~3 % 4294967296 - 4294967296);call write~int(0, ~Irp.base, 52 + ~Irp.offset, 8); {93702#(<= (+ KbFilter_PnP_~status~3 1) 0)} is VALID [2022-04-08 15:15:06,268 INFO L272 TraceCheckUtils]: 46: Hoare triple {93702#(<= (+ KbFilter_PnP_~status~3 1) 0)} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {93724#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:15:06,268 INFO L290 TraceCheckUtils]: 47: Hoare triple {93724#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {93543#true} is VALID [2022-04-08 15:15:06,268 INFO L290 TraceCheckUtils]: 48: Hoare triple {93543#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {93543#true} is VALID [2022-04-08 15:15:06,268 INFO L290 TraceCheckUtils]: 49: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:06,269 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {93543#true} {93702#(<= (+ KbFilter_PnP_~status~3 1) 0)} #1196#return; {93702#(<= (+ KbFilter_PnP_~status~3 1) 0)} is VALID [2022-04-08 15:15:06,269 INFO L290 TraceCheckUtils]: 51: Hoare triple {93702#(<= (+ 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; {93707#(<= (+ |KbFilter_PnP_#res| 1) 0)} is VALID [2022-04-08 15:15:06,269 INFO L290 TraceCheckUtils]: 52: Hoare triple {93707#(<= (+ |KbFilter_PnP_#res| 1) 0)} assume true; {93707#(<= (+ |KbFilter_PnP_#res| 1) 0)} is VALID [2022-04-08 15:15:06,270 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {93707#(<= (+ |KbFilter_PnP_#res| 1) 0)} {93543#true} #1230#return; {93642#(<= (+ 1 |main_#t~ret174|) 0)} is VALID [2022-04-08 15:15:06,283 INFO L272 TraceCheckUtils]: 0: Hoare triple {93543#true} call ULTIMATE.init(); {93644#(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 15:15:06,283 INFO L290 TraceCheckUtils]: 1: Hoare triple {93644#(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; {93543#true} is VALID [2022-04-08 15:15:06,283 INFO L290 TraceCheckUtils]: 2: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:06,283 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {93543#true} {93543#true} #1270#return; {93543#true} is VALID [2022-04-08 15:15:06,283 INFO L272 TraceCheckUtils]: 4: Hoare triple {93543#true} call #t~ret213 := main(); {93543#true} is VALID [2022-04-08 15:15:06,283 INFO L290 TraceCheckUtils]: 5: Hoare triple {93543#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {93543#true} is VALID [2022-04-08 15:15:06,284 INFO L272 TraceCheckUtils]: 6: Hoare triple {93543#true} call _BLAST_init(); {93645#(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 15:15:06,284 INFO L290 TraceCheckUtils]: 7: Hoare triple {93645#(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; {93543#true} is VALID [2022-04-08 15:15:06,284 INFO L290 TraceCheckUtils]: 8: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:06,284 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {93543#true} {93543#true} #1216#return; {93543#true} is VALID [2022-04-08 15:15:06,285 INFO L272 TraceCheckUtils]: 10: Hoare triple {93543#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {93646#(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 15:15:06,285 INFO L290 TraceCheckUtils]: 11: Hoare triple {93646#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {93543#true} is VALID [2022-04-08 15:15:06,285 INFO L272 TraceCheckUtils]: 12: Hoare triple {93543#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {93543#true} is VALID [2022-04-08 15:15:06,285 INFO L290 TraceCheckUtils]: 13: Hoare triple {93543#true} ~cond := #in~cond; {93543#true} is VALID [2022-04-08 15:15:06,285 INFO L290 TraceCheckUtils]: 14: Hoare triple {93543#true} assume !(0 == ~cond); {93543#true} is VALID [2022-04-08 15:15:06,285 INFO L290 TraceCheckUtils]: 15: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:06,285 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {93543#true} {93543#true} #1254#return; {93543#true} is VALID [2022-04-08 15:15:06,285 INFO L290 TraceCheckUtils]: 17: Hoare triple {93543#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {93543#true} is VALID [2022-04-08 15:15:06,285 INFO L290 TraceCheckUtils]: 18: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:06,285 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {93543#true} {93543#true} #1218#return; {93543#true} is VALID [2022-04-08 15:15:06,285 INFO L290 TraceCheckUtils]: 20: Hoare triple {93543#true} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {93543#true} is VALID [2022-04-08 15:15:06,285 INFO L290 TraceCheckUtils]: 21: Hoare triple {93543#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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {93543#true} is VALID [2022-04-08 15:15:06,285 INFO L290 TraceCheckUtils]: 22: Hoare triple {93543#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {93543#true} is VALID [2022-04-08 15:15:06,286 INFO L272 TraceCheckUtils]: 23: Hoare triple {93543#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {93651#(and (= |old(#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 15:15:06,286 INFO L290 TraceCheckUtils]: 24: Hoare triple {93651#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {93543#true} is VALID [2022-04-08 15:15:06,287 INFO L272 TraceCheckUtils]: 25: Hoare triple {93543#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {93651#(and (= |old(#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 15:15:06,287 INFO L290 TraceCheckUtils]: 26: Hoare triple {93651#(and (= |old(#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; {93543#true} is VALID [2022-04-08 15:15:06,287 INFO L290 TraceCheckUtils]: 27: Hoare triple {93543#true} assume 0 == ~__BLAST_NONDET~5; {93543#true} is VALID [2022-04-08 15:15:06,288 INFO L290 TraceCheckUtils]: 28: Hoare triple {93543#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {93543#true} is VALID [2022-04-08 15:15:06,288 INFO L290 TraceCheckUtils]: 29: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:06,288 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {93543#true} {93543#true} #1176#return; {93543#true} is VALID [2022-04-08 15:15:06,288 INFO L290 TraceCheckUtils]: 31: Hoare triple {93543#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {93543#true} is VALID [2022-04-08 15:15:06,288 INFO L290 TraceCheckUtils]: 32: Hoare triple {93543#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {93543#true} is VALID [2022-04-08 15:15:06,288 INFO L272 TraceCheckUtils]: 33: Hoare triple {93543#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {93646#(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 15:15:06,288 INFO L290 TraceCheckUtils]: 34: Hoare triple {93646#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {93543#true} is VALID [2022-04-08 15:15:06,288 INFO L290 TraceCheckUtils]: 35: Hoare triple {93543#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {93543#true} is VALID [2022-04-08 15:15:06,289 INFO L290 TraceCheckUtils]: 36: Hoare triple {93543#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {93543#true} is VALID [2022-04-08 15:15:06,289 INFO L290 TraceCheckUtils]: 37: Hoare triple {93543#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {93543#true} is VALID [2022-04-08 15:15:06,289 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {93543#true} {93543#true} #1178#return; {93543#true} is VALID [2022-04-08 15:15:06,289 INFO L290 TraceCheckUtils]: 39: Hoare triple {93543#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {93543#true} is VALID [2022-04-08 15:15:06,289 INFO L272 TraceCheckUtils]: 40: Hoare triple {93543#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {93543#true} is VALID [2022-04-08 15:15:06,289 INFO L290 TraceCheckUtils]: 41: Hoare triple {93543#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; {93543#true} is VALID [2022-04-08 15:15:06,289 INFO L290 TraceCheckUtils]: 42: Hoare triple {93543#true} assume 0 == ~__BLAST_NONDET~2; {93543#true} is VALID [2022-04-08 15:15:06,289 INFO L290 TraceCheckUtils]: 43: Hoare triple {93543#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {93543#true} is VALID [2022-04-08 15:15:06,289 INFO L290 TraceCheckUtils]: 44: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:06,289 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {93543#true} {93543#true} #1180#return; {93543#true} is VALID [2022-04-08 15:15:06,289 INFO L290 TraceCheckUtils]: 46: Hoare triple {93543#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {93543#true} is VALID [2022-04-08 15:15:06,289 INFO L290 TraceCheckUtils]: 47: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:06,289 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {93543#true} {93543#true} #1220#return; {93543#true} is VALID [2022-04-08 15:15:06,289 INFO L290 TraceCheckUtils]: 49: Hoare triple {93543#true} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {93543#true} is VALID [2022-04-08 15:15:06,290 INFO L272 TraceCheckUtils]: 50: Hoare triple {93543#true} call stub_driver_init(); {93667#(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 15:15:06,290 INFO L290 TraceCheckUtils]: 51: Hoare triple {93667#(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; {93543#true} is VALID [2022-04-08 15:15:06,290 INFO L290 TraceCheckUtils]: 52: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:06,290 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {93543#true} {93543#true} #1222#return; {93543#true} is VALID [2022-04-08 15:15:06,290 INFO L290 TraceCheckUtils]: 54: Hoare triple {93543#true} assume !!(~status~5 >= 0); {93543#true} is VALID [2022-04-08 15:15:06,290 INFO L290 TraceCheckUtils]: 55: Hoare triple {93543#true} assume !(0 == ~__BLAST_NONDET~0); {93543#true} is VALID [2022-04-08 15:15:06,290 INFO L290 TraceCheckUtils]: 56: Hoare triple {93543#true} assume !(1 == ~__BLAST_NONDET~0); {93543#true} is VALID [2022-04-08 15:15:06,290 INFO L290 TraceCheckUtils]: 57: Hoare triple {93543#true} assume !(2 == ~__BLAST_NONDET~0); {93543#true} is VALID [2022-04-08 15:15:06,290 INFO L290 TraceCheckUtils]: 58: Hoare triple {93543#true} assume 3 == ~__BLAST_NONDET~0; {93543#true} is VALID [2022-04-08 15:15:06,291 INFO L272 TraceCheckUtils]: 59: Hoare triple {93543#true} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {93668#(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 15:15:06,291 INFO L290 TraceCheckUtils]: 60: Hoare triple {93668#(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(28);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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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); {93543#true} is VALID [2022-04-08 15:15:06,291 INFO L290 TraceCheckUtils]: 61: Hoare triple {93543#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {93543#true} is VALID [2022-04-08 15:15:06,291 INFO L290 TraceCheckUtils]: 62: Hoare triple {93543#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 180 + ~Irp.offset, 8);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 68;havoc #t~mem103.base, #t~mem103.offset; {93543#true} is VALID [2022-04-08 15:15:06,292 INFO L272 TraceCheckUtils]: 63: Hoare triple {93543#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, 52); {93646#(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 15:15:06,292 INFO L290 TraceCheckUtils]: 64: Hoare triple {93646#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {93543#true} is VALID [2022-04-08 15:15:06,292 INFO L290 TraceCheckUtils]: 65: Hoare triple {93543#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {93543#true} is VALID [2022-04-08 15:15:06,292 INFO L290 TraceCheckUtils]: 66: Hoare triple {93543#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {93543#true} is VALID [2022-04-08 15:15:06,292 INFO L290 TraceCheckUtils]: 67: Hoare triple {93543#true} assume #t~loopctr221 % 18446744073709551616 < size % 18446744073709551616;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 8);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 8);#t~loopctr221 := 8 + #t~loopctr221; {93543#true} is VALID [2022-04-08 15:15:06,292 INFO L290 TraceCheckUtils]: 68: Hoare triple {93543#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {93543#true} is VALID [2022-04-08 15:15:06,293 INFO L290 TraceCheckUtils]: 69: Hoare triple {93543#true} assume #res.base == dest.base && #res.offset == dest.offset; {93543#true} is VALID [2022-04-08 15:15:06,293 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {93543#true} {93543#true} #1186#return; {93543#true} is VALID [2022-04-08 15:15:06,293 INFO L290 TraceCheckUtils]: 71: Hoare triple {93543#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {93543#true} is VALID [2022-04-08 15:15:06,293 INFO L290 TraceCheckUtils]: 72: Hoare triple {93543#true} assume !(~s~0 != ~NP~0); {93543#true} is VALID [2022-04-08 15:15:06,293 INFO L290 TraceCheckUtils]: 73: Hoare triple {93543#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {93543#true} is VALID [2022-04-08 15:15:06,293 INFO L290 TraceCheckUtils]: 74: Hoare triple {93543#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 68;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 52 + ~irpSp___0~0.offset, 8);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 60 + ~irpSp___0~0.offset, 8);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, 16 + ~devExt~3.offset, 8); {93543#true} is VALID [2022-04-08 15:15:06,293 INFO L272 TraceCheckUtils]: 75: Hoare triple {93543#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {93708#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:15:06,294 INFO L290 TraceCheckUtils]: 76: Hoare triple {93708#(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; {93543#true} is VALID [2022-04-08 15:15:06,294 INFO L290 TraceCheckUtils]: 77: Hoare triple {93543#true} assume 0 != ~compRegistered~0; {93543#true} is VALID [2022-04-08 15:15:06,294 INFO L272 TraceCheckUtils]: 78: Hoare triple {93543#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {93720#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:15:06,294 INFO L290 TraceCheckUtils]: 79: Hoare triple {93720#(= ~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; {93543#true} is VALID [2022-04-08 15:15:06,296 INFO L272 TraceCheckUtils]: 80: Hoare triple {93543#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {93720#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:15:06,296 INFO L290 TraceCheckUtils]: 81: Hoare triple {93720#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {93543#true} is VALID [2022-04-08 15:15:06,296 INFO L290 TraceCheckUtils]: 82: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:06,296 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {93543#true} {93543#true} #1174#return; {93543#true} is VALID [2022-04-08 15:15:06,296 INFO L290 TraceCheckUtils]: 84: Hoare triple {93543#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {93543#true} is VALID [2022-04-08 15:15:06,296 INFO L290 TraceCheckUtils]: 85: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:06,296 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {93543#true} {93543#true} #1210#return; {93543#true} is VALID [2022-04-08 15:15:06,296 INFO L290 TraceCheckUtils]: 87: Hoare triple {93543#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {93543#true} is VALID [2022-04-08 15:15:06,296 INFO L290 TraceCheckUtils]: 88: Hoare triple {93543#true} assume -1073741802 == ~compRetStatus~0; {93543#true} is VALID [2022-04-08 15:15:06,296 INFO L272 TraceCheckUtils]: 89: Hoare triple {93543#true} call stubMoreProcessingRequired(); {93724#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:15:06,297 INFO L290 TraceCheckUtils]: 90: Hoare triple {93724#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {93543#true} is VALID [2022-04-08 15:15:06,297 INFO L290 TraceCheckUtils]: 91: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:06,297 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {93543#true} {93543#true} #1212#return; {93543#true} is VALID [2022-04-08 15:15:06,297 INFO L290 TraceCheckUtils]: 93: Hoare triple {93543#true} assume !(0 == ~__BLAST_NONDET~11); {93543#true} is VALID [2022-04-08 15:15:06,297 INFO L290 TraceCheckUtils]: 94: Hoare triple {93543#true} assume 1 == ~__BLAST_NONDET~11; {93543#true} is VALID [2022-04-08 15:15:06,297 INFO L290 TraceCheckUtils]: 95: Hoare triple {93543#true} ~returnVal2~0 := -1073741823; {93543#true} is VALID [2022-04-08 15:15:06,297 INFO L290 TraceCheckUtils]: 96: Hoare triple {93543#true} assume !(~s~0 == ~NP~0); {93543#true} is VALID [2022-04-08 15:15:06,297 INFO L290 TraceCheckUtils]: 97: Hoare triple {93543#true} assume ~s~0 == ~MPR1~0; {93543#true} is VALID [2022-04-08 15:15:06,297 INFO L290 TraceCheckUtils]: 98: Hoare triple {93543#true} assume !(259 == ~returnVal2~0);~s~0 := ~NP~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {93543#true} is VALID [2022-04-08 15:15:06,297 INFO L290 TraceCheckUtils]: 99: Hoare triple {93543#true} #res := ~returnVal2~0; {93543#true} is VALID [2022-04-08 15:15:06,297 INFO L290 TraceCheckUtils]: 100: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:06,297 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {93543#true} {93543#true} #1192#return; {93543#true} is VALID [2022-04-08 15:15:06,297 INFO L290 TraceCheckUtils]: 102: Hoare triple {93543#true} assume -9223372036854775808 <= #t~ret109 && #t~ret109 <= 9223372036854775807;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {93543#true} is VALID [2022-04-08 15:15:06,297 INFO L290 TraceCheckUtils]: 103: Hoare triple {93543#true} assume !(259 == ~status~3); {93543#true} is VALID [2022-04-08 15:15:06,298 INFO L290 TraceCheckUtils]: 104: Hoare triple {93543#true} assume !(~status~3 >= 0); {93702#(<= (+ KbFilter_PnP_~status~3 1) 0)} is VALID [2022-04-08 15:15:06,298 INFO L290 TraceCheckUtils]: 105: Hoare triple {93702#(<= (+ KbFilter_PnP_~status~3 1) 0)} call write~int(~status~3, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~3 % 4294967296 <= 2147483647 then ~status~3 % 4294967296 else ~status~3 % 4294967296 - 4294967296);call write~int(0, ~Irp.base, 52 + ~Irp.offset, 8); {93702#(<= (+ KbFilter_PnP_~status~3 1) 0)} is VALID [2022-04-08 15:15:06,298 INFO L272 TraceCheckUtils]: 106: Hoare triple {93702#(<= (+ KbFilter_PnP_~status~3 1) 0)} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {93724#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:15:06,298 INFO L290 TraceCheckUtils]: 107: Hoare triple {93724#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {93543#true} is VALID [2022-04-08 15:15:06,298 INFO L290 TraceCheckUtils]: 108: Hoare triple {93543#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {93543#true} is VALID [2022-04-08 15:15:06,298 INFO L290 TraceCheckUtils]: 109: Hoare triple {93543#true} assume true; {93543#true} is VALID [2022-04-08 15:15:06,299 INFO L284 TraceCheckUtils]: 110: Hoare quadruple {93543#true} {93702#(<= (+ KbFilter_PnP_~status~3 1) 0)} #1196#return; {93702#(<= (+ KbFilter_PnP_~status~3 1) 0)} is VALID [2022-04-08 15:15:06,299 INFO L290 TraceCheckUtils]: 111: Hoare triple {93702#(<= (+ 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; {93707#(<= (+ |KbFilter_PnP_#res| 1) 0)} is VALID [2022-04-08 15:15:06,299 INFO L290 TraceCheckUtils]: 112: Hoare triple {93707#(<= (+ |KbFilter_PnP_#res| 1) 0)} assume true; {93707#(<= (+ |KbFilter_PnP_#res| 1) 0)} is VALID [2022-04-08 15:15:06,300 INFO L284 TraceCheckUtils]: 113: Hoare quadruple {93707#(<= (+ |KbFilter_PnP_#res| 1) 0)} {93543#true} #1230#return; {93642#(<= (+ 1 |main_#t~ret174|) 0)} is VALID [2022-04-08 15:15:06,301 INFO L290 TraceCheckUtils]: 114: Hoare triple {93642#(<= (+ 1 |main_#t~ret174|) 0)} assume -9223372036854775808 <= #t~ret174 && #t~ret174 <= 9223372036854775807;~status~5 := #t~ret174;havoc #t~ret174; {93643#(<= (+ main_~status~5 1) 0)} is VALID [2022-04-08 15:15:06,301 INFO L290 TraceCheckUtils]: 115: Hoare triple {93643#(<= (+ main_~status~5 1) 0)} assume 0 != ~we_should_unload~0; {93643#(<= (+ main_~status~5 1) 0)} is VALID [2022-04-08 15:15:06,301 INFO L290 TraceCheckUtils]: 116: Hoare triple {93643#(<= (+ main_~status~5 1) 0)} assume !(1 == ~pended~0); {93643#(<= (+ main_~status~5 1) 0)} is VALID [2022-04-08 15:15:06,301 INFO L290 TraceCheckUtils]: 117: Hoare triple {93643#(<= (+ main_~status~5 1) 0)} assume !(1 == ~pended~0); {93643#(<= (+ main_~status~5 1) 0)} is VALID [2022-04-08 15:15:06,301 INFO L290 TraceCheckUtils]: 118: Hoare triple {93643#(<= (+ main_~status~5 1) 0)} assume !(~s~0 == ~UNLOADED~0); {93643#(<= (+ main_~status~5 1) 0)} is VALID [2022-04-08 15:15:06,302 INFO L290 TraceCheckUtils]: 119: Hoare triple {93643#(<= (+ main_~status~5 1) 0)} assume !(-1 == ~status~5); {93643#(<= (+ main_~status~5 1) 0)} is VALID [2022-04-08 15:15:06,302 INFO L290 TraceCheckUtils]: 120: Hoare triple {93643#(<= (+ main_~status~5 1) 0)} assume ~s~0 != ~SKIP2~0; {93643#(<= (+ main_~status~5 1) 0)} is VALID [2022-04-08 15:15:06,302 INFO L290 TraceCheckUtils]: 121: Hoare triple {93643#(<= (+ main_~status~5 1) 0)} assume ~s~0 != ~IPC~0; {93643#(<= (+ main_~status~5 1) 0)} is VALID [2022-04-08 15:15:06,302 INFO L290 TraceCheckUtils]: 122: Hoare triple {93643#(<= (+ main_~status~5 1) 0)} assume !(~s~0 != ~DC~0); {93643#(<= (+ main_~status~5 1) 0)} is VALID [2022-04-08 15:15:06,303 INFO L290 TraceCheckUtils]: 123: Hoare triple {93643#(<= (+ main_~status~5 1) 0)} assume !(1 == ~pended~0); {93643#(<= (+ main_~status~5 1) 0)} is VALID [2022-04-08 15:15:06,303 INFO L290 TraceCheckUtils]: 124: Hoare triple {93643#(<= (+ main_~status~5 1) 0)} assume ~s~0 == ~DC~0; {93643#(<= (+ main_~status~5 1) 0)} is VALID [2022-04-08 15:15:06,303 INFO L290 TraceCheckUtils]: 125: Hoare triple {93643#(<= (+ main_~status~5 1) 0)} assume 259 == ~status~5; {93544#false} is VALID [2022-04-08 15:15:06,303 INFO L272 TraceCheckUtils]: 126: Hoare triple {93544#false} call errorFn(); {93544#false} is VALID [2022-04-08 15:15:06,303 INFO L290 TraceCheckUtils]: 127: Hoare triple {93544#false} assume !false; {93544#false} is VALID [2022-04-08 15:15:06,304 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-04-08 15:15:06,304 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:15:06,304 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1971685942] [2022-04-08 15:15:06,304 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1971685942] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:15:06,304 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:15:06,304 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 15:15:06,304 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:15:06,304 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1707219976] [2022-04-08 15:15:06,304 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1707219976] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:15:06,304 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:15:06,304 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-08 15:15:06,304 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1296946904] [2022-04-08 15:15:06,304 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:15:06,305 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 6.266666666666667) internal successors, (94), 5 states have internal predecessors, (94), 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 128 [2022-04-08 15:15:06,305 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:15:06,305 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 6.266666666666667) internal successors, (94), 5 states have internal predecessors, (94), 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 15:15:06,410 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 128 edges. 128 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 15:15:06,410 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-08 15:15:06,410 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:15:06,411 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-08 15:15:06,411 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=163, Unknown=0, NotChecked=0, Total=210 [2022-04-08 15:15:06,411 INFO L87 Difference]: Start difference. First operand 277 states and 302 transitions. Second operand has 15 states, 15 states have (on average 6.266666666666667) internal successors, (94), 5 states have internal predecessors, (94), 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 15:15:08,545 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 15:15:14,097 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.06s for a HTC check with result INVALID. Formula has sorts [Array, Bool, Int], hasArrays=true, hasNonlinArith=false, quantifiers [] [2022-04-08 15:15:17,052 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:15:17,052 INFO L93 Difference]: Finished difference Result 317 states and 348 transitions. [2022-04-08 15:15:17,052 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 15:15:17,053 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 6.266666666666667) internal successors, (94), 5 states have internal predecessors, (94), 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 128 [2022-04-08 15:15:17,053 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:15:17,053 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 6.266666666666667) internal successors, (94), 5 states have internal predecessors, (94), 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 15:15:17,054 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 197 transitions. [2022-04-08 15:15:17,054 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 6.266666666666667) internal successors, (94), 5 states have internal predecessors, (94), 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 15:15:17,055 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 197 transitions. [2022-04-08 15:15:17,055 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 197 transitions. [2022-04-08 15:15:17,260 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 197 edges. 197 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 15:15:17,265 INFO L225 Difference]: With dead ends: 317 [2022-04-08 15:15:17,265 INFO L226 Difference]: Without dead ends: 297 [2022-04-08 15:15:17,265 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 15:15:17,265 INFO L913 BasicCegarLoop]: 133 mSDtfsCounter, 264 mSDsluCounter, 285 mSDsCounter, 0 mSdLazyCounter, 851 mSolverCounterSat, 151 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 266 SdHoareTripleChecker+Valid, 418 SdHoareTripleChecker+Invalid, 1003 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 151 IncrementalHoareTripleChecker+Valid, 851 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.0s IncrementalHoareTripleChecker+Time [2022-04-08 15:15:17,265 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [266 Valid, 418 Invalid, 1003 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [151 Valid, 851 Invalid, 1 Unknown, 0 Unchecked, 6.0s Time] [2022-04-08 15:15:17,266 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 297 states. [2022-04-08 15:15:17,947 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 297 to 275. [2022-04-08 15:15:17,948 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:15:17,967 INFO L82 GeneralOperation]: Start isEquivalent. First operand 297 states. Second operand has 275 states, 209 states have (on average 1.1100478468899522) internal successors, (232), 211 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 15:15:17,967 INFO L74 IsIncluded]: Start isIncluded. First operand 297 states. Second operand has 275 states, 209 states have (on average 1.1100478468899522) internal successors, (232), 211 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 15:15:17,968 INFO L87 Difference]: Start difference. First operand 297 states. Second operand has 275 states, 209 states have (on average 1.1100478468899522) internal successors, (232), 211 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 15:15:17,971 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:15:17,971 INFO L93 Difference]: Finished difference Result 297 states and 324 transitions. [2022-04-08 15:15:17,971 INFO L276 IsEmpty]: Start isEmpty. Operand 297 states and 324 transitions. [2022-04-08 15:15:17,971 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:15:17,971 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:15:17,971 INFO L74 IsIncluded]: Start isIncluded. First operand has 275 states, 209 states have (on average 1.1100478468899522) internal successors, (232), 211 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 297 states. [2022-04-08 15:15:17,972 INFO L87 Difference]: Start difference. First operand has 275 states, 209 states have (on average 1.1100478468899522) internal successors, (232), 211 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 297 states. [2022-04-08 15:15:17,975 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:15:17,975 INFO L93 Difference]: Finished difference Result 297 states and 324 transitions. [2022-04-08 15:15:17,975 INFO L276 IsEmpty]: Start isEmpty. Operand 297 states and 324 transitions. [2022-04-08 15:15:17,975 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:15:17,975 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:15:17,975 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:15:17,975 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:15:17,975 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 275 states, 209 states have (on average 1.1100478468899522) internal successors, (232), 211 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 15:15:17,979 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 275 states to 275 states and 298 transitions. [2022-04-08 15:15:17,979 INFO L78 Accepts]: Start accepts. Automaton has 275 states and 298 transitions. Word has length 128 [2022-04-08 15:15:17,979 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:15:17,979 INFO L478 AbstractCegarLoop]: Abstraction has 275 states and 298 transitions. [2022-04-08 15:15:17,979 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 6.266666666666667) internal successors, (94), 5 states have internal predecessors, (94), 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 15:15:17,979 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 275 states and 298 transitions. [2022-04-08 15:15:18,777 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 15:15:18,777 INFO L276 IsEmpty]: Start isEmpty. Operand 275 states and 298 transitions. [2022-04-08 15:15:18,778 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 130 [2022-04-08 15:15:18,778 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:15:18,778 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] [2022-04-08 15:15:18,778 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable38 [2022-04-08 15:15:18,778 INFO L403 AbstractCegarLoop]: === Iteration 40 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:15:18,778 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:15:18,778 INFO L85 PathProgramCache]: Analyzing trace with hash -792455600, now seen corresponding path program 1 times [2022-04-08 15:15:18,778 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:15:18,778 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1988746202] [2022-04-08 15:15:18,780 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 15:15:18,780 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 15:15:18,780 INFO L85 PathProgramCache]: Analyzing trace with hash -792455600, now seen corresponding path program 2 times [2022-04-08 15:15:18,780 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:15:18,780 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1999279385] [2022-04-08 15:15:18,781 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:15:18,781 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:15:18,865 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:18,943 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:15:18,945 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:18,950 INFO L290 TraceCheckUtils]: 0: Hoare triple {95619#(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; {95517#true} is VALID [2022-04-08 15:15:18,950 INFO L290 TraceCheckUtils]: 1: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:18,950 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {95517#true} {95517#true} #1270#return; {95517#true} is VALID [2022-04-08 15:15:18,973 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:15:18,974 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:18,978 INFO L290 TraceCheckUtils]: 0: Hoare triple {95620#(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; {95517#true} is VALID [2022-04-08 15:15:18,978 INFO L290 TraceCheckUtils]: 1: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:18,978 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {95517#true} {95517#true} #1216#return; {95517#true} is VALID [2022-04-08 15:15:18,985 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:15:18,990 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:18,996 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:15:18,996 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:18,999 INFO L290 TraceCheckUtils]: 0: Hoare triple {95517#true} ~cond := #in~cond; {95517#true} is VALID [2022-04-08 15:15:19,000 INFO L290 TraceCheckUtils]: 1: Hoare triple {95517#true} assume !(0 == ~cond); {95517#true} is VALID [2022-04-08 15:15:19,000 INFO L290 TraceCheckUtils]: 2: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:19,000 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {95517#true} {95517#true} #1254#return; {95517#true} is VALID [2022-04-08 15:15:19,000 INFO L290 TraceCheckUtils]: 0: Hoare triple {95621#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {95517#true} is VALID [2022-04-08 15:15:19,000 INFO L272 TraceCheckUtils]: 1: Hoare triple {95517#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {95517#true} is VALID [2022-04-08 15:15:19,000 INFO L290 TraceCheckUtils]: 2: Hoare triple {95517#true} ~cond := #in~cond; {95517#true} is VALID [2022-04-08 15:15:19,000 INFO L290 TraceCheckUtils]: 3: Hoare triple {95517#true} assume !(0 == ~cond); {95517#true} is VALID [2022-04-08 15:15:19,000 INFO L290 TraceCheckUtils]: 4: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:19,000 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {95517#true} {95517#true} #1254#return; {95517#true} is VALID [2022-04-08 15:15:19,000 INFO L290 TraceCheckUtils]: 6: Hoare triple {95517#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {95517#true} is VALID [2022-04-08 15:15:19,000 INFO L290 TraceCheckUtils]: 7: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:19,000 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {95517#true} {95517#true} #1218#return; {95517#true} is VALID [2022-04-08 15:15:19,010 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:15:19,021 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:19,029 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:15:19,032 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:19,037 INFO L290 TraceCheckUtils]: 0: Hoare triple {95626#(and (= |old(#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; {95517#true} is VALID [2022-04-08 15:15:19,037 INFO L290 TraceCheckUtils]: 1: Hoare triple {95517#true} assume 0 == ~__BLAST_NONDET~5; {95517#true} is VALID [2022-04-08 15:15:19,037 INFO L290 TraceCheckUtils]: 2: Hoare triple {95517#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {95517#true} is VALID [2022-04-08 15:15:19,037 INFO L290 TraceCheckUtils]: 3: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:19,037 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {95517#true} {95517#true} #1176#return; {95517#true} is VALID [2022-04-08 15:15:19,037 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 15:15:19,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:19,043 INFO L290 TraceCheckUtils]: 0: Hoare triple {95621#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {95517#true} is VALID [2022-04-08 15:15:19,043 INFO L290 TraceCheckUtils]: 1: Hoare triple {95517#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {95517#true} is VALID [2022-04-08 15:15:19,043 INFO L290 TraceCheckUtils]: 2: Hoare triple {95517#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {95517#true} is VALID [2022-04-08 15:15:19,043 INFO L290 TraceCheckUtils]: 3: Hoare triple {95517#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {95517#true} is VALID [2022-04-08 15:15:19,043 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {95517#true} {95517#true} #1178#return; {95517#true} is VALID [2022-04-08 15:15:19,043 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-08 15:15:19,044 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:19,048 INFO L290 TraceCheckUtils]: 0: Hoare triple {95517#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; {95517#true} is VALID [2022-04-08 15:15:19,048 INFO L290 TraceCheckUtils]: 1: Hoare triple {95517#true} assume 0 == ~__BLAST_NONDET~2; {95517#true} is VALID [2022-04-08 15:15:19,048 INFO L290 TraceCheckUtils]: 2: Hoare triple {95517#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {95517#true} is VALID [2022-04-08 15:15:19,048 INFO L290 TraceCheckUtils]: 3: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:19,048 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {95517#true} {95517#true} #1180#return; {95517#true} is VALID [2022-04-08 15:15:19,048 INFO L290 TraceCheckUtils]: 0: Hoare triple {95626#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {95517#true} is VALID [2022-04-08 15:15:19,049 INFO L272 TraceCheckUtils]: 1: Hoare triple {95517#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {95626#(and (= |old(#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 15:15:19,049 INFO L290 TraceCheckUtils]: 2: Hoare triple {95626#(and (= |old(#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; {95517#true} is VALID [2022-04-08 15:15:19,049 INFO L290 TraceCheckUtils]: 3: Hoare triple {95517#true} assume 0 == ~__BLAST_NONDET~5; {95517#true} is VALID [2022-04-08 15:15:19,049 INFO L290 TraceCheckUtils]: 4: Hoare triple {95517#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {95517#true} is VALID [2022-04-08 15:15:19,049 INFO L290 TraceCheckUtils]: 5: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:19,050 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {95517#true} {95517#true} #1176#return; {95517#true} is VALID [2022-04-08 15:15:19,050 INFO L290 TraceCheckUtils]: 7: Hoare triple {95517#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {95517#true} is VALID [2022-04-08 15:15:19,050 INFO L290 TraceCheckUtils]: 8: Hoare triple {95517#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {95517#true} is VALID [2022-04-08 15:15:19,050 INFO L272 TraceCheckUtils]: 9: Hoare triple {95517#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {95621#(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 15:15:19,050 INFO L290 TraceCheckUtils]: 10: Hoare triple {95621#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {95517#true} is VALID [2022-04-08 15:15:19,050 INFO L290 TraceCheckUtils]: 11: Hoare triple {95517#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {95517#true} is VALID [2022-04-08 15:15:19,050 INFO L290 TraceCheckUtils]: 12: Hoare triple {95517#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {95517#true} is VALID [2022-04-08 15:15:19,050 INFO L290 TraceCheckUtils]: 13: Hoare triple {95517#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {95517#true} is VALID [2022-04-08 15:15:19,051 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {95517#true} {95517#true} #1178#return; {95517#true} is VALID [2022-04-08 15:15:19,051 INFO L290 TraceCheckUtils]: 15: Hoare triple {95517#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {95517#true} is VALID [2022-04-08 15:15:19,051 INFO L272 TraceCheckUtils]: 16: Hoare triple {95517#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {95517#true} is VALID [2022-04-08 15:15:19,051 INFO L290 TraceCheckUtils]: 17: Hoare triple {95517#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; {95517#true} is VALID [2022-04-08 15:15:19,051 INFO L290 TraceCheckUtils]: 18: Hoare triple {95517#true} assume 0 == ~__BLAST_NONDET~2; {95517#true} is VALID [2022-04-08 15:15:19,051 INFO L290 TraceCheckUtils]: 19: Hoare triple {95517#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {95517#true} is VALID [2022-04-08 15:15:19,051 INFO L290 TraceCheckUtils]: 20: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:19,051 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {95517#true} {95517#true} #1180#return; {95517#true} is VALID [2022-04-08 15:15:19,051 INFO L290 TraceCheckUtils]: 22: Hoare triple {95517#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {95517#true} is VALID [2022-04-08 15:15:19,051 INFO L290 TraceCheckUtils]: 23: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:19,051 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {95517#true} {95517#true} #1220#return; {95517#true} is VALID [2022-04-08 15:15:19,065 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-08 15:15:19,065 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:19,069 INFO L290 TraceCheckUtils]: 0: Hoare triple {95642#(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; {95517#true} is VALID [2022-04-08 15:15:19,069 INFO L290 TraceCheckUtils]: 1: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:19,070 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {95517#true} {95517#true} #1222#return; {95517#true} is VALID [2022-04-08 15:15:19,090 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 59 [2022-04-08 15:15:19,113 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:19,154 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-04-08 15:15:19,158 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:19,163 INFO L290 TraceCheckUtils]: 0: Hoare triple {95621#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {95517#true} is VALID [2022-04-08 15:15:19,164 INFO L290 TraceCheckUtils]: 1: Hoare triple {95517#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {95517#true} is VALID [2022-04-08 15:15:19,164 INFO L290 TraceCheckUtils]: 2: Hoare triple {95517#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {95517#true} is VALID [2022-04-08 15:15:19,164 INFO L290 TraceCheckUtils]: 3: Hoare triple {95517#true} assume #t~loopctr221 % 18446744073709551616 < size % 18446744073709551616;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 8);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 8);#t~loopctr221 := 8 + #t~loopctr221; {95517#true} is VALID [2022-04-08 15:15:19,164 INFO L290 TraceCheckUtils]: 4: Hoare triple {95517#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {95517#true} is VALID [2022-04-08 15:15:19,164 INFO L290 TraceCheckUtils]: 5: Hoare triple {95517#true} assume #res.base == dest.base && #res.offset == dest.offset; {95517#true} is VALID [2022-04-08 15:15:19,164 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {95517#true} {95517#true} #1186#return; {95517#true} is VALID [2022-04-08 15:15:19,175 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 15 [2022-04-08 15:15:19,180 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:19,237 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 15:15:19,239 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:19,243 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:15:19,244 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:19,247 INFO L290 TraceCheckUtils]: 0: Hoare triple {95697#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {95517#true} is VALID [2022-04-08 15:15:19,247 INFO L290 TraceCheckUtils]: 1: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:19,247 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {95517#true} {95517#true} #1174#return; {95517#true} is VALID [2022-04-08 15:15:19,247 INFO L290 TraceCheckUtils]: 0: Hoare triple {95697#(= ~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; {95517#true} is VALID [2022-04-08 15:15:19,248 INFO L272 TraceCheckUtils]: 1: Hoare triple {95517#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {95697#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:15:19,248 INFO L290 TraceCheckUtils]: 2: Hoare triple {95697#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {95517#true} is VALID [2022-04-08 15:15:19,248 INFO L290 TraceCheckUtils]: 3: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:19,248 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {95517#true} {95517#true} #1174#return; {95517#true} is VALID [2022-04-08 15:15:19,248 INFO L290 TraceCheckUtils]: 5: Hoare triple {95517#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {95517#true} is VALID [2022-04-08 15:15:19,248 INFO L290 TraceCheckUtils]: 6: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:19,248 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {95517#true} {95517#true} #1210#return; {95517#true} is VALID [2022-04-08 15:15:19,259 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 15:15:19,259 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:19,263 INFO L290 TraceCheckUtils]: 0: Hoare triple {95701#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {95517#true} is VALID [2022-04-08 15:15:19,263 INFO L290 TraceCheckUtils]: 1: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:19,263 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {95517#true} {95517#true} #1212#return; {95517#true} is VALID [2022-04-08 15:15:19,263 INFO L290 TraceCheckUtils]: 0: Hoare triple {95683#(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; {95517#true} is VALID [2022-04-08 15:15:19,263 INFO L290 TraceCheckUtils]: 1: Hoare triple {95517#true} assume 0 != ~compRegistered~0; {95517#true} is VALID [2022-04-08 15:15:19,264 INFO L272 TraceCheckUtils]: 2: Hoare triple {95517#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {95697#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:15:19,264 INFO L290 TraceCheckUtils]: 3: Hoare triple {95697#(= ~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; {95517#true} is VALID [2022-04-08 15:15:19,265 INFO L272 TraceCheckUtils]: 4: Hoare triple {95517#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {95697#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:15:19,265 INFO L290 TraceCheckUtils]: 5: Hoare triple {95697#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {95517#true} is VALID [2022-04-08 15:15:19,265 INFO L290 TraceCheckUtils]: 6: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:19,265 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {95517#true} {95517#true} #1174#return; {95517#true} is VALID [2022-04-08 15:15:19,265 INFO L290 TraceCheckUtils]: 8: Hoare triple {95517#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {95517#true} is VALID [2022-04-08 15:15:19,265 INFO L290 TraceCheckUtils]: 9: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:19,265 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {95517#true} {95517#true} #1210#return; {95517#true} is VALID [2022-04-08 15:15:19,265 INFO L290 TraceCheckUtils]: 11: Hoare triple {95517#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {95517#true} is VALID [2022-04-08 15:15:19,265 INFO L290 TraceCheckUtils]: 12: Hoare triple {95517#true} assume -1073741802 == ~compRetStatus~0; {95517#true} is VALID [2022-04-08 15:15:19,266 INFO L272 TraceCheckUtils]: 13: Hoare triple {95517#true} call stubMoreProcessingRequired(); {95701#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:15:19,266 INFO L290 TraceCheckUtils]: 14: Hoare triple {95701#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {95517#true} is VALID [2022-04-08 15:15:19,266 INFO L290 TraceCheckUtils]: 15: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:19,266 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {95517#true} {95517#true} #1212#return; {95517#true} is VALID [2022-04-08 15:15:19,266 INFO L290 TraceCheckUtils]: 17: Hoare triple {95517#true} assume !(0 == ~__BLAST_NONDET~11); {95517#true} is VALID [2022-04-08 15:15:19,266 INFO L290 TraceCheckUtils]: 18: Hoare triple {95517#true} assume 1 == ~__BLAST_NONDET~11; {95517#true} is VALID [2022-04-08 15:15:19,266 INFO L290 TraceCheckUtils]: 19: Hoare triple {95517#true} ~returnVal2~0 := -1073741823; {95695#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 15:15:19,266 INFO L290 TraceCheckUtils]: 20: Hoare triple {95695#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} assume !(~s~0 == ~NP~0); {95695#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 15:15:19,267 INFO L290 TraceCheckUtils]: 21: Hoare triple {95695#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} assume ~s~0 == ~MPR1~0; {95695#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 15:15:19,267 INFO L290 TraceCheckUtils]: 22: Hoare triple {95695#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} assume !(259 == ~returnVal2~0);~s~0 := ~NP~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {95695#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 15:15:19,267 INFO L290 TraceCheckUtils]: 23: Hoare triple {95695#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} #res := ~returnVal2~0; {95696#(<= (+ |IofCallDriver_#res| 1073741823) 0)} is VALID [2022-04-08 15:15:19,268 INFO L290 TraceCheckUtils]: 24: Hoare triple {95696#(<= (+ |IofCallDriver_#res| 1073741823) 0)} assume true; {95696#(<= (+ |IofCallDriver_#res| 1073741823) 0)} is VALID [2022-04-08 15:15:19,268 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {95696#(<= (+ |IofCallDriver_#res| 1073741823) 0)} {95517#true} #1192#return; {95677#(<= (+ 1073741823 |KbFilter_PnP_#t~ret109|) 0)} is VALID [2022-04-08 15:15:19,268 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 47 [2022-04-08 15:15:19,269 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:19,273 INFO L290 TraceCheckUtils]: 0: Hoare triple {95701#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {95517#true} is VALID [2022-04-08 15:15:19,273 INFO L290 TraceCheckUtils]: 1: Hoare triple {95517#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {95517#true} is VALID [2022-04-08 15:15:19,273 INFO L290 TraceCheckUtils]: 2: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:19,273 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {95517#true} {95518#false} #1196#return; {95518#false} is VALID [2022-04-08 15:15:19,273 INFO L290 TraceCheckUtils]: 0: Hoare triple {95643#(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(28);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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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); {95517#true} is VALID [2022-04-08 15:15:19,273 INFO L290 TraceCheckUtils]: 1: Hoare triple {95517#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {95517#true} is VALID [2022-04-08 15:15:19,273 INFO L290 TraceCheckUtils]: 2: Hoare triple {95517#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 180 + ~Irp.offset, 8);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 68;havoc #t~mem103.base, #t~mem103.offset; {95517#true} is VALID [2022-04-08 15:15:19,274 INFO L272 TraceCheckUtils]: 3: Hoare triple {95517#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, 52); {95621#(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 15:15:19,274 INFO L290 TraceCheckUtils]: 4: Hoare triple {95621#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {95517#true} is VALID [2022-04-08 15:15:19,274 INFO L290 TraceCheckUtils]: 5: Hoare triple {95517#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {95517#true} is VALID [2022-04-08 15:15:19,274 INFO L290 TraceCheckUtils]: 6: Hoare triple {95517#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {95517#true} is VALID [2022-04-08 15:15:19,274 INFO L290 TraceCheckUtils]: 7: Hoare triple {95517#true} assume #t~loopctr221 % 18446744073709551616 < size % 18446744073709551616;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 8);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 8);#t~loopctr221 := 8 + #t~loopctr221; {95517#true} is VALID [2022-04-08 15:15:19,274 INFO L290 TraceCheckUtils]: 8: Hoare triple {95517#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {95517#true} is VALID [2022-04-08 15:15:19,274 INFO L290 TraceCheckUtils]: 9: Hoare triple {95517#true} assume #res.base == dest.base && #res.offset == dest.offset; {95517#true} is VALID [2022-04-08 15:15:19,274 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {95517#true} {95517#true} #1186#return; {95517#true} is VALID [2022-04-08 15:15:19,274 INFO L290 TraceCheckUtils]: 11: Hoare triple {95517#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {95517#true} is VALID [2022-04-08 15:15:19,274 INFO L290 TraceCheckUtils]: 12: Hoare triple {95517#true} assume !(~s~0 != ~NP~0); {95517#true} is VALID [2022-04-08 15:15:19,274 INFO L290 TraceCheckUtils]: 13: Hoare triple {95517#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {95517#true} is VALID [2022-04-08 15:15:19,274 INFO L290 TraceCheckUtils]: 14: Hoare triple {95517#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 68;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 52 + ~irpSp___0~0.offset, 8);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 60 + ~irpSp___0~0.offset, 8);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, 16 + ~devExt~3.offset, 8); {95517#true} is VALID [2022-04-08 15:15:19,275 INFO L272 TraceCheckUtils]: 15: Hoare triple {95517#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {95683#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:15:19,275 INFO L290 TraceCheckUtils]: 16: Hoare triple {95683#(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; {95517#true} is VALID [2022-04-08 15:15:19,275 INFO L290 TraceCheckUtils]: 17: Hoare triple {95517#true} assume 0 != ~compRegistered~0; {95517#true} is VALID [2022-04-08 15:15:19,276 INFO L272 TraceCheckUtils]: 18: Hoare triple {95517#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {95697#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:15:19,276 INFO L290 TraceCheckUtils]: 19: Hoare triple {95697#(= ~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; {95517#true} is VALID [2022-04-08 15:15:19,277 INFO L272 TraceCheckUtils]: 20: Hoare triple {95517#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {95697#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:15:19,277 INFO L290 TraceCheckUtils]: 21: Hoare triple {95697#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {95517#true} is VALID [2022-04-08 15:15:19,277 INFO L290 TraceCheckUtils]: 22: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:19,277 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {95517#true} {95517#true} #1174#return; {95517#true} is VALID [2022-04-08 15:15:19,277 INFO L290 TraceCheckUtils]: 24: Hoare triple {95517#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {95517#true} is VALID [2022-04-08 15:15:19,277 INFO L290 TraceCheckUtils]: 25: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:19,277 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {95517#true} {95517#true} #1210#return; {95517#true} is VALID [2022-04-08 15:15:19,277 INFO L290 TraceCheckUtils]: 27: Hoare triple {95517#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {95517#true} is VALID [2022-04-08 15:15:19,277 INFO L290 TraceCheckUtils]: 28: Hoare triple {95517#true} assume -1073741802 == ~compRetStatus~0; {95517#true} is VALID [2022-04-08 15:15:19,277 INFO L272 TraceCheckUtils]: 29: Hoare triple {95517#true} call stubMoreProcessingRequired(); {95701#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:15:19,277 INFO L290 TraceCheckUtils]: 30: Hoare triple {95701#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {95517#true} is VALID [2022-04-08 15:15:19,277 INFO L290 TraceCheckUtils]: 31: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:19,277 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {95517#true} {95517#true} #1212#return; {95517#true} is VALID [2022-04-08 15:15:19,278 INFO L290 TraceCheckUtils]: 33: Hoare triple {95517#true} assume !(0 == ~__BLAST_NONDET~11); {95517#true} is VALID [2022-04-08 15:15:19,278 INFO L290 TraceCheckUtils]: 34: Hoare triple {95517#true} assume 1 == ~__BLAST_NONDET~11; {95517#true} is VALID [2022-04-08 15:15:19,278 INFO L290 TraceCheckUtils]: 35: Hoare triple {95517#true} ~returnVal2~0 := -1073741823; {95695#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 15:15:19,278 INFO L290 TraceCheckUtils]: 36: Hoare triple {95695#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} assume !(~s~0 == ~NP~0); {95695#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 15:15:19,278 INFO L290 TraceCheckUtils]: 37: Hoare triple {95695#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} assume ~s~0 == ~MPR1~0; {95695#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 15:15:19,279 INFO L290 TraceCheckUtils]: 38: Hoare triple {95695#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} assume !(259 == ~returnVal2~0);~s~0 := ~NP~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {95695#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 15:15:19,279 INFO L290 TraceCheckUtils]: 39: Hoare triple {95695#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} #res := ~returnVal2~0; {95696#(<= (+ |IofCallDriver_#res| 1073741823) 0)} is VALID [2022-04-08 15:15:19,279 INFO L290 TraceCheckUtils]: 40: Hoare triple {95696#(<= (+ |IofCallDriver_#res| 1073741823) 0)} assume true; {95696#(<= (+ |IofCallDriver_#res| 1073741823) 0)} is VALID [2022-04-08 15:15:19,280 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {95696#(<= (+ |IofCallDriver_#res| 1073741823) 0)} {95517#true} #1192#return; {95677#(<= (+ 1073741823 |KbFilter_PnP_#t~ret109|) 0)} is VALID [2022-04-08 15:15:19,280 INFO L290 TraceCheckUtils]: 42: Hoare triple {95677#(<= (+ 1073741823 |KbFilter_PnP_#t~ret109|) 0)} assume -9223372036854775808 <= #t~ret109 && #t~ret109 <= 9223372036854775807;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {95678#(<= (+ KbFilter_PnP_~status~3 1073741823) 0)} is VALID [2022-04-08 15:15:19,281 INFO L290 TraceCheckUtils]: 43: Hoare triple {95678#(<= (+ KbFilter_PnP_~status~3 1073741823) 0)} assume !(259 == ~status~3); {95678#(<= (+ KbFilter_PnP_~status~3 1073741823) 0)} is VALID [2022-04-08 15:15:19,281 INFO L290 TraceCheckUtils]: 44: Hoare triple {95678#(<= (+ KbFilter_PnP_~status~3 1073741823) 0)} assume ~status~3 >= 0; {95518#false} is VALID [2022-04-08 15:15:19,281 INFO L290 TraceCheckUtils]: 45: Hoare triple {95518#false} assume ~myStatus~0 >= 0;call write~int(1, ~devExt~3.base, 100 + ~devExt~3.offset, 1);call write~int(0, ~devExt~3.base, 102 + ~devExt~3.offset, 1);call write~int(0, ~devExt~3.base, 101 + ~devExt~3.offset, 1); {95518#false} is VALID [2022-04-08 15:15:19,281 INFO L290 TraceCheckUtils]: 46: Hoare triple {95518#false} call write~int(~status~3, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~3 % 4294967296 <= 2147483647 then ~status~3 % 4294967296 else ~status~3 % 4294967296 - 4294967296);call write~int(0, ~Irp.base, 52 + ~Irp.offset, 8); {95518#false} is VALID [2022-04-08 15:15:19,281 INFO L272 TraceCheckUtils]: 47: Hoare triple {95518#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {95701#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:15:19,281 INFO L290 TraceCheckUtils]: 48: Hoare triple {95701#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {95517#true} is VALID [2022-04-08 15:15:19,281 INFO L290 TraceCheckUtils]: 49: Hoare triple {95517#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {95517#true} is VALID [2022-04-08 15:15:19,281 INFO L290 TraceCheckUtils]: 50: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:19,281 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {95517#true} {95518#false} #1196#return; {95518#false} is VALID [2022-04-08 15:15:19,281 INFO L290 TraceCheckUtils]: 52: Hoare triple {95518#false} #res := ~status~3;call ULTIMATE.dealloc(~#event~1.base, ~#event~1.offset);havoc ~#event~1.base, ~#event~1.offset; {95518#false} is VALID [2022-04-08 15:15:19,282 INFO L290 TraceCheckUtils]: 53: Hoare triple {95518#false} assume true; {95518#false} is VALID [2022-04-08 15:15:19,282 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {95518#false} {95517#true} #1230#return; {95617#(not (= 259 |main_#t~ret174|))} is VALID [2022-04-08 15:15:19,283 INFO L272 TraceCheckUtils]: 0: Hoare triple {95517#true} call ULTIMATE.init(); {95619#(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 15:15:19,283 INFO L290 TraceCheckUtils]: 1: Hoare triple {95619#(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; {95517#true} is VALID [2022-04-08 15:15:19,283 INFO L290 TraceCheckUtils]: 2: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:19,283 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {95517#true} {95517#true} #1270#return; {95517#true} is VALID [2022-04-08 15:15:19,283 INFO L272 TraceCheckUtils]: 4: Hoare triple {95517#true} call #t~ret213 := main(); {95517#true} is VALID [2022-04-08 15:15:19,283 INFO L290 TraceCheckUtils]: 5: Hoare triple {95517#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {95517#true} is VALID [2022-04-08 15:15:19,284 INFO L272 TraceCheckUtils]: 6: Hoare triple {95517#true} call _BLAST_init(); {95620#(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 15:15:19,284 INFO L290 TraceCheckUtils]: 7: Hoare triple {95620#(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; {95517#true} is VALID [2022-04-08 15:15:19,284 INFO L290 TraceCheckUtils]: 8: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:19,284 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {95517#true} {95517#true} #1216#return; {95517#true} is VALID [2022-04-08 15:15:19,285 INFO L272 TraceCheckUtils]: 10: Hoare triple {95517#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {95621#(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 15:15:19,285 INFO L290 TraceCheckUtils]: 11: Hoare triple {95621#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {95517#true} is VALID [2022-04-08 15:15:19,285 INFO L272 TraceCheckUtils]: 12: Hoare triple {95517#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {95517#true} is VALID [2022-04-08 15:15:19,285 INFO L290 TraceCheckUtils]: 13: Hoare triple {95517#true} ~cond := #in~cond; {95517#true} is VALID [2022-04-08 15:15:19,285 INFO L290 TraceCheckUtils]: 14: Hoare triple {95517#true} assume !(0 == ~cond); {95517#true} is VALID [2022-04-08 15:15:19,285 INFO L290 TraceCheckUtils]: 15: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:19,285 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {95517#true} {95517#true} #1254#return; {95517#true} is VALID [2022-04-08 15:15:19,285 INFO L290 TraceCheckUtils]: 17: Hoare triple {95517#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {95517#true} is VALID [2022-04-08 15:15:19,285 INFO L290 TraceCheckUtils]: 18: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:19,285 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {95517#true} {95517#true} #1218#return; {95517#true} is VALID [2022-04-08 15:15:19,285 INFO L290 TraceCheckUtils]: 20: Hoare triple {95517#true} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {95517#true} is VALID [2022-04-08 15:15:19,285 INFO L290 TraceCheckUtils]: 21: Hoare triple {95517#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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {95517#true} is VALID [2022-04-08 15:15:19,286 INFO L290 TraceCheckUtils]: 22: Hoare triple {95517#true} assume !(0 == ~irp_choice~0); {95517#true} is VALID [2022-04-08 15:15:19,286 INFO L272 TraceCheckUtils]: 23: Hoare triple {95517#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {95626#(and (= |old(#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 15:15:19,286 INFO L290 TraceCheckUtils]: 24: Hoare triple {95626#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {95517#true} is VALID [2022-04-08 15:15:19,287 INFO L272 TraceCheckUtils]: 25: Hoare triple {95517#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {95626#(and (= |old(#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 15:15:19,288 INFO L290 TraceCheckUtils]: 26: Hoare triple {95626#(and (= |old(#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; {95517#true} is VALID [2022-04-08 15:15:19,288 INFO L290 TraceCheckUtils]: 27: Hoare triple {95517#true} assume 0 == ~__BLAST_NONDET~5; {95517#true} is VALID [2022-04-08 15:15:19,288 INFO L290 TraceCheckUtils]: 28: Hoare triple {95517#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {95517#true} is VALID [2022-04-08 15:15:19,288 INFO L290 TraceCheckUtils]: 29: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:19,288 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {95517#true} {95517#true} #1176#return; {95517#true} is VALID [2022-04-08 15:15:19,288 INFO L290 TraceCheckUtils]: 31: Hoare triple {95517#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {95517#true} is VALID [2022-04-08 15:15:19,288 INFO L290 TraceCheckUtils]: 32: Hoare triple {95517#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {95517#true} is VALID [2022-04-08 15:15:19,288 INFO L272 TraceCheckUtils]: 33: Hoare triple {95517#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {95621#(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 15:15:19,289 INFO L290 TraceCheckUtils]: 34: Hoare triple {95621#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {95517#true} is VALID [2022-04-08 15:15:19,289 INFO L290 TraceCheckUtils]: 35: Hoare triple {95517#true} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {95517#true} is VALID [2022-04-08 15:15:19,289 INFO L290 TraceCheckUtils]: 36: Hoare triple {95517#true} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {95517#true} is VALID [2022-04-08 15:15:19,289 INFO L290 TraceCheckUtils]: 37: Hoare triple {95517#true} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {95517#true} is VALID [2022-04-08 15:15:19,289 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {95517#true} {95517#true} #1178#return; {95517#true} is VALID [2022-04-08 15:15:19,289 INFO L290 TraceCheckUtils]: 39: Hoare triple {95517#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {95517#true} is VALID [2022-04-08 15:15:19,289 INFO L272 TraceCheckUtils]: 40: Hoare triple {95517#true} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {95517#true} is VALID [2022-04-08 15:15:19,289 INFO L290 TraceCheckUtils]: 41: Hoare triple {95517#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; {95517#true} is VALID [2022-04-08 15:15:19,289 INFO L290 TraceCheckUtils]: 42: Hoare triple {95517#true} assume 0 == ~__BLAST_NONDET~2; {95517#true} is VALID [2022-04-08 15:15:19,289 INFO L290 TraceCheckUtils]: 43: Hoare triple {95517#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {95517#true} is VALID [2022-04-08 15:15:19,289 INFO L290 TraceCheckUtils]: 44: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:19,289 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {95517#true} {95517#true} #1180#return; {95517#true} is VALID [2022-04-08 15:15:19,289 INFO L290 TraceCheckUtils]: 46: Hoare triple {95517#true} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {95517#true} is VALID [2022-04-08 15:15:19,289 INFO L290 TraceCheckUtils]: 47: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:19,289 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {95517#true} {95517#true} #1220#return; {95517#true} is VALID [2022-04-08 15:15:19,289 INFO L290 TraceCheckUtils]: 49: Hoare triple {95517#true} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {95517#true} is VALID [2022-04-08 15:15:19,290 INFO L272 TraceCheckUtils]: 50: Hoare triple {95517#true} call stub_driver_init(); {95642#(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 15:15:19,290 INFO L290 TraceCheckUtils]: 51: Hoare triple {95642#(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; {95517#true} is VALID [2022-04-08 15:15:19,290 INFO L290 TraceCheckUtils]: 52: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:19,290 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {95517#true} {95517#true} #1222#return; {95517#true} is VALID [2022-04-08 15:15:19,290 INFO L290 TraceCheckUtils]: 54: Hoare triple {95517#true} assume !!(~status~5 >= 0); {95517#true} is VALID [2022-04-08 15:15:19,290 INFO L290 TraceCheckUtils]: 55: Hoare triple {95517#true} assume !(0 == ~__BLAST_NONDET~0); {95517#true} is VALID [2022-04-08 15:15:19,290 INFO L290 TraceCheckUtils]: 56: Hoare triple {95517#true} assume !(1 == ~__BLAST_NONDET~0); {95517#true} is VALID [2022-04-08 15:15:19,290 INFO L290 TraceCheckUtils]: 57: Hoare triple {95517#true} assume !(2 == ~__BLAST_NONDET~0); {95517#true} is VALID [2022-04-08 15:15:19,290 INFO L290 TraceCheckUtils]: 58: Hoare triple {95517#true} assume 3 == ~__BLAST_NONDET~0; {95517#true} is VALID [2022-04-08 15:15:19,291 INFO L272 TraceCheckUtils]: 59: Hoare triple {95517#true} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {95643#(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 15:15:19,291 INFO L290 TraceCheckUtils]: 60: Hoare triple {95643#(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(28);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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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); {95517#true} is VALID [2022-04-08 15:15:19,292 INFO L290 TraceCheckUtils]: 61: Hoare triple {95517#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {95517#true} is VALID [2022-04-08 15:15:19,292 INFO L290 TraceCheckUtils]: 62: Hoare triple {95517#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 180 + ~Irp.offset, 8);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 68;havoc #t~mem103.base, #t~mem103.offset; {95517#true} is VALID [2022-04-08 15:15:19,292 INFO L272 TraceCheckUtils]: 63: Hoare triple {95517#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, 52); {95621#(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 15:15:19,292 INFO L290 TraceCheckUtils]: 64: Hoare triple {95621#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {95517#true} is VALID [2022-04-08 15:15:19,292 INFO L290 TraceCheckUtils]: 65: Hoare triple {95517#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {95517#true} is VALID [2022-04-08 15:15:19,292 INFO L290 TraceCheckUtils]: 66: Hoare triple {95517#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {95517#true} is VALID [2022-04-08 15:15:19,293 INFO L290 TraceCheckUtils]: 67: Hoare triple {95517#true} assume #t~loopctr221 % 18446744073709551616 < size % 18446744073709551616;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 8);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 8);#t~loopctr221 := 8 + #t~loopctr221; {95517#true} is VALID [2022-04-08 15:15:19,293 INFO L290 TraceCheckUtils]: 68: Hoare triple {95517#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {95517#true} is VALID [2022-04-08 15:15:19,293 INFO L290 TraceCheckUtils]: 69: Hoare triple {95517#true} assume #res.base == dest.base && #res.offset == dest.offset; {95517#true} is VALID [2022-04-08 15:15:19,293 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {95517#true} {95517#true} #1186#return; {95517#true} is VALID [2022-04-08 15:15:19,293 INFO L290 TraceCheckUtils]: 71: Hoare triple {95517#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {95517#true} is VALID [2022-04-08 15:15:19,293 INFO L290 TraceCheckUtils]: 72: Hoare triple {95517#true} assume !(~s~0 != ~NP~0); {95517#true} is VALID [2022-04-08 15:15:19,293 INFO L290 TraceCheckUtils]: 73: Hoare triple {95517#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {95517#true} is VALID [2022-04-08 15:15:19,293 INFO L290 TraceCheckUtils]: 74: Hoare triple {95517#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 68;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 52 + ~irpSp___0~0.offset, 8);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 60 + ~irpSp___0~0.offset, 8);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, 16 + ~devExt~3.offset, 8); {95517#true} is VALID [2022-04-08 15:15:19,294 INFO L272 TraceCheckUtils]: 75: Hoare triple {95517#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {95683#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:15:19,294 INFO L290 TraceCheckUtils]: 76: Hoare triple {95683#(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; {95517#true} is VALID [2022-04-08 15:15:19,294 INFO L290 TraceCheckUtils]: 77: Hoare triple {95517#true} assume 0 != ~compRegistered~0; {95517#true} is VALID [2022-04-08 15:15:19,294 INFO L272 TraceCheckUtils]: 78: Hoare triple {95517#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {95697#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:15:19,295 INFO L290 TraceCheckUtils]: 79: Hoare triple {95697#(= ~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; {95517#true} is VALID [2022-04-08 15:15:19,295 INFO L272 TraceCheckUtils]: 80: Hoare triple {95517#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {95697#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:15:19,295 INFO L290 TraceCheckUtils]: 81: Hoare triple {95697#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {95517#true} is VALID [2022-04-08 15:15:19,295 INFO L290 TraceCheckUtils]: 82: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:19,295 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {95517#true} {95517#true} #1174#return; {95517#true} is VALID [2022-04-08 15:15:19,295 INFO L290 TraceCheckUtils]: 84: Hoare triple {95517#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {95517#true} is VALID [2022-04-08 15:15:19,295 INFO L290 TraceCheckUtils]: 85: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:19,295 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {95517#true} {95517#true} #1210#return; {95517#true} is VALID [2022-04-08 15:15:19,295 INFO L290 TraceCheckUtils]: 87: Hoare triple {95517#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {95517#true} is VALID [2022-04-08 15:15:19,295 INFO L290 TraceCheckUtils]: 88: Hoare triple {95517#true} assume -1073741802 == ~compRetStatus~0; {95517#true} is VALID [2022-04-08 15:15:19,296 INFO L272 TraceCheckUtils]: 89: Hoare triple {95517#true} call stubMoreProcessingRequired(); {95701#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:15:19,296 INFO L290 TraceCheckUtils]: 90: Hoare triple {95701#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {95517#true} is VALID [2022-04-08 15:15:19,296 INFO L290 TraceCheckUtils]: 91: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:19,296 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {95517#true} {95517#true} #1212#return; {95517#true} is VALID [2022-04-08 15:15:19,296 INFO L290 TraceCheckUtils]: 93: Hoare triple {95517#true} assume !(0 == ~__BLAST_NONDET~11); {95517#true} is VALID [2022-04-08 15:15:19,296 INFO L290 TraceCheckUtils]: 94: Hoare triple {95517#true} assume 1 == ~__BLAST_NONDET~11; {95517#true} is VALID [2022-04-08 15:15:19,296 INFO L290 TraceCheckUtils]: 95: Hoare triple {95517#true} ~returnVal2~0 := -1073741823; {95695#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 15:15:19,297 INFO L290 TraceCheckUtils]: 96: Hoare triple {95695#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} assume !(~s~0 == ~NP~0); {95695#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 15:15:19,297 INFO L290 TraceCheckUtils]: 97: Hoare triple {95695#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} assume ~s~0 == ~MPR1~0; {95695#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 15:15:19,297 INFO L290 TraceCheckUtils]: 98: Hoare triple {95695#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} assume !(259 == ~returnVal2~0);~s~0 := ~NP~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {95695#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} is VALID [2022-04-08 15:15:19,297 INFO L290 TraceCheckUtils]: 99: Hoare triple {95695#(<= (+ 1073741823 IofCallDriver_~returnVal2~0) 0)} #res := ~returnVal2~0; {95696#(<= (+ |IofCallDriver_#res| 1073741823) 0)} is VALID [2022-04-08 15:15:19,298 INFO L290 TraceCheckUtils]: 100: Hoare triple {95696#(<= (+ |IofCallDriver_#res| 1073741823) 0)} assume true; {95696#(<= (+ |IofCallDriver_#res| 1073741823) 0)} is VALID [2022-04-08 15:15:19,298 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {95696#(<= (+ |IofCallDriver_#res| 1073741823) 0)} {95517#true} #1192#return; {95677#(<= (+ 1073741823 |KbFilter_PnP_#t~ret109|) 0)} is VALID [2022-04-08 15:15:19,299 INFO L290 TraceCheckUtils]: 102: Hoare triple {95677#(<= (+ 1073741823 |KbFilter_PnP_#t~ret109|) 0)} assume -9223372036854775808 <= #t~ret109 && #t~ret109 <= 9223372036854775807;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {95678#(<= (+ KbFilter_PnP_~status~3 1073741823) 0)} is VALID [2022-04-08 15:15:19,299 INFO L290 TraceCheckUtils]: 103: Hoare triple {95678#(<= (+ KbFilter_PnP_~status~3 1073741823) 0)} assume !(259 == ~status~3); {95678#(<= (+ KbFilter_PnP_~status~3 1073741823) 0)} is VALID [2022-04-08 15:15:19,299 INFO L290 TraceCheckUtils]: 104: Hoare triple {95678#(<= (+ KbFilter_PnP_~status~3 1073741823) 0)} assume ~status~3 >= 0; {95518#false} is VALID [2022-04-08 15:15:19,299 INFO L290 TraceCheckUtils]: 105: Hoare triple {95518#false} assume ~myStatus~0 >= 0;call write~int(1, ~devExt~3.base, 100 + ~devExt~3.offset, 1);call write~int(0, ~devExt~3.base, 102 + ~devExt~3.offset, 1);call write~int(0, ~devExt~3.base, 101 + ~devExt~3.offset, 1); {95518#false} is VALID [2022-04-08 15:15:19,299 INFO L290 TraceCheckUtils]: 106: Hoare triple {95518#false} call write~int(~status~3, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~3 % 4294967296 <= 2147483647 then ~status~3 % 4294967296 else ~status~3 % 4294967296 - 4294967296);call write~int(0, ~Irp.base, 52 + ~Irp.offset, 8); {95518#false} is VALID [2022-04-08 15:15:19,300 INFO L272 TraceCheckUtils]: 107: Hoare triple {95518#false} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {95701#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:15:19,300 INFO L290 TraceCheckUtils]: 108: Hoare triple {95701#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {95517#true} is VALID [2022-04-08 15:15:19,300 INFO L290 TraceCheckUtils]: 109: Hoare triple {95517#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {95517#true} is VALID [2022-04-08 15:15:19,300 INFO L290 TraceCheckUtils]: 110: Hoare triple {95517#true} assume true; {95517#true} is VALID [2022-04-08 15:15:19,300 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {95517#true} {95518#false} #1196#return; {95518#false} is VALID [2022-04-08 15:15:19,300 INFO L290 TraceCheckUtils]: 112: Hoare triple {95518#false} #res := ~status~3;call ULTIMATE.dealloc(~#event~1.base, ~#event~1.offset);havoc ~#event~1.base, ~#event~1.offset; {95518#false} is VALID [2022-04-08 15:15:19,300 INFO L290 TraceCheckUtils]: 113: Hoare triple {95518#false} assume true; {95518#false} is VALID [2022-04-08 15:15:19,300 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {95518#false} {95517#true} #1230#return; {95617#(not (= 259 |main_#t~ret174|))} is VALID [2022-04-08 15:15:19,300 INFO L290 TraceCheckUtils]: 115: Hoare triple {95617#(not (= 259 |main_#t~ret174|))} assume -9223372036854775808 <= #t~ret174 && #t~ret174 <= 9223372036854775807;~status~5 := #t~ret174;havoc #t~ret174; {95618#(not (= main_~status~5 259))} is VALID [2022-04-08 15:15:19,300 INFO L290 TraceCheckUtils]: 116: Hoare triple {95618#(not (= main_~status~5 259))} assume 0 != ~we_should_unload~0; {95618#(not (= main_~status~5 259))} is VALID [2022-04-08 15:15:19,301 INFO L290 TraceCheckUtils]: 117: Hoare triple {95618#(not (= main_~status~5 259))} assume !(1 == ~pended~0); {95618#(not (= main_~status~5 259))} is VALID [2022-04-08 15:15:19,301 INFO L290 TraceCheckUtils]: 118: Hoare triple {95618#(not (= main_~status~5 259))} assume !(1 == ~pended~0); {95618#(not (= main_~status~5 259))} is VALID [2022-04-08 15:15:19,301 INFO L290 TraceCheckUtils]: 119: Hoare triple {95618#(not (= main_~status~5 259))} assume !(~s~0 == ~UNLOADED~0); {95618#(not (= main_~status~5 259))} is VALID [2022-04-08 15:15:19,301 INFO L290 TraceCheckUtils]: 120: Hoare triple {95618#(not (= main_~status~5 259))} assume !(-1 == ~status~5); {95618#(not (= main_~status~5 259))} is VALID [2022-04-08 15:15:19,302 INFO L290 TraceCheckUtils]: 121: Hoare triple {95618#(not (= main_~status~5 259))} assume ~s~0 != ~SKIP2~0; {95618#(not (= main_~status~5 259))} is VALID [2022-04-08 15:15:19,302 INFO L290 TraceCheckUtils]: 122: Hoare triple {95618#(not (= main_~status~5 259))} assume ~s~0 != ~IPC~0; {95618#(not (= main_~status~5 259))} is VALID [2022-04-08 15:15:19,302 INFO L290 TraceCheckUtils]: 123: Hoare triple {95618#(not (= main_~status~5 259))} assume !(~s~0 != ~DC~0); {95618#(not (= main_~status~5 259))} is VALID [2022-04-08 15:15:19,303 INFO L290 TraceCheckUtils]: 124: Hoare triple {95618#(not (= main_~status~5 259))} assume !(1 == ~pended~0); {95618#(not (= main_~status~5 259))} is VALID [2022-04-08 15:15:19,303 INFO L290 TraceCheckUtils]: 125: Hoare triple {95618#(not (= main_~status~5 259))} assume ~s~0 == ~DC~0; {95618#(not (= main_~status~5 259))} is VALID [2022-04-08 15:15:19,303 INFO L290 TraceCheckUtils]: 126: Hoare triple {95618#(not (= main_~status~5 259))} assume 259 == ~status~5; {95518#false} is VALID [2022-04-08 15:15:19,303 INFO L272 TraceCheckUtils]: 127: Hoare triple {95518#false} call errorFn(); {95518#false} is VALID [2022-04-08 15:15:19,303 INFO L290 TraceCheckUtils]: 128: Hoare triple {95518#false} assume !false; {95518#false} is VALID [2022-04-08 15:15:19,303 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-04-08 15:15:19,304 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:15:19,304 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1999279385] [2022-04-08 15:15:19,304 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1999279385] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:15:19,304 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:15:19,304 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-08 15:15:19,304 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 15:15:19,304 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1988746202] [2022-04-08 15:15:19,304 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1988746202] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 15:15:19,304 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 15:15:19,304 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-08 15:15:19,304 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [29438369] [2022-04-08 15:15:19,304 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 15:15:19,305 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 5.588235294117647) internal successors, (95), 6 states have internal predecessors, (95), 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 129 [2022-04-08 15:15:19,305 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 15:15:19,305 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 17 states have (on average 5.588235294117647) internal successors, (95), 6 states have internal predecessors, (95), 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 15:15:19,394 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 129 edges. 129 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 15:15:19,394 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-08 15:15:19,394 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 15:15:19,394 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-08 15:15:19,395 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=221, Unknown=0, NotChecked=0, Total=272 [2022-04-08 15:15:19,395 INFO L87 Difference]: Start difference. First operand 275 states and 298 transitions. Second operand has 17 states, 17 states have (on average 5.588235294117647) internal successors, (95), 6 states have internal predecessors, (95), 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 15:15:21,545 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 15:15:29,572 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:15:29,572 INFO L93 Difference]: Finished difference Result 317 states and 344 transitions. [2022-04-08 15:15:29,572 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 15:15:29,572 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 5.588235294117647) internal successors, (95), 6 states have internal predecessors, (95), 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 129 [2022-04-08 15:15:29,572 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 15:15:29,572 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 5.588235294117647) internal successors, (95), 6 states have internal predecessors, (95), 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 15:15:29,573 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 207 transitions. [2022-04-08 15:15:29,573 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 5.588235294117647) internal successors, (95), 6 states have internal predecessors, (95), 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 15:15:29,574 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 207 transitions. [2022-04-08 15:15:29,574 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 207 transitions. [2022-04-08 15:15:29,779 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 207 edges. 207 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 15:15:29,782 INFO L225 Difference]: With dead ends: 317 [2022-04-08 15:15:29,782 INFO L226 Difference]: Without dead ends: 247 [2022-04-08 15:15:29,783 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 15:15:29,786 INFO L913 BasicCegarLoop]: 125 mSDtfsCounter, 137 mSDsluCounter, 390 mSDsCounter, 0 mSdLazyCounter, 1023 mSolverCounterSat, 86 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 139 SdHoareTripleChecker+Valid, 515 SdHoareTripleChecker+Invalid, 1110 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 86 IncrementalHoareTripleChecker+Valid, 1023 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.6s IncrementalHoareTripleChecker+Time [2022-04-08 15:15:29,787 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [139 Valid, 515 Invalid, 1110 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [86 Valid, 1023 Invalid, 1 Unknown, 0 Unchecked, 4.6s Time] [2022-04-08 15:15:29,787 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 247 states. [2022-04-08 15:15:30,341 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 247 to 237. [2022-04-08 15:15:30,341 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 15:15:30,342 INFO L82 GeneralOperation]: Start isEquivalent. First operand 247 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 15:15:30,342 INFO L74 IsIncluded]: Start isIncluded. First operand 247 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 15:15:30,342 INFO L87 Difference]: Start difference. First operand 247 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 15:15:30,345 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:15:30,345 INFO L93 Difference]: Finished difference Result 247 states and 264 transitions. [2022-04-08 15:15:30,345 INFO L276 IsEmpty]: Start isEmpty. Operand 247 states and 264 transitions. [2022-04-08 15:15:30,345 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:15:30,345 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:15:30,345 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 247 states. [2022-04-08 15:15:30,345 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 247 states. [2022-04-08 15:15:30,348 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 15:15:30,348 INFO L93 Difference]: Finished difference Result 247 states and 264 transitions. [2022-04-08 15:15:30,348 INFO L276 IsEmpty]: Start isEmpty. Operand 247 states and 264 transitions. [2022-04-08 15:15:30,348 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 15:15:30,348 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 15:15:30,348 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 15:15:30,348 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 15:15:30,348 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 15:15:30,351 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 237 states to 237 states and 252 transitions. [2022-04-08 15:15:30,351 INFO L78 Accepts]: Start accepts. Automaton has 237 states and 252 transitions. Word has length 129 [2022-04-08 15:15:30,351 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 15:15:30,355 INFO L478 AbstractCegarLoop]: Abstraction has 237 states and 252 transitions. [2022-04-08 15:15:30,355 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 17 states have (on average 5.588235294117647) internal successors, (95), 6 states have internal predecessors, (95), 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 15:15:30,355 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 237 states and 252 transitions. [2022-04-08 15:15:31,023 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 15:15:31,023 INFO L276 IsEmpty]: Start isEmpty. Operand 237 states and 252 transitions. [2022-04-08 15:15:31,024 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 139 [2022-04-08 15:15:31,024 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 15:15:31,024 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 15:15:31,024 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable39 [2022-04-08 15:15:31,024 INFO L403 AbstractCegarLoop]: === Iteration 41 === Targeting errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION === [errorFnErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 15:15:31,024 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 15:15:31,024 INFO L85 PathProgramCache]: Analyzing trace with hash -1183185629, now seen corresponding path program 1 times [2022-04-08 15:15:31,024 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 15:15:31,024 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [295523337] [2022-04-08 15:15:31,026 INFO L97 AcceleratorQvasr]: Qvasr could not accelerate loop because java.lang.UnsupportedOperationException: Qvasr do not support arrays. [2022-04-08 15:15:31,026 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 15:15:31,026 INFO L85 PathProgramCache]: Analyzing trace with hash -1183185629, now seen corresponding path program 2 times [2022-04-08 15:15:31,026 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 15:15:31,026 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [277947609] [2022-04-08 15:15:31,026 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 15:15:31,027 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 15:15:31,208 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:31,275 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 15:15:31,277 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:31,281 INFO L290 TraceCheckUtils]: 0: Hoare triple {97428#(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; {97319#true} is VALID [2022-04-08 15:15:31,281 INFO L290 TraceCheckUtils]: 1: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,281 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {97319#true} {97319#true} #1270#return; {97319#true} is VALID [2022-04-08 15:15:31,301 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 15:15:31,302 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:31,306 INFO L290 TraceCheckUtils]: 0: Hoare triple {97429#(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; {97319#true} is VALID [2022-04-08 15:15:31,306 INFO L290 TraceCheckUtils]: 1: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,306 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {97319#true} {97319#true} #1216#return; {97319#true} is VALID [2022-04-08 15:15:31,311 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 10 [2022-04-08 15:15:31,330 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:31,336 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:15:31,336 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:31,340 INFO L290 TraceCheckUtils]: 0: Hoare triple {97319#true} ~cond := #in~cond; {97319#true} is VALID [2022-04-08 15:15:31,340 INFO L290 TraceCheckUtils]: 1: Hoare triple {97319#true} assume !(0 == ~cond); {97319#true} is VALID [2022-04-08 15:15:31,340 INFO L290 TraceCheckUtils]: 2: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,340 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {97319#true} {97319#true} #1254#return; {97319#true} is VALID [2022-04-08 15:15:31,340 INFO L290 TraceCheckUtils]: 0: Hoare triple {97430#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {97319#true} is VALID [2022-04-08 15:15:31,340 INFO L272 TraceCheckUtils]: 1: Hoare triple {97319#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {97319#true} is VALID [2022-04-08 15:15:31,340 INFO L290 TraceCheckUtils]: 2: Hoare triple {97319#true} ~cond := #in~cond; {97319#true} is VALID [2022-04-08 15:15:31,340 INFO L290 TraceCheckUtils]: 3: Hoare triple {97319#true} assume !(0 == ~cond); {97319#true} is VALID [2022-04-08 15:15:31,340 INFO L290 TraceCheckUtils]: 4: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,340 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {97319#true} {97319#true} #1254#return; {97319#true} is VALID [2022-04-08 15:15:31,340 INFO L290 TraceCheckUtils]: 6: Hoare triple {97319#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {97319#true} is VALID [2022-04-08 15:15:31,340 INFO L290 TraceCheckUtils]: 7: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,340 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {97319#true} {97319#true} #1218#return; {97319#true} is VALID [2022-04-08 15:15:31,349 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-04-08 15:15:31,369 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:31,381 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:15:31,384 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:31,389 INFO L290 TraceCheckUtils]: 0: Hoare triple {97435#(and (= |old(#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; {97319#true} is VALID [2022-04-08 15:15:31,389 INFO L290 TraceCheckUtils]: 1: Hoare triple {97319#true} assume 0 == ~__BLAST_NONDET~5; {97319#true} is VALID [2022-04-08 15:15:31,389 INFO L290 TraceCheckUtils]: 2: Hoare triple {97319#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {97319#true} is VALID [2022-04-08 15:15:31,389 INFO L290 TraceCheckUtils]: 3: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,389 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {97319#true} {97319#true} #1176#return; {97319#true} is VALID [2022-04-08 15:15:31,389 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 9 [2022-04-08 15:15:31,393 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:31,457 INFO L290 TraceCheckUtils]: 0: Hoare triple {97430#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {97451#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 15:15:31,458 INFO L290 TraceCheckUtils]: 1: Hoare triple {97451#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {97452#(and (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616) 1) 0)) (or (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616)) (<= (+ (* 18446744073709551616 (div |#Ultimate.C_memset_#amount| 18446744073709551616)) 1) |#Ultimate.C_memset_#amount|)) (or (not (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)))} is VALID [2022-04-08 15:15:31,459 INFO L290 TraceCheckUtils]: 2: Hoare triple {97452#(and (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616) 1) 0)) (or (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616)) (<= (+ (* 18446744073709551616 (div |#Ultimate.C_memset_#amount| 18446744073709551616)) 1) |#Ultimate.C_memset_#amount|)) (or (not (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)))} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {97453#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 15:15:31,459 INFO L290 TraceCheckUtils]: 3: Hoare triple {97453#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {97453#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 15:15:31,460 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {97453#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} {97319#true} #1178#return; {97320#false} is VALID [2022-04-08 15:15:31,460 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 16 [2022-04-08 15:15:31,461 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:31,465 INFO L290 TraceCheckUtils]: 0: Hoare triple {97319#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; {97319#true} is VALID [2022-04-08 15:15:31,465 INFO L290 TraceCheckUtils]: 1: Hoare triple {97319#true} assume 0 == ~__BLAST_NONDET~2; {97319#true} is VALID [2022-04-08 15:15:31,465 INFO L290 TraceCheckUtils]: 2: Hoare triple {97319#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {97319#true} is VALID [2022-04-08 15:15:31,465 INFO L290 TraceCheckUtils]: 3: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,465 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {97319#true} {97320#false} #1180#return; {97320#false} is VALID [2022-04-08 15:15:31,465 INFO L290 TraceCheckUtils]: 0: Hoare triple {97435#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {97319#true} is VALID [2022-04-08 15:15:31,466 INFO L272 TraceCheckUtils]: 1: Hoare triple {97319#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {97435#(and (= |old(#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 15:15:31,466 INFO L290 TraceCheckUtils]: 2: Hoare triple {97435#(and (= |old(#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; {97319#true} is VALID [2022-04-08 15:15:31,467 INFO L290 TraceCheckUtils]: 3: Hoare triple {97319#true} assume 0 == ~__BLAST_NONDET~5; {97319#true} is VALID [2022-04-08 15:15:31,467 INFO L290 TraceCheckUtils]: 4: Hoare triple {97319#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {97319#true} is VALID [2022-04-08 15:15:31,467 INFO L290 TraceCheckUtils]: 5: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,467 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {97319#true} {97319#true} #1176#return; {97319#true} is VALID [2022-04-08 15:15:31,467 INFO L290 TraceCheckUtils]: 7: Hoare triple {97319#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {97319#true} is VALID [2022-04-08 15:15:31,467 INFO L290 TraceCheckUtils]: 8: Hoare triple {97319#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {97319#true} is VALID [2022-04-08 15:15:31,467 INFO L272 TraceCheckUtils]: 9: Hoare triple {97319#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {97430#(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 15:15:31,468 INFO L290 TraceCheckUtils]: 10: Hoare triple {97430#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {97451#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 15:15:31,469 INFO L290 TraceCheckUtils]: 11: Hoare triple {97451#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {97452#(and (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616) 1) 0)) (or (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616)) (<= (+ (* 18446744073709551616 (div |#Ultimate.C_memset_#amount| 18446744073709551616)) 1) |#Ultimate.C_memset_#amount|)) (or (not (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)))} is VALID [2022-04-08 15:15:31,470 INFO L290 TraceCheckUtils]: 12: Hoare triple {97452#(and (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616) 1) 0)) (or (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616)) (<= (+ (* 18446744073709551616 (div |#Ultimate.C_memset_#amount| 18446744073709551616)) 1) |#Ultimate.C_memset_#amount|)) (or (not (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)))} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {97453#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 15:15:31,470 INFO L290 TraceCheckUtils]: 13: Hoare triple {97453#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {97453#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 15:15:31,471 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {97453#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} {97319#true} #1178#return; {97320#false} is VALID [2022-04-08 15:15:31,471 INFO L290 TraceCheckUtils]: 15: Hoare triple {97320#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {97320#false} is VALID [2022-04-08 15:15:31,471 INFO L272 TraceCheckUtils]: 16: Hoare triple {97320#false} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {97319#true} is VALID [2022-04-08 15:15:31,471 INFO L290 TraceCheckUtils]: 17: Hoare triple {97319#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; {97319#true} is VALID [2022-04-08 15:15:31,471 INFO L290 TraceCheckUtils]: 18: Hoare triple {97319#true} assume 0 == ~__BLAST_NONDET~2; {97319#true} is VALID [2022-04-08 15:15:31,471 INFO L290 TraceCheckUtils]: 19: Hoare triple {97319#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {97319#true} is VALID [2022-04-08 15:15:31,471 INFO L290 TraceCheckUtils]: 20: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,471 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {97319#true} {97320#false} #1180#return; {97320#false} is VALID [2022-04-08 15:15:31,471 INFO L290 TraceCheckUtils]: 22: Hoare triple {97320#false} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {97320#false} is VALID [2022-04-08 15:15:31,471 INFO L290 TraceCheckUtils]: 23: Hoare triple {97320#false} assume true; {97320#false} is VALID [2022-04-08 15:15:31,471 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {97320#false} {97319#true} #1220#return; {97320#false} is VALID [2022-04-08 15:15:31,486 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 50 [2022-04-08 15:15:31,487 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:31,490 INFO L290 TraceCheckUtils]: 0: Hoare triple {97454#(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; {97319#true} is VALID [2022-04-08 15:15:31,491 INFO L290 TraceCheckUtils]: 1: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,491 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {97319#true} {97320#false} #1222#return; {97320#false} is VALID [2022-04-08 15:15:31,513 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 59 [2022-04-08 15:15:31,530 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:31,541 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 3 [2022-04-08 15:15:31,545 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:31,550 INFO L290 TraceCheckUtils]: 0: Hoare triple {97430#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {97319#true} is VALID [2022-04-08 15:15:31,551 INFO L290 TraceCheckUtils]: 1: Hoare triple {97319#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {97319#true} is VALID [2022-04-08 15:15:31,551 INFO L290 TraceCheckUtils]: 2: Hoare triple {97319#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {97319#true} is VALID [2022-04-08 15:15:31,551 INFO L290 TraceCheckUtils]: 3: Hoare triple {97319#true} assume #t~loopctr221 % 18446744073709551616 < size % 18446744073709551616;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 8);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 8);#t~loopctr221 := 8 + #t~loopctr221; {97319#true} is VALID [2022-04-08 15:15:31,551 INFO L290 TraceCheckUtils]: 4: Hoare triple {97319#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {97319#true} is VALID [2022-04-08 15:15:31,551 INFO L290 TraceCheckUtils]: 5: Hoare triple {97319#true} assume #res.base == dest.base && #res.offset == dest.offset; {97319#true} is VALID [2022-04-08 15:15:31,551 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {97319#true} {97319#true} #1186#return; {97319#true} is VALID [2022-04-08 15:15:31,561 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 15 [2022-04-08 15:15:31,565 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:31,579 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-04-08 15:15:31,580 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:31,585 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-08 15:15:31,585 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:31,589 INFO L290 TraceCheckUtils]: 0: Hoare triple {97512#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {97319#true} is VALID [2022-04-08 15:15:31,589 INFO L290 TraceCheckUtils]: 1: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,589 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {97319#true} {97319#true} #1174#return; {97319#true} is VALID [2022-04-08 15:15:31,589 INFO L290 TraceCheckUtils]: 0: Hoare triple {97512#(= ~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; {97319#true} is VALID [2022-04-08 15:15:31,590 INFO L272 TraceCheckUtils]: 1: Hoare triple {97319#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {97512#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:15:31,590 INFO L290 TraceCheckUtils]: 2: Hoare triple {97512#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {97319#true} is VALID [2022-04-08 15:15:31,590 INFO L290 TraceCheckUtils]: 3: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,590 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {97319#true} {97319#true} #1174#return; {97319#true} is VALID [2022-04-08 15:15:31,590 INFO L290 TraceCheckUtils]: 5: Hoare triple {97319#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {97319#true} is VALID [2022-04-08 15:15:31,590 INFO L290 TraceCheckUtils]: 6: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,590 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {97319#true} {97319#true} #1210#return; {97319#true} is VALID [2022-04-08 15:15:31,599 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-08 15:15:31,600 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:31,604 INFO L290 TraceCheckUtils]: 0: Hoare triple {97516#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {97319#true} is VALID [2022-04-08 15:15:31,604 INFO L290 TraceCheckUtils]: 1: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,604 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {97319#true} {97319#true} #1212#return; {97319#true} is VALID [2022-04-08 15:15:31,604 INFO L290 TraceCheckUtils]: 0: Hoare triple {97500#(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; {97319#true} is VALID [2022-04-08 15:15:31,604 INFO L290 TraceCheckUtils]: 1: Hoare triple {97319#true} assume 0 != ~compRegistered~0; {97319#true} is VALID [2022-04-08 15:15:31,605 INFO L272 TraceCheckUtils]: 2: Hoare triple {97319#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {97512#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:15:31,605 INFO L290 TraceCheckUtils]: 3: Hoare triple {97512#(= ~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; {97319#true} is VALID [2022-04-08 15:15:31,606 INFO L272 TraceCheckUtils]: 4: Hoare triple {97319#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {97512#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:15:31,606 INFO L290 TraceCheckUtils]: 5: Hoare triple {97512#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {97319#true} is VALID [2022-04-08 15:15:31,606 INFO L290 TraceCheckUtils]: 6: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,606 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {97319#true} {97319#true} #1174#return; {97319#true} is VALID [2022-04-08 15:15:31,606 INFO L290 TraceCheckUtils]: 8: Hoare triple {97319#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {97319#true} is VALID [2022-04-08 15:15:31,606 INFO L290 TraceCheckUtils]: 9: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,606 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {97319#true} {97319#true} #1210#return; {97319#true} is VALID [2022-04-08 15:15:31,606 INFO L290 TraceCheckUtils]: 11: Hoare triple {97319#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {97319#true} is VALID [2022-04-08 15:15:31,606 INFO L290 TraceCheckUtils]: 12: Hoare triple {97319#true} assume -1073741802 == ~compRetStatus~0; {97319#true} is VALID [2022-04-08 15:15:31,607 INFO L272 TraceCheckUtils]: 13: Hoare triple {97319#true} call stubMoreProcessingRequired(); {97516#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:15:31,607 INFO L290 TraceCheckUtils]: 14: Hoare triple {97516#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {97319#true} is VALID [2022-04-08 15:15:31,607 INFO L290 TraceCheckUtils]: 15: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,607 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {97319#true} {97319#true} #1212#return; {97319#true} is VALID [2022-04-08 15:15:31,607 INFO L290 TraceCheckUtils]: 17: Hoare triple {97319#true} assume !(0 == ~__BLAST_NONDET~11); {97319#true} is VALID [2022-04-08 15:15:31,607 INFO L290 TraceCheckUtils]: 18: Hoare triple {97319#true} assume !(1 == ~__BLAST_NONDET~11); {97319#true} is VALID [2022-04-08 15:15:31,607 INFO L290 TraceCheckUtils]: 19: Hoare triple {97319#true} ~returnVal2~0 := 259; {97319#true} is VALID [2022-04-08 15:15:31,607 INFO L290 TraceCheckUtils]: 20: Hoare triple {97319#true} assume !(~s~0 == ~NP~0); {97319#true} is VALID [2022-04-08 15:15:31,607 INFO L290 TraceCheckUtils]: 21: Hoare triple {97319#true} assume ~s~0 == ~MPR1~0; {97319#true} is VALID [2022-04-08 15:15:31,607 INFO L290 TraceCheckUtils]: 22: Hoare triple {97319#true} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {97319#true} is VALID [2022-04-08 15:15:31,607 INFO L290 TraceCheckUtils]: 23: Hoare triple {97319#true} #res := ~returnVal2~0; {97319#true} is VALID [2022-04-08 15:15:31,607 INFO L290 TraceCheckUtils]: 24: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,607 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {97319#true} {97319#true} #1192#return; {97319#true} is VALID [2022-04-08 15:15:31,619 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 44 [2022-04-08 15:15:31,621 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:31,625 INFO L290 TraceCheckUtils]: 0: Hoare triple {97517#(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; {97319#true} is VALID [2022-04-08 15:15:31,625 INFO L290 TraceCheckUtils]: 1: Hoare triple {97319#true} assume ~s~0 == ~MPR3~0; {97319#true} is VALID [2022-04-08 15:15:31,625 INFO L290 TraceCheckUtils]: 2: Hoare triple {97319#true} assume 1 == ~setEventCalled~0;~s~0 := ~NP~0;~setEventCalled~0 := 0; {97319#true} is VALID [2022-04-08 15:15:31,625 INFO L290 TraceCheckUtils]: 3: Hoare triple {97319#true} assume 0 == ~__BLAST_NONDET~13; {97319#true} is VALID [2022-04-08 15:15:31,625 INFO L290 TraceCheckUtils]: 4: Hoare triple {97319#true} #res := 0; {97319#true} is VALID [2022-04-08 15:15:31,625 INFO L290 TraceCheckUtils]: 5: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,625 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {97319#true} {97319#true} #1194#return; {97319#true} is VALID [2022-04-08 15:15:31,625 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 56 [2022-04-08 15:15:31,626 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 15:15:31,629 INFO L290 TraceCheckUtils]: 0: Hoare triple {97516#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {97319#true} is VALID [2022-04-08 15:15:31,629 INFO L290 TraceCheckUtils]: 1: Hoare triple {97319#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {97319#true} is VALID [2022-04-08 15:15:31,629 INFO L290 TraceCheckUtils]: 2: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,630 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {97319#true} {97319#true} #1196#return; {97319#true} is VALID [2022-04-08 15:15:31,630 INFO L290 TraceCheckUtils]: 0: Hoare triple {97455#(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(28);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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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); {97319#true} is VALID [2022-04-08 15:15:31,630 INFO L290 TraceCheckUtils]: 1: Hoare triple {97319#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {97319#true} is VALID [2022-04-08 15:15:31,630 INFO L290 TraceCheckUtils]: 2: Hoare triple {97319#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 180 + ~Irp.offset, 8);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 68;havoc #t~mem103.base, #t~mem103.offset; {97319#true} is VALID [2022-04-08 15:15:31,631 INFO L272 TraceCheckUtils]: 3: Hoare triple {97319#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, 52); {97430#(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 15:15:31,631 INFO L290 TraceCheckUtils]: 4: Hoare triple {97430#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {97319#true} is VALID [2022-04-08 15:15:31,631 INFO L290 TraceCheckUtils]: 5: Hoare triple {97319#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {97319#true} is VALID [2022-04-08 15:15:31,631 INFO L290 TraceCheckUtils]: 6: Hoare triple {97319#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {97319#true} is VALID [2022-04-08 15:15:31,631 INFO L290 TraceCheckUtils]: 7: Hoare triple {97319#true} assume #t~loopctr221 % 18446744073709551616 < size % 18446744073709551616;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 8);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 8);#t~loopctr221 := 8 + #t~loopctr221; {97319#true} is VALID [2022-04-08 15:15:31,631 INFO L290 TraceCheckUtils]: 8: Hoare triple {97319#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {97319#true} is VALID [2022-04-08 15:15:31,631 INFO L290 TraceCheckUtils]: 9: Hoare triple {97319#true} assume #res.base == dest.base && #res.offset == dest.offset; {97319#true} is VALID [2022-04-08 15:15:31,631 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {97319#true} {97319#true} #1186#return; {97319#true} is VALID [2022-04-08 15:15:31,631 INFO L290 TraceCheckUtils]: 11: Hoare triple {97319#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {97319#true} is VALID [2022-04-08 15:15:31,631 INFO L290 TraceCheckUtils]: 12: Hoare triple {97319#true} assume !(~s~0 != ~NP~0); {97319#true} is VALID [2022-04-08 15:15:31,631 INFO L290 TraceCheckUtils]: 13: Hoare triple {97319#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {97319#true} is VALID [2022-04-08 15:15:31,631 INFO L290 TraceCheckUtils]: 14: Hoare triple {97319#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 68;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 52 + ~irpSp___0~0.offset, 8);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 60 + ~irpSp___0~0.offset, 8);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, 16 + ~devExt~3.offset, 8); {97319#true} is VALID [2022-04-08 15:15:31,632 INFO L272 TraceCheckUtils]: 15: Hoare triple {97319#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {97500#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:15:31,632 INFO L290 TraceCheckUtils]: 16: Hoare triple {97500#(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; {97319#true} is VALID [2022-04-08 15:15:31,632 INFO L290 TraceCheckUtils]: 17: Hoare triple {97319#true} assume 0 != ~compRegistered~0; {97319#true} is VALID [2022-04-08 15:15:31,633 INFO L272 TraceCheckUtils]: 18: Hoare triple {97319#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {97512#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:15:31,633 INFO L290 TraceCheckUtils]: 19: Hoare triple {97512#(= ~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; {97319#true} is VALID [2022-04-08 15:15:31,633 INFO L272 TraceCheckUtils]: 20: Hoare triple {97319#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {97512#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:15:31,633 INFO L290 TraceCheckUtils]: 21: Hoare triple {97512#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {97319#true} is VALID [2022-04-08 15:15:31,634 INFO L290 TraceCheckUtils]: 22: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,634 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {97319#true} {97319#true} #1174#return; {97319#true} is VALID [2022-04-08 15:15:31,634 INFO L290 TraceCheckUtils]: 24: Hoare triple {97319#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {97319#true} is VALID [2022-04-08 15:15:31,634 INFO L290 TraceCheckUtils]: 25: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,634 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {97319#true} {97319#true} #1210#return; {97319#true} is VALID [2022-04-08 15:15:31,634 INFO L290 TraceCheckUtils]: 27: Hoare triple {97319#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {97319#true} is VALID [2022-04-08 15:15:31,634 INFO L290 TraceCheckUtils]: 28: Hoare triple {97319#true} assume -1073741802 == ~compRetStatus~0; {97319#true} is VALID [2022-04-08 15:15:31,634 INFO L272 TraceCheckUtils]: 29: Hoare triple {97319#true} call stubMoreProcessingRequired(); {97516#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:15:31,634 INFO L290 TraceCheckUtils]: 30: Hoare triple {97516#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {97319#true} is VALID [2022-04-08 15:15:31,634 INFO L290 TraceCheckUtils]: 31: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,634 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {97319#true} {97319#true} #1212#return; {97319#true} is VALID [2022-04-08 15:15:31,634 INFO L290 TraceCheckUtils]: 33: Hoare triple {97319#true} assume !(0 == ~__BLAST_NONDET~11); {97319#true} is VALID [2022-04-08 15:15:31,634 INFO L290 TraceCheckUtils]: 34: Hoare triple {97319#true} assume !(1 == ~__BLAST_NONDET~11); {97319#true} is VALID [2022-04-08 15:15:31,634 INFO L290 TraceCheckUtils]: 35: Hoare triple {97319#true} ~returnVal2~0 := 259; {97319#true} is VALID [2022-04-08 15:15:31,635 INFO L290 TraceCheckUtils]: 36: Hoare triple {97319#true} assume !(~s~0 == ~NP~0); {97319#true} is VALID [2022-04-08 15:15:31,635 INFO L290 TraceCheckUtils]: 37: Hoare triple {97319#true} assume ~s~0 == ~MPR1~0; {97319#true} is VALID [2022-04-08 15:15:31,635 INFO L290 TraceCheckUtils]: 38: Hoare triple {97319#true} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {97319#true} is VALID [2022-04-08 15:15:31,635 INFO L290 TraceCheckUtils]: 39: Hoare triple {97319#true} #res := ~returnVal2~0; {97319#true} is VALID [2022-04-08 15:15:31,635 INFO L290 TraceCheckUtils]: 40: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,635 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {97319#true} {97319#true} #1192#return; {97319#true} is VALID [2022-04-08 15:15:31,635 INFO L290 TraceCheckUtils]: 42: Hoare triple {97319#true} assume -9223372036854775808 <= #t~ret109 && #t~ret109 <= 9223372036854775807;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {97319#true} is VALID [2022-04-08 15:15:31,635 INFO L290 TraceCheckUtils]: 43: Hoare triple {97319#true} assume 259 == ~status~3; {97319#true} is VALID [2022-04-08 15:15:31,636 INFO L272 TraceCheckUtils]: 44: Hoare triple {97319#true} call #t~ret110 := KeWaitForSingleObject(~#event~1.base, ~#event~1.offset, 0, 0, 0, 0, 0); {97517#(and (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:15:31,636 INFO L290 TraceCheckUtils]: 45: Hoare triple {97517#(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; {97319#true} is VALID [2022-04-08 15:15:31,636 INFO L290 TraceCheckUtils]: 46: Hoare triple {97319#true} assume ~s~0 == ~MPR3~0; {97319#true} is VALID [2022-04-08 15:15:31,636 INFO L290 TraceCheckUtils]: 47: Hoare triple {97319#true} assume 1 == ~setEventCalled~0;~s~0 := ~NP~0;~setEventCalled~0 := 0; {97319#true} is VALID [2022-04-08 15:15:31,636 INFO L290 TraceCheckUtils]: 48: Hoare triple {97319#true} assume 0 == ~__BLAST_NONDET~13; {97319#true} is VALID [2022-04-08 15:15:31,636 INFO L290 TraceCheckUtils]: 49: Hoare triple {97319#true} #res := 0; {97319#true} is VALID [2022-04-08 15:15:31,636 INFO L290 TraceCheckUtils]: 50: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,636 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {97319#true} {97319#true} #1194#return; {97319#true} is VALID [2022-04-08 15:15:31,636 INFO L290 TraceCheckUtils]: 52: Hoare triple {97319#true} assume -9223372036854775808 <= #t~ret110 && #t~ret110 <= 9223372036854775807;havoc #t~ret110; {97319#true} is VALID [2022-04-08 15:15:31,636 INFO L290 TraceCheckUtils]: 53: Hoare triple {97319#true} assume ~status~3 >= 0; {97319#true} is VALID [2022-04-08 15:15:31,636 INFO L290 TraceCheckUtils]: 54: Hoare triple {97319#true} assume !(~myStatus~0 >= 0); {97319#true} is VALID [2022-04-08 15:15:31,636 INFO L290 TraceCheckUtils]: 55: Hoare triple {97319#true} call write~int(~status~3, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~3 % 4294967296 <= 2147483647 then ~status~3 % 4294967296 else ~status~3 % 4294967296 - 4294967296);call write~int(0, ~Irp.base, 52 + ~Irp.offset, 8); {97319#true} is VALID [2022-04-08 15:15:31,637 INFO L272 TraceCheckUtils]: 56: Hoare triple {97319#true} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {97516#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:15:31,637 INFO L290 TraceCheckUtils]: 57: Hoare triple {97516#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {97319#true} is VALID [2022-04-08 15:15:31,637 INFO L290 TraceCheckUtils]: 58: Hoare triple {97319#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {97319#true} is VALID [2022-04-08 15:15:31,637 INFO L290 TraceCheckUtils]: 59: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,637 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {97319#true} {97319#true} #1196#return; {97319#true} is VALID [2022-04-08 15:15:31,637 INFO L290 TraceCheckUtils]: 61: Hoare triple {97319#true} #res := ~status~3;call ULTIMATE.dealloc(~#event~1.base, ~#event~1.offset);havoc ~#event~1.base, ~#event~1.offset; {97319#true} is VALID [2022-04-08 15:15:31,637 INFO L290 TraceCheckUtils]: 62: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,637 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {97319#true} {97320#false} #1230#return; {97320#false} is VALID [2022-04-08 15:15:31,648 INFO L272 TraceCheckUtils]: 0: Hoare triple {97319#true} call ULTIMATE.init(); {97428#(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 15:15:31,648 INFO L290 TraceCheckUtils]: 1: Hoare triple {97428#(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; {97319#true} is VALID [2022-04-08 15:15:31,648 INFO L290 TraceCheckUtils]: 2: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,649 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {97319#true} {97319#true} #1270#return; {97319#true} is VALID [2022-04-08 15:15:31,649 INFO L272 TraceCheckUtils]: 4: Hoare triple {97319#true} call #t~ret213 := main(); {97319#true} is VALID [2022-04-08 15:15:31,649 INFO L290 TraceCheckUtils]: 5: Hoare triple {97319#true} call ~#d~0.base, ~#d~0.offset := #Ultimate.allocOnStack(328);call ~#u~0.base, ~#u~0.offset := #Ultimate.allocOnStack(12);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(203);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(103);call ~#devobj~0.base, ~#devobj~0.offset := #Ultimate.allocOnStack(327);call write~$Pointer$(~#devext~0.base, ~#devext~0.offset, ~#devobj~0.base, 76 + ~#devobj~0.offset, 8);call ~#ext~0.base, ~#ext~0.offset := #Ultimate.allocOnStack(36);call write~$Pointer$(~#ext~0.base, ~#ext~0.offset, ~#d~0.base, 44 + ~#d~0.offset, 8);call ~#hookkb~0.base, ~#hookkb~0.offset := #Ultimate.allocOnStack(48);call ~#stack~0.base, ~#stack~0.offset := #Ultimate.allocOnStack(204);call write~int(#t~nondet157, ~#stack~0.base, ~#stack~0.offset, 1);havoc #t~nondet157;call write~int(#t~nondet158, ~#stack~0.base, 68 + ~#stack~0.offset, 1);havoc #t~nondet158;call write~int(#t~nondet159, ~#stack~0.base, 136 + ~#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, 69 + ~#stack~0.offset, 1);havoc #t~nondet161;call write~int(#t~nondet162, ~#stack~0.base, 137 + ~#stack~0.offset, 1);havoc #t~nondet162;call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 28 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 96 + ~#stack~0.offset, 8);call write~$Pointer$(~#hookkb~0.base, ~#hookkb~0.offset, ~#stack~0.base, 164 + ~#stack~0.offset, 8);call write~int(#t~nondet163, ~#stack~0.base, 12 + ~#stack~0.offset, 8);havoc #t~nondet163;call write~int(#t~nondet164, ~#stack~0.base, 80 + ~#stack~0.offset, 8);havoc #t~nondet164;call write~int(#t~nondet165, ~#stack~0.base, 148 + ~#stack~0.offset, 8);havoc #t~nondet165;call write~int(#t~nondet166, ~#stack~0.base, 20 + ~#stack~0.offset, 8);havoc #t~nondet166;call write~int(#t~nondet167, ~#stack~0.base, 88 + ~#stack~0.offset, 8);havoc #t~nondet167;call write~int(#t~nondet168, ~#stack~0.base, 156 + ~#stack~0.offset, 8);havoc #t~nondet168;call write~$Pointer$(~#stack~0.base, 68 + ~#stack~0.offset, ~#irp~0.base, 180 + ~#irp~0.offset, 8);~pirp~0.base, ~pirp~0.offset := ~#irp~0.base, ~#irp~0.offset; {97319#true} is VALID [2022-04-08 15:15:31,649 INFO L272 TraceCheckUtils]: 6: Hoare triple {97319#true} call _BLAST_init(); {97429#(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 15:15:31,650 INFO L290 TraceCheckUtils]: 7: Hoare triple {97429#(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; {97319#true} is VALID [2022-04-08 15:15:31,650 INFO L290 TraceCheckUtils]: 8: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,650 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {97319#true} {97319#true} #1216#return; {97319#true} is VALID [2022-04-08 15:15:31,650 INFO L272 TraceCheckUtils]: 10: Hoare triple {97319#true} call #t~ret169 := DriverEntry(~#d~0.base, ~#d~0.offset, ~#u~0.base, ~#u~0.offset); {97430#(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 15:15:31,651 INFO L290 TraceCheckUtils]: 11: Hoare triple {97430#(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 -9223372036854775808 <= #t~nondet20 && #t~nondet20 <= 9223372036854775807;~i~0 := #t~nondet20;havoc #t~nondet20; {97319#true} is VALID [2022-04-08 15:15:31,651 INFO L272 TraceCheckUtils]: 12: Hoare triple {97319#true} call assume_abort_if_not((if ~i~0 % 18446744073709551616 < 28 then 1 else 0)); {97319#true} is VALID [2022-04-08 15:15:31,651 INFO L290 TraceCheckUtils]: 13: Hoare triple {97319#true} ~cond := #in~cond; {97319#true} is VALID [2022-04-08 15:15:31,651 INFO L290 TraceCheckUtils]: 14: Hoare triple {97319#true} assume !(0 == ~cond); {97319#true} is VALID [2022-04-08 15:15:31,651 INFO L290 TraceCheckUtils]: 15: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,651 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {97319#true} {97319#true} #1254#return; {97319#true} is VALID [2022-04-08 15:15:31,651 INFO L290 TraceCheckUtils]: 17: Hoare triple {97319#true} call write~$Pointer$(#funAddr~KbFilter_DispatchPassThrough.base, #funAddr~KbFilter_DispatchPassThrough.offset, ~DriverObject.base, 104 + ~DriverObject.offset + 8 * (if ~i~0 % 18446744073709551616 % 18446744073709551616 <= 9223372036854775807 then ~i~0 % 18446744073709551616 % 18446744073709551616 else ~i~0 % 18446744073709551616 % 18446744073709551616 - 18446744073709551616), 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 104 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_CreateClose.base, #funAddr~KbFilter_CreateClose.offset, ~DriverObject.base, 120 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_PnP.base, #funAddr~KbFilter_PnP.offset, ~DriverObject.base, 320 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Power.base, #funAddr~KbFilter_Power.offset, ~DriverObject.base, 280 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_InternIoCtl.base, #funAddr~KbFilter_InternIoCtl.offset, ~DriverObject.base, 224 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_Unload.base, #funAddr~KbFilter_Unload.offset, ~DriverObject.base, 96 + ~DriverObject.offset, 8);call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~DriverObject.base, 44 + ~DriverObject.offset, 8);call write~$Pointer$(#funAddr~KbFilter_AddDevice.base, #funAddr~KbFilter_AddDevice.offset, #t~mem21.base, 8 + #t~mem21.offset, 8);havoc #t~mem21.base, #t~mem21.offset;#res := 0; {97319#true} is VALID [2022-04-08 15:15:31,651 INFO L290 TraceCheckUtils]: 18: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,651 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {97319#true} {97319#true} #1218#return; {97319#true} is VALID [2022-04-08 15:15:31,651 INFO L290 TraceCheckUtils]: 20: Hoare triple {97319#true} assume -9223372036854775808 <= #t~ret169 && #t~ret169 <= 9223372036854775807;~status~5 := #t~ret169;havoc #t~ret169; {97319#true} is VALID [2022-04-08 15:15:31,651 INFO L290 TraceCheckUtils]: 21: Hoare triple {97319#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 := (if (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 <= 2147483647 then (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 else (~compFptr~0.base + ~compFptr~0.offset) % 4294967296 - 4294967296);call write~int(0, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := 0; {97319#true} is VALID [2022-04-08 15:15:31,651 INFO L290 TraceCheckUtils]: 22: Hoare triple {97319#true} assume 0 == ~irp_choice~0;call write~int(-1073741637, ~pirp~0.base, 44 + ~pirp~0.offset, 8);~myStatus~0 := -1073741637; {97319#true} is VALID [2022-04-08 15:15:31,652 INFO L272 TraceCheckUtils]: 23: Hoare triple {97319#true} call #t~ret170 := KbFilter_AddDevice(~#d~0.base, ~#d~0.offset, ~#devobj~0.base, ~#devobj~0.offset); {97435#(and (= |old(#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 15:15:31,652 INFO L290 TraceCheckUtils]: 24: Hoare triple {97435#(and (= |old(#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(8);havoc ~status~0;~status~0 := 0; {97319#true} is VALID [2022-04-08 15:15:31,653 INFO L272 TraceCheckUtils]: 25: Hoare triple {97319#true} call #t~ret22 := IoCreateDevice(~Driver.base, ~Driver.offset, 103, 0, 0, 11, 0, 0, ~#device~0.base, ~#device~0.offset); {97435#(and (= |old(#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 15:15:31,653 INFO L290 TraceCheckUtils]: 26: Hoare triple {97435#(and (= |old(#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; {97319#true} is VALID [2022-04-08 15:15:31,653 INFO L290 TraceCheckUtils]: 27: Hoare triple {97319#true} assume 0 == ~__BLAST_NONDET~5; {97319#true} is VALID [2022-04-08 15:15:31,653 INFO L290 TraceCheckUtils]: 28: Hoare triple {97319#true} call #t~malloc186.base, #t~malloc186.offset := #Ultimate.allocOnHeap(327);~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, 8);call #t~mem187.base, #t~mem187.offset := read~$Pointer$(~DeviceObject.base, ~DeviceObject.offset, 8);call #t~malloc188.base, #t~malloc188.offset := #Ultimate.allocOnHeap(~DeviceExtensionSize);call write~$Pointer$(#t~malloc188.base, #t~malloc188.offset, #t~mem187.base, 76 + #t~mem187.offset, 8);havoc #t~mem187.base, #t~mem187.offset;havoc #t~malloc188.base, #t~malloc188.offset;#res := 0; {97319#true} is VALID [2022-04-08 15:15:31,653 INFO L290 TraceCheckUtils]: 29: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,653 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {97319#true} {97319#true} #1176#return; {97319#true} is VALID [2022-04-08 15:15:31,653 INFO L290 TraceCheckUtils]: 31: Hoare triple {97319#true} assume -9223372036854775808 <= #t~ret22 && #t~ret22 <= 9223372036854775807;~status~0 := #t~ret22;havoc #t~ret22; {97319#true} is VALID [2022-04-08 15:15:31,653 INFO L290 TraceCheckUtils]: 32: Hoare triple {97319#true} assume !!(~status~0 >= 0);call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(#t~mem23.base, 76 + #t~mem23.offset, 8); {97319#true} is VALID [2022-04-08 15:15:31,654 INFO L272 TraceCheckUtils]: 33: Hoare triple {97319#true} call #t~memset~res25.base, #t~memset~res25.offset := #Ultimate.C_memset(#t~mem24.base, #t~mem24.offset, 0, 103); {97430#(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 15:15:31,654 INFO L290 TraceCheckUtils]: 34: Hoare triple {97430#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr214 := 0; {97451#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} is VALID [2022-04-08 15:15:31,656 INFO L290 TraceCheckUtils]: 35: Hoare triple {97451#(and (<= 0 |#Ultimate.C_memset_#t~loopctr214|) (<= |#Ultimate.C_memset_#t~loopctr214| 0))} assume #t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616;#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; {97452#(and (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616) 1) 0)) (or (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616)) (<= (+ (* 18446744073709551616 (div |#Ultimate.C_memset_#amount| 18446744073709551616)) 1) |#Ultimate.C_memset_#amount|)) (or (not (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)))} is VALID [2022-04-08 15:15:31,656 INFO L290 TraceCheckUtils]: 36: Hoare triple {97452#(and (not (<= (+ (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616) 1) 0)) (or (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616)) (<= (+ (* 18446744073709551616 (div |#Ultimate.C_memset_#amount| 18446744073709551616)) 1) |#Ultimate.C_memset_#amount|)) (or (not (<= (div |#Ultimate.C_memset_#amount| 18446744073709551616) (div |#Ultimate.C_memset_#t~loopctr214| 18446744073709551616))) (<= |#Ultimate.C_memset_#t~loopctr214| 1)))} assume !(#t~loopctr214 % 18446744073709551616 < #amount % 18446744073709551616); {97453#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 15:15:31,657 INFO L290 TraceCheckUtils]: 37: Hoare triple {97453#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} assume #res.base == #ptr.base && #res.offset == #ptr.offset; {97453#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} is VALID [2022-04-08 15:15:31,657 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {97453#(or (<= |#Ultimate.C_memset_#amount| 1) (<= 18446744073709551617 |#Ultimate.C_memset_#amount|))} {97319#true} #1178#return; {97320#false} is VALID [2022-04-08 15:15:31,658 INFO L290 TraceCheckUtils]: 39: Hoare triple {97320#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, 8);call #t~mem27.base, #t~mem27.offset := read~$Pointer$(#t~mem26.base, 76 + #t~mem26.offset, 8);~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, 8); {97320#false} is VALID [2022-04-08 15:15:31,658 INFO L272 TraceCheckUtils]: 40: Hoare triple {97320#false} call #t~ret29.base, #t~ret29.offset := IoAttachDeviceToDeviceStack(#t~mem28.base, #t~mem28.offset, ~PDO.base, ~PDO.offset); {97319#true} is VALID [2022-04-08 15:15:31,658 INFO L290 TraceCheckUtils]: 41: Hoare triple {97319#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; {97319#true} is VALID [2022-04-08 15:15:31,658 INFO L290 TraceCheckUtils]: 42: Hoare triple {97319#true} assume 0 == ~__BLAST_NONDET~2; {97319#true} is VALID [2022-04-08 15:15:31,658 INFO L290 TraceCheckUtils]: 43: Hoare triple {97319#true} #res.base, #res.offset := ~TargetDevice.base, ~TargetDevice.offset; {97319#true} is VALID [2022-04-08 15:15:31,658 INFO L290 TraceCheckUtils]: 44: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,658 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {97319#true} {97320#false} #1180#return; {97320#false} is VALID [2022-04-08 15:15:31,658 INFO L290 TraceCheckUtils]: 46: Hoare triple {97320#false} call write~$Pointer$(#t~ret29.base, #t~ret29.offset, ~devExt~0.base, 16 + ~devExt~0.offset, 8);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, 8);call write~$Pointer$(#t~mem30.base, #t~mem30.offset, ~devExt~0.base, ~devExt~0.offset, 8);havoc #t~mem30.base, #t~mem30.offset;call write~$Pointer$(~PDO.base, ~PDO.offset, ~devExt~0.base, 8 + ~devExt~0.offset, 8);call write~int(1, ~devExt~0.base, 96 + ~devExt~0.offset, 4);call write~int(0, ~devExt~0.base, 101 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 102 + ~devExt~0.offset, 1);call write~int(0, ~devExt~0.base, 100 + ~devExt~0.offset, 1);call #t~mem31.base, #t~mem31.offset := read~$Pointer$(~#device~0.base, ~#device~0.offset, 8);call #t~mem32 := read~int(#t~mem31.base, 52 + #t~mem31.offset, 8);call write~int(~bitwiseOr(#t~mem32, 8196), #t~mem31.base, 52 + #t~mem31.offset, 8);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, 8);call #t~mem34 := read~int(#t~mem33.base, 52 + #t~mem33.offset, 8);call write~int((if 0 == #t~mem34 then 0 else (if 1 == #t~mem34 then 1 else ~bitwiseAnd(#t~mem34, 4294967167))), #t~mem33.base, 52 + #t~mem33.offset, 8);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; {97320#false} is VALID [2022-04-08 15:15:31,658 INFO L290 TraceCheckUtils]: 47: Hoare triple {97320#false} assume true; {97320#false} is VALID [2022-04-08 15:15:31,658 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {97320#false} {97319#true} #1220#return; {97320#false} is VALID [2022-04-08 15:15:31,658 INFO L290 TraceCheckUtils]: 49: Hoare triple {97320#false} assume -9223372036854775808 <= #t~ret170 && #t~ret170 <= 9223372036854775807;~status~5 := #t~ret170;havoc #t~ret170; {97320#false} is VALID [2022-04-08 15:15:31,658 INFO L272 TraceCheckUtils]: 50: Hoare triple {97320#false} call stub_driver_init(); {97454#(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 15:15:31,658 INFO L290 TraceCheckUtils]: 51: Hoare triple {97454#(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; {97319#true} is VALID [2022-04-08 15:15:31,658 INFO L290 TraceCheckUtils]: 52: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,658 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {97319#true} {97320#false} #1222#return; {97320#false} is VALID [2022-04-08 15:15:31,658 INFO L290 TraceCheckUtils]: 54: Hoare triple {97320#false} assume !!(~status~5 >= 0); {97320#false} is VALID [2022-04-08 15:15:31,658 INFO L290 TraceCheckUtils]: 55: Hoare triple {97320#false} assume !(0 == ~__BLAST_NONDET~0); {97320#false} is VALID [2022-04-08 15:15:31,658 INFO L290 TraceCheckUtils]: 56: Hoare triple {97320#false} assume !(1 == ~__BLAST_NONDET~0); {97320#false} is VALID [2022-04-08 15:15:31,658 INFO L290 TraceCheckUtils]: 57: Hoare triple {97320#false} assume !(2 == ~__BLAST_NONDET~0); {97320#false} is VALID [2022-04-08 15:15:31,658 INFO L290 TraceCheckUtils]: 58: Hoare triple {97320#false} assume 3 == ~__BLAST_NONDET~0; {97320#false} is VALID [2022-04-08 15:15:31,659 INFO L272 TraceCheckUtils]: 59: Hoare triple {97320#false} call #t~ret174 := KbFilter_PnP(~#devobj~0.base, ~#devobj~0.offset, ~pirp~0.base, ~pirp~0.offset); {97455#(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 15:15:31,659 INFO L290 TraceCheckUtils]: 60: Hoare triple {97455#(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(28);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, 76 + ~DeviceObject.offset, 8);~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, 180 + ~Irp.offset, 8);~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); {97319#true} is VALID [2022-04-08 15:15:31,659 INFO L290 TraceCheckUtils]: 61: Hoare triple {97319#true} assume 0 == #t~mem81 % 256;havoc #t~mem81; {97319#true} is VALID [2022-04-08 15:15:31,659 INFO L290 TraceCheckUtils]: 62: Hoare triple {97319#true} call #t~mem102.base, #t~mem102.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~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, 180 + ~Irp.offset, 8);~nextIrpSp~0.base, ~nextIrpSp~0.offset := #t~mem103.base, #t~mem103.offset - 68;havoc #t~mem103.base, #t~mem103.offset; {97319#true} is VALID [2022-04-08 15:15:31,659 INFO L272 TraceCheckUtils]: 63: Hoare triple {97319#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, 52); {97430#(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 15:15:31,660 INFO L290 TraceCheckUtils]: 64: Hoare triple {97430#(and (= |#memory_int| |old(#memory_int)|) (= |#memory_$Pointer$.base| |old(#memory_$Pointer$.base)|) (= |#memory_$Pointer$.offset| |old(#memory_$Pointer$.offset)|))} #t~loopctr215 := 0; {97319#true} is VALID [2022-04-08 15:15:31,660 INFO L290 TraceCheckUtils]: 65: Hoare triple {97319#true} assume #t~loopctr215 % 18446744073709551616 < size % 18446744073709551616;call #t~mem216 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 4);call write~unchecked~int(#t~mem216, dest.base, dest.offset + #t~loopctr215, 4);call #t~mem217 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem217, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem218 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 8);call write~unchecked~int(#t~mem218, dest.base, dest.offset + #t~loopctr215, 8);call #t~mem219 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem219, dest.base, dest.offset + #t~loopctr215, 1);call #t~mem220 := read~unchecked~int(src.base, src.offset + #t~loopctr215, 1);call write~unchecked~int(#t~mem220, dest.base, dest.offset + #t~loopctr215, 1);#t~loopctr215 := 1 + #t~loopctr215; {97319#true} is VALID [2022-04-08 15:15:31,660 INFO L290 TraceCheckUtils]: 66: Hoare triple {97319#true} assume !(#t~loopctr215 % 18446744073709551616 < size % 18446744073709551616);#t~loopctr221 := 0; {97319#true} is VALID [2022-04-08 15:15:31,660 INFO L290 TraceCheckUtils]: 67: Hoare triple {97319#true} assume #t~loopctr221 % 18446744073709551616 < size % 18446744073709551616;call #t~mem222.base, #t~mem222.offset := read~unchecked~$Pointer$(src.base, src.offset + #t~loopctr221, 8);call write~unchecked~$Pointer$(#t~mem222.base, #t~mem222.offset, dest.base, dest.offset + #t~loopctr221, 8);#t~loopctr221 := 8 + #t~loopctr221; {97319#true} is VALID [2022-04-08 15:15:31,660 INFO L290 TraceCheckUtils]: 68: Hoare triple {97319#true} assume !(#t~loopctr221 % 18446744073709551616 < size % 18446744073709551616); {97319#true} is VALID [2022-04-08 15:15:31,660 INFO L290 TraceCheckUtils]: 69: Hoare triple {97319#true} assume #res.base == dest.base && #res.offset == dest.offset; {97319#true} is VALID [2022-04-08 15:15:31,660 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {97319#true} {97319#true} #1186#return; {97319#true} is VALID [2022-04-08 15:15:31,660 INFO L290 TraceCheckUtils]: 71: Hoare triple {97319#true} havoc #t~memmove~res104.base, #t~memmove~res104.offset;call write~int(0, ~nextIrpSp~0.base, 3 + ~nextIrpSp~0.offset, 1); {97319#true} is VALID [2022-04-08 15:15:31,660 INFO L290 TraceCheckUtils]: 72: Hoare triple {97319#true} assume !(~s~0 != ~NP~0); {97319#true} is VALID [2022-04-08 15:15:31,660 INFO L290 TraceCheckUtils]: 73: Hoare triple {97319#true} assume !(0 != ~compRegistered~0);~compRegistered~0 := 1;~compFptr~0.base, ~compFptr~0.offset := #funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset; {97319#true} is VALID [2022-04-08 15:15:31,660 INFO L290 TraceCheckUtils]: 74: Hoare triple {97319#true} call #t~mem105.base, #t~mem105.offset := read~$Pointer$(~Irp.base, 180 + ~Irp.offset, 8);~irpSp___0~0.base, ~irpSp___0~0.offset := #t~mem105.base, #t~mem105.offset - 68;havoc #t~mem105.base, #t~mem105.offset;call write~$Pointer$(#funAddr~KbFilter_Complete.base, #funAddr~KbFilter_Complete.offset, ~irpSp___0~0.base, 52 + ~irpSp___0~0.offset, 8);call write~$Pointer$(~#event~1.base, ~#event~1.offset, ~irpSp___0~0.base, 60 + ~irpSp___0~0.offset, 8);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, 16 + ~devExt~3.offset, 8); {97319#true} is VALID [2022-04-08 15:15:31,663 INFO L272 TraceCheckUtils]: 75: Hoare triple {97319#true} call #t~ret109 := IofCallDriver(#t~mem108.base, #t~mem108.offset, ~Irp.base, ~Irp.offset); {97500#(and (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~lowerDriverReturn~0 |old(~lowerDriverReturn~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:15:31,663 INFO L290 TraceCheckUtils]: 76: Hoare triple {97500#(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; {97319#true} is VALID [2022-04-08 15:15:31,663 INFO L290 TraceCheckUtils]: 77: Hoare triple {97319#true} assume 0 != ~compRegistered~0; {97319#true} is VALID [2022-04-08 15:15:31,664 INFO L272 TraceCheckUtils]: 78: Hoare triple {97319#true} call #t~ret196 := KbFilter_Complete(~DeviceObject.base, ~DeviceObject.offset, ~Irp.base, ~Irp.offset, ~lcontext~0.base, ~lcontext~0.offset); {97512#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:15:31,664 INFO L290 TraceCheckUtils]: 79: Hoare triple {97512#(= ~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; {97319#true} is VALID [2022-04-08 15:15:31,665 INFO L272 TraceCheckUtils]: 80: Hoare triple {97319#true} call #t~ret35 := KeSetEvent(~event~0.base, ~event~0.offset, 0, 0); {97512#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} is VALID [2022-04-08 15:15:31,665 INFO L290 TraceCheckUtils]: 81: Hoare triple {97512#(= ~setEventCalled~0 |old(~setEventCalled~0)|)} ~Event.base, ~Event.offset := #in~Event.base, #in~Event.offset;~Increment := #in~Increment;~Wait := #in~Wait;assume -9223372036854775808 <= #t~nondet199 && #t~nondet199 <= 9223372036854775807;~l~0 := #t~nondet199;havoc #t~nondet199;~setEventCalled~0 := 1;#res := ~l~0; {97319#true} is VALID [2022-04-08 15:15:31,665 INFO L290 TraceCheckUtils]: 82: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,665 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {97319#true} {97319#true} #1174#return; {97319#true} is VALID [2022-04-08 15:15:31,665 INFO L290 TraceCheckUtils]: 84: Hoare triple {97319#true} assume -9223372036854775808 <= #t~ret35 && #t~ret35 <= 9223372036854775807;havoc #t~ret35;#res := -1073741802; {97319#true} is VALID [2022-04-08 15:15:31,665 INFO L290 TraceCheckUtils]: 85: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,665 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {97319#true} {97319#true} #1210#return; {97319#true} is VALID [2022-04-08 15:15:31,665 INFO L290 TraceCheckUtils]: 87: Hoare triple {97319#true} assume -9223372036854775808 <= #t~ret196 && #t~ret196 <= 9223372036854775807;~tmp~10 := #t~ret196;havoc #t~ret196;~compRetStatus~0 := (if ~tmp~10 % 4294967296 <= 2147483647 then ~tmp~10 % 4294967296 else ~tmp~10 % 4294967296 - 4294967296); {97319#true} is VALID [2022-04-08 15:15:31,665 INFO L290 TraceCheckUtils]: 88: Hoare triple {97319#true} assume -1073741802 == ~compRetStatus~0; {97319#true} is VALID [2022-04-08 15:15:31,665 INFO L272 TraceCheckUtils]: 89: Hoare triple {97319#true} call stubMoreProcessingRequired(); {97516#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:15:31,665 INFO L290 TraceCheckUtils]: 90: Hoare triple {97516#(= ~s~0 |old(~s~0)|)} assume ~s~0 == ~NP~0;~s~0 := ~MPR1~0; {97319#true} is VALID [2022-04-08 15:15:31,665 INFO L290 TraceCheckUtils]: 91: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,665 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {97319#true} {97319#true} #1212#return; {97319#true} is VALID [2022-04-08 15:15:31,666 INFO L290 TraceCheckUtils]: 93: Hoare triple {97319#true} assume !(0 == ~__BLAST_NONDET~11); {97319#true} is VALID [2022-04-08 15:15:31,666 INFO L290 TraceCheckUtils]: 94: Hoare triple {97319#true} assume !(1 == ~__BLAST_NONDET~11); {97319#true} is VALID [2022-04-08 15:15:31,666 INFO L290 TraceCheckUtils]: 95: Hoare triple {97319#true} ~returnVal2~0 := 259; {97319#true} is VALID [2022-04-08 15:15:31,666 INFO L290 TraceCheckUtils]: 96: Hoare triple {97319#true} assume !(~s~0 == ~NP~0); {97319#true} is VALID [2022-04-08 15:15:31,666 INFO L290 TraceCheckUtils]: 97: Hoare triple {97319#true} assume ~s~0 == ~MPR1~0; {97319#true} is VALID [2022-04-08 15:15:31,666 INFO L290 TraceCheckUtils]: 98: Hoare triple {97319#true} assume 259 == ~returnVal2~0;~s~0 := ~MPR3~0;~lowerDriverReturn~0 := (if ~returnVal2~0 % 4294967296 <= 2147483647 then ~returnVal2~0 % 4294967296 else ~returnVal2~0 % 4294967296 - 4294967296); {97319#true} is VALID [2022-04-08 15:15:31,666 INFO L290 TraceCheckUtils]: 99: Hoare triple {97319#true} #res := ~returnVal2~0; {97319#true} is VALID [2022-04-08 15:15:31,666 INFO L290 TraceCheckUtils]: 100: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,666 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {97319#true} {97319#true} #1192#return; {97319#true} is VALID [2022-04-08 15:15:31,666 INFO L290 TraceCheckUtils]: 102: Hoare triple {97319#true} assume -9223372036854775808 <= #t~ret109 && #t~ret109 <= 9223372036854775807;~status~3 := #t~ret109;havoc #t~mem108.base, #t~mem108.offset;havoc #t~ret109; {97319#true} is VALID [2022-04-08 15:15:31,666 INFO L290 TraceCheckUtils]: 103: Hoare triple {97319#true} assume 259 == ~status~3; {97319#true} is VALID [2022-04-08 15:15:31,672 INFO L272 TraceCheckUtils]: 104: Hoare triple {97319#true} call #t~ret110 := KeWaitForSingleObject(~#event~1.base, ~#event~1.offset, 0, 0, 0, 0, 0); {97517#(and (= |old(~customIrp~0)| ~customIrp~0) (= ~setEventCalled~0 |old(~setEventCalled~0)|) (= ~s~0 |old(~s~0)|))} is VALID [2022-04-08 15:15:31,672 INFO L290 TraceCheckUtils]: 105: Hoare triple {97517#(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; {97319#true} is VALID [2022-04-08 15:15:31,672 INFO L290 TraceCheckUtils]: 106: Hoare triple {97319#true} assume ~s~0 == ~MPR3~0; {97319#true} is VALID [2022-04-08 15:15:31,672 INFO L290 TraceCheckUtils]: 107: Hoare triple {97319#true} assume 1 == ~setEventCalled~0;~s~0 := ~NP~0;~setEventCalled~0 := 0; {97319#true} is VALID [2022-04-08 15:15:31,672 INFO L290 TraceCheckUtils]: 108: Hoare triple {97319#true} assume 0 == ~__BLAST_NONDET~13; {97319#true} is VALID [2022-04-08 15:15:31,672 INFO L290 TraceCheckUtils]: 109: Hoare triple {97319#true} #res := 0; {97319#true} is VALID [2022-04-08 15:15:31,672 INFO L290 TraceCheckUtils]: 110: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,672 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {97319#true} {97319#true} #1194#return; {97319#true} is VALID [2022-04-08 15:15:31,672 INFO L290 TraceCheckUtils]: 112: Hoare triple {97319#true} assume -9223372036854775808 <= #t~ret110 && #t~ret110 <= 9223372036854775807;havoc #t~ret110; {97319#true} is VALID [2022-04-08 15:15:31,672 INFO L290 TraceCheckUtils]: 113: Hoare triple {97319#true} assume ~status~3 >= 0; {97319#true} is VALID [2022-04-08 15:15:31,672 INFO L290 TraceCheckUtils]: 114: Hoare triple {97319#true} assume !(~myStatus~0 >= 0); {97319#true} is VALID [2022-04-08 15:15:31,672 INFO L290 TraceCheckUtils]: 115: Hoare triple {97319#true} call write~int(~status~3, ~Irp.base, 44 + ~Irp.offset, 8);~myStatus~0 := (if ~status~3 % 4294967296 <= 2147483647 then ~status~3 % 4294967296 else ~status~3 % 4294967296 - 4294967296);call write~int(0, ~Irp.base, 52 + ~Irp.offset, 8); {97319#true} is VALID [2022-04-08 15:15:31,673 INFO L272 TraceCheckUtils]: 116: Hoare triple {97319#true} call IofCompleteRequest(~Irp.base, ~Irp.offset, 0); {97516#(= ~s~0 |old(~s~0)|)} is VALID [2022-04-08 15:15:31,673 INFO L290 TraceCheckUtils]: 117: Hoare triple {97516#(= ~s~0 |old(~s~0)|)} ~Irp.base, ~Irp.offset := #in~Irp.base, #in~Irp.offset;~PriorityBoost := #in~PriorityBoost; {97319#true} is VALID [2022-04-08 15:15:31,673 INFO L290 TraceCheckUtils]: 118: Hoare triple {97319#true} assume ~s~0 == ~NP~0;~s~0 := ~DC~0; {97319#true} is VALID [2022-04-08 15:15:31,673 INFO L290 TraceCheckUtils]: 119: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,673 INFO L284 TraceCheckUtils]: 120: Hoare quadruple {97319#true} {97319#true} #1196#return; {97319#true} is VALID [2022-04-08 15:15:31,673 INFO L290 TraceCheckUtils]: 121: Hoare triple {97319#true} #res := ~status~3;call ULTIMATE.dealloc(~#event~1.base, ~#event~1.offset);havoc ~#event~1.base, ~#event~1.offset; {97319#true} is VALID [2022-04-08 15:15:31,673 INFO L290 TraceCheckUtils]: 122: Hoare triple {97319#true} assume true; {97319#true} is VALID [2022-04-08 15:15:31,673 INFO L284 TraceCheckUtils]: 123: Hoare quadruple {97319#true} {97320#false} #1230#return; {97320#false} is VALID [2022-04-08 15:15:31,673 INFO L290 TraceCheckUtils]: 124: Hoare triple {97320#false} assume -9223372036854775808 <= #t~ret174 && #t~ret174 <= 9223372036854775807;~status~5 := #t~ret174;havoc #t~ret174; {97320#false} is VALID [2022-04-08 15:15:31,673 INFO L290 TraceCheckUtils]: 125: Hoare triple {97320#false} assume 0 != ~we_should_unload~0; {97320#false} is VALID [2022-04-08 15:15:31,673 INFO L290 TraceCheckUtils]: 126: Hoare triple {97320#false} assume !(1 == ~pended~0); {97320#false} is VALID [2022-04-08 15:15:31,673 INFO L290 TraceCheckUtils]: 127: Hoare triple {97320#false} assume !(1 == ~pended~0); {97320#false} is VALID [2022-04-08 15:15:31,673 INFO L290 TraceCheckUtils]: 128: Hoare triple {97320#false} assume !(~s~0 == ~UNLOADED~0); {97320#false} is VALID [2022-04-08 15:15:31,673 INFO L290 TraceCheckUtils]: 129: Hoare triple {97320#false} assume !(-1 == ~status~5); {97320#false} is VALID [2022-04-08 15:15:31,673 INFO L290 TraceCheckUtils]: 130: Hoare triple {97320#false} assume ~s~0 != ~SKIP2~0; {97320#false} is VALID [2022-04-08 15:15:31,673 INFO L290 TraceCheckUtils]: 131: Hoare triple {97320#false} assume ~s~0 != ~IPC~0; {97320#false} is VALID [2022-04-08 15:15:31,673 INFO L290 TraceCheckUtils]: 132: Hoare triple {97320#false} assume !(~s~0 != ~DC~0); {97320#false} is VALID [2022-04-08 15:15:31,674 INFO L290 TraceCheckUtils]: 133: Hoare triple {97320#false} assume !(1 == ~pended~0); {97320#false} is VALID [2022-04-08 15:15:31,674 INFO L290 TraceCheckUtils]: 134: Hoare triple {97320#false} assume ~s~0 == ~DC~0; {97320#false} is VALID [2022-04-08 15:15:31,674 INFO L290 TraceCheckUtils]: 135: Hoare triple {97320#false} assume 259 == ~status~5; {97320#false} is VALID [2022-04-08 15:15:31,674 INFO L272 TraceCheckUtils]: 136: Hoare triple {97320#false} call errorFn(); {97320#false} is VALID [2022-04-08 15:15:31,674 INFO L290 TraceCheckUtils]: 137: Hoare triple {97320#false} assume !false; {97320#false} is VALID [2022-04-08 15:15:31,674 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 15:15:31,674 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 15:15:31,674 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [277947609] [2022-04-08 15:15:31,674 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [277947609] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 15:15:31,674 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1593065513] [2022-04-08 15:15:31,674 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 15:15:31,674 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 15:15:31,675 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 15:15:31,675 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 15:15:31,676 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process